directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Damjan Jovanovic" <damjan....@gmail.com>
Subject Re: DHCP protocol
Date Mon, 25 Feb 2008 14:12:20 GMT
On Mon, Feb 25, 2008 at 4:05 PM, Jörg Henne <j.henne@levigo.de> wrote:
> Damjan Jovanovic wrote:
>  > Well I've thought about it, and...
>  >
>  > Raw sockets are a nightmare - too platform-specific, quirky,
>  > inefficient (you get many packets you don't need to see) and require
>  > root access. But, it's the only way to unicast to a particular MAC
>  > address like the RFC says we should in some cases.
>  >
>  Raw sockets (for example using RockSaw:
>  http://www.savarese.org/software/rocksaw/) is something we considered.
>  Wrapped in a corresponding MINA transport implementation this might not
>  be too bad after all.
>
> > Moving on - SO_BINDTODEVICE is also platform-specific and seems a bit
>  > of a hack (it changes how routing is done). Plus you need a socket per
>  > interface, which means you use more sockets, and if network interfaces
>  > are created or destroyed while the DHCP server is running it has to
>  > deal with it.
>  >
>  That is correct.
>
> > Using recvmsg() seems nice, it's only 1 socket, and it tells you where
>  > the packet came from.
>  >
>  I didn't find a corresponding implementation of recvmsg() for Windows.

WSARecvMsg.

>  There is one more option: going not after the socket layer, but even one
>  layer below using a packet capture interface (which, contrary to its
>  name, can also inject arbitrary packets), e.g. as supported by this:
>  http://netresearch.ics.uci.edu/kfujii/jpcap/doc/
>  A disadvantage is that it requires an installed PCAP driver.
>
> > Little hope? When last I checked, Sun was accepting patches to Java :-).
>  >
>  > I've mailed the appropriate mailing list and offered to patch
>  > DatagramPacket and co to provide the packet's destination address and
>  > the NetworkInterface it came through, and they've sent me some
>  > preliminary code I can carry on from. So, luck witholding, it will
>  > make it into not just Java 7, but maybe even some of the prerelease
>  > builds.
>  >
>  That sounds rather brilliant. Is this a cross-platform solution which
>  also works on Windows?

Windows >= XP.

>
>  > The bigbang branch seems much further ahead than trunk, I'm not sure
>  > there is much for me to do any more.
>  >
>  Don't worry - there is :-)
>  The code on the trunk contains a proof-of-concept DHCP server
>  implementation only. There is no functionality to look up clients from
>  the directory, no configuration, no state (lease) management etc.
>
>  Joerg Henne
>
>  PS.: I'll treat myself to a week of holidays, so I won't be able to take
>  part in the discussion over the next days, I'm afraid.

Enjoy your holiday.

Bye
Damjan

Mime
View raw message