[Dnsmasq-discuss] rfc3527 support

Takayuki Kaiso tkaiso2 at thinktube.com
Tue May 10 06:47:22 BST 2011


Hi Simon

   Thank you.
   I did the test with dnsmasq-2.58test8, which gave me the URL and
   got the following problem with DHCPREQUEST.

Mar  4 21:23:17 RMRZOO-81 daemon.info dnsmasq-dhcp[19120]: DHCPDISCOVER(wlan1) 00:1e:52:ab:77:fd
Mar  4 21:23:17 RMRZOO-81 daemon.info dnsmasq-dhcp[19120]: DHCPOFFER(wlan1) 192.168.5.161 00:1e:52:ab:77:fd
Mar  4 21:23:18 RMRZOO-81 daemon.info dnsmasq-dhcp[19120]: DHCPREQUEST(wlan1) 192.168.5.161 00:1e:52:ab:77:fd
Mar  4 21:23:18 RMRZOO-81 daemon.info dnsmasq-dhcp[19120]: DHCPNAK(wlan1) 192.168.5.161 00:1e:52:ab:77:fd wrong network
Mar  4 21:23:18 RMRZOO-81 daemon.info dnsmasq-dhcp[19120]: DHCPREQUEST(wlan1) 192.168.5.161 00:1e:52:ab:77:fd
Mar  4 21:23:18 RMRZOO-81 daemon.info dnsmasq-dhcp[19120]: DHCPNAK(wlan1) 192.168.5.161 00:1e:52:ab:77:fd wrong network

   As long as I saw the source code, (after line 1100 in rfc2131.c) ,
   it checks the validity of DHCPREQUEST with "context", but it failed
   because we still did not update target context in complete_context().

   Just for making sure of my thought,  I added the following two lines temporarily where
   context->local is updated with fallback and did the same test again.
   then, it worked  and got DHCPACK.

    ------------------------------------------------------------
     case DHCPREQUEST:

+      backup_context_local = context->local;
+      context->local = fallback ;


       if (ignore || have_config(config, CONFIG_DISABLE))
     return 0;

     ..........
     ..........
+ context->local = backup_context_local ;   /* really necessay ? */

    ------------------------------------------------------


   I do not think this temporary update can be a clean solution, but
   this is what came up to my mind to complete "fallback" solution
   as you are now taking.

   Simon, I think your codes has so much dependency on "context" objects and
   stand on the assumption "context".  correct ?

Thanks,
Takayuki Kaiso

   P.S.
   When a DHCP server has more than one interfaces from which DHCP packets
   come in, single context should have multiple "local" addresses corresponding to
   each interface.



More information about the Dnsmasq-discuss mailing list