24 January 2013, 22:24 | #1 |
Registered User
Join Date: Jan 2013
Location: Hong Kong, SAR
Posts: 28
|
SLiRP (user mode nat)
Also, have you thought about using SLiRP from Qemu with the ethernet? I'td be handy for people without winpcap .. .esp wifi users or people using Wine...
Years ago I integrated it into SIMH and it wasn't too painful.. I guess just a thought. |
25 January 2013, 08:20 | #2 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,534
|
I don't think it will work, A2065 emulation needs Ethernet level access (not IP), it needs to send and receive raw ethernet frames.
Last edited by Toni Wilen; 25 January 2013 at 12:45. Reason: packets -> frames |
25 January 2013, 13:52 | #3 | |
Registered User
Join Date: Jan 2013
Location: Hong Kong, SAR
Posts: 28
|
Quote:
Years ago I patched in the Qemu SLiRP code with SIMH's VAX 11-780 which also was pcap based, and it worked, much to my amazement... I'm not near my 'main machine' as I'm on the road so if I had proper compiler access I'd just do it, but it wasn't too involved.. just some init function, you pass a frame to it, then another to poll to see if it it has a frame for you, which you pass back in.. Considering SIMH was written with DecNET in mind, I was pleasantly surprised to get 4.3 BSD running strictly user-mode with the ability to telnet in & irc out... |
|
25 January 2013, 13:57 | #4 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,534
|
Point to some up to date documentation, first few hits I found talked about IP and not being able to support ICMP which is is quite far from ethernet
EDIT: I am extremely lazy and I'll expect to get correct information from first few hits or it is considered not worth the trouble. |
25 January 2013, 16:20 | #5 | |
Registered User
Join Date: Jan 2013
Location: Hong Kong, SAR
Posts: 28
|
Quote:
this is a bit .. terse to look at but... PHP Code:
https://sourceforge.net/projects/sim...pid=65835818-0 It may be easier for me to uh 'borrow' a friends machine.. and see if I can just hammer it together... What do you use to build WinUAE compiler wise? |
|
25 January 2013, 16:35 | #6 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,534
|
I don't want to see any code yet, I want to see how it works, depencies, restrictions etc.
EDIT: Does it "emulate" ethernet and convert known ethernet frames to/from IP packets? I can't really see any other ways to make it work without kernel driver. Last edited by Toni Wilen; 25 January 2013 at 16:52. |
26 January 2013, 10:24 | #7 | ||
Registered User
Join Date: Jan 2013
Location: Hong Kong, SAR
Posts: 28
|
Quote:
The source was pulled from FreeBSD from what I recall, the tcpip stack was re-compiled in a way that it can stand on its own, and as it nat's it opens connections through the hosts tcpip stack. The joy being that you don't need any kernel driver installed on the host, and you don't need any special 'bsdsockets' type shim, instead your virtual ethernet card just feeds the frames to slirp, and it works it out from there. It is part of Qemu if you invoke: Quote:
Oh yeah the biggest thing I've found is that Visual C++ will compile it, but it doesn't work correctly for some reason. GCC builds it OK. I've compiled it on Linux/BSD and MinGW. |
||
31 January 2013, 16:31 | #8 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,534
|
Now that 040/060 MMU emulation is finally starting to work, I may have time to do work with this..
Unfortunately I am still not sure how to integrate this with WinUAE. (I always hate code that is taken from somewhere else and never meant to be used by any one else = weird requirements and no examples) 1) How to initialize it? (Anything else needed?) 2) I have one ethernet frame transmitted by emulated NIC, what function to call with the packet as a parameter? (and same when receiving) 3) Does it "just work" or does it need some extra function calls or something? What does "Does not work correctly" mean? ADDED: License is original BSD (has advertising clause) = it is not GPL compatible. ADDED2: There appears to be newer version that is GPL compatible. Lets see.. Last edited by Toni Wilen; 12 February 2013 at 13:53. |
17 May 2013, 19:48 | #9 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,534
|
2.6.0 is out, time for other things again..
Unfortunately qemu slirp has external dependencies (qemu specific stuff) and is gcc-only but does not have GPL-incompatible bsd advertising clause. It won't be trivial task. I need simple and GPL compatible version, thanks |
21 June 2013, 16:38 | #10 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,534
|
Some progress. Basilisk II slirp seems to be much more portable than current qemu slirp, both also have "fixed" licensing, bsd advertising clause is gone (original authors were asked if changing license is allowed and they agreed).
EDIT: It seems to work. ICMP (ping) can't work but at least TCP and UDP appears to work. Last edited by Toni Wilen; 22 June 2013 at 16:05. |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
slirp network emulation backend | Toni Wilen | support.WinUAE | 27 | 28 February 2014 13:48 |
Another new user | rewoffl | Member Introductions | 1 | 30 August 2012 16:55 |
New user | digger909 | Member Introductions | 10 | 08 June 2009 19:33 |
NAT address | -Rob- | support.Other | 7 | 07 April 2008 00:06 |
'Warp Mode' broken in 'windowed mode' | NoX1911 | support.WinUAE | 3 | 26 May 2007 01:05 |
|
|