Hello,
Sorry for the late answer, was a bit busy.
> From: Denys Vlasenko
> Sent: Sunday, September 26, 2010 4:23 AM
> Cc: Vladislav Grishenko
> Subject: Re: dhcpc: microsoft classless static routes support
>
> On Tuesday 07 September 2010 19:02, Vladislav Grishenko wrote:
> > Hi all,
> >
> > We're using busybox for embedded linux routers firmware, and have
> > attached patch for years.
> > Microsoft was added 249 (0xF9) dhcp option in Windows XP/2003 clients
> > when there was no rfc3442 accepted.
> > So, supporting that option would be useful for soho networking scene.
> >
> > Need to say, 121 option have priority over 3 (router) and 33 (classful
> > static routes) and should be placed before them in request packet,
> > according rfc.
>
> I am not sure currently this will be enforced.
RFC insists on it, but a number of ISP doesn't respect this in practice.
> > If client supports both 121 and 249 options, it should request them
> > both,
>
> It's up to admin to use "ushcpc -O staticroutes -O msstaticroutes"
> to request both of them.
Sure, that parst (REQ) were a kind of args economy :)
> + { OPTION_IP | OPTION_LIST | OPTION_REQ, 0x21 }, /* DHCP_ROUTES
> */
>
> (1) This seems to be incorrect.
> Option 33 has pairs of IPs, thus it should be OPTION_IP_PAIR, not
> OPTION_IP.
Thnx, btw, I've never seen any so deeply broken dhcpd tho.
> (2) Why it is flagged with OPTION_REQ? "Just because we fell it's safer to do"
> or "we had problems without this flag" (which problems?)
We had a logical, not technical problems.
As it was mentioned above, 0x21 option used to get routes from old software or
hardware nat boxes.
> - { OPTION_STATIC_ROUTES , 0x79 }, /*
> DHCP_STATIC_ROUTES
> */
> + { OPTION_STATIC_ROUTES | OPTION_REQ, 0x79 }, /*
> DHCP_STATIC_ROUTES */
> + { OPTION_STATIC_ROUTES | OPTION_REQ, 0xf9 }, /*
> DHCP_MS_STATIC_ROUTES */
>
> (1) Are there material differences between 0x79 and 0xf9 or they are totally
> the same?
The main difference is 0x79 should replace 0x03 & 0x21, dhcp daemons should not
send 0x03 & 0x21 options, if they've seen 0x79.
It means 0x79 value could contain default gateway(s), so 0.0.0.0/0 net is ok.
Moreover it could contain 0.0.0.0 gateway as shortcut to the client interface
address itself.
0xf9 has the same format, but it never contains neither 0.0.0.0/0 nor 0.0.0.0
gateways, it has only complimentary usage.
Rfc says nothing, but de facto, windows modern clients (vista? Win7) ignores
0xf9 while 0x79 seen, older - windows xp ignores 0x79, but respects 0xf9.
> (2) Why they are flagged with OPTION_REQ?
Same as above. To not to specify -O.
> Applied with small changes:
> http://git.busybox.net/busybox/commit/?id=7d3a48a003cd645edfae2b4044
> 93688022b13193
Thanks a lot!
Best Regards, theMIROn
ICQ: 303357
Skype: the.miron
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox