lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lwip-users] lwIP Windows implementation


From: box
Subject: Re: [lwip-users] lwIP Windows implementation
Date: Tue, 20 Sep 2011 15:24:11 +0100
User-agent: RoundCube Webmail/0.4

> Gisle Vanem <address@hidden> wrote:
> > > I've ported lwIP on Windows
> There's already a win32 port for lwIP in the contrib module. Is there 
> anything > wrong with that port or why did you create your own port?
 
a) I was not aware of an existing port (yes I've look at it now)
b) As this is a clean room implementation, my solution is quite
different from yours. My mailbox implementation, for example, is
avoiding using kernel object is something is ready to read.

> > I've read it briefly and looked at some of your src-code. TapWin32.cpp
> > uses OpenVPN's tap-driver instead of WinPcap. I fail to see the advantage
> > of this.
> Yep.
> > If there really is one or is it just another way of getting to the
> > link-layer?

This is, I think, quite superior than the WinPcap driver. The TAP is
real interface for Windows that is assuming that it is talking to a
real network. The "Network Bridge" will correctly switch the packet
based on there physical address. This could be improved by adding a
spawning tree support in the link layer. Also, this is designed for
actual use and not dev, so the IO are fully asynchrone. The main issue
is that we have a lot of user/kernel switches as the TAP interface
don't have filter capacity (AFAIK).
 
> > And how does all this "work around Windows TCP/IP stack limitation" for an
> > arbitrary program like nmap?
 
Once started, the program is really seen on the network as a full
physical host like an independent computer. The limitation of Winsock
are irrelevant as we bypass it completly. This is impressive to see
your fake Ethernet MAC populating ARP list of computer around yours.
 
Laurent




reply via email to

[Prev in Thread] Current Thread [Next in Thread]