[Dnsmasq-discuss] DHCPv6 ULA & Global address allocation & Apple devices

Kevin Darbyshire-Bryant kevin at darbyshire-bryant.me.uk
Mon Nov 21 15:52:47 GMT 2016


I've got some packet captures now that have helped answer some of the 
questions.

1) The DHCPADVERTISE in the log are included in just one packet.

2) The solicits from my ipad and the advertises are identical except 
dnsmasq presents the ULA address first whereas odhcpd presents the 
global address first.  Both ULA & global are included, just the order 
gets swapped.

3) The ipad requests the IPv6 address presented first in the solicit. 
So for odhcpd it requests global, whereas for dnsmasq it requests ULA.

4) dnsmasq replies with and only with the requested address (ULA) in 
this case.   odhcpd replies with both global and ULA addresses.


A few questions result:

1) Should dnsmasq reply with all available dhcpv6 ranges even if one 
specific address only is requested, like odhcpd?

2) Should dnsmasq re-order its replies in the solicits to present global 
first?

3) Is Apple wrong?


Help! :-)


Kevin


PS: As a total hack, I got dnsmasq to ignore any requested addresses. 
Dnsmasq replies with both ULA & Global addresses in the reply...and my 
iPad is happy...it takes the global address.




--- a/src/rfc3315.c
+++ b/src/rfc3315.c
@@ -867,13 +867,10 @@ static int dhcp6_no_relay(struct state *
              if (!check_ia(state, opt, &ia_end, &ia_option))
                continue;

-            if (!ia_option)
-              {
                  /* If we get a request with a IA_*A without addresses, 
treat it exactly like
                     a SOLICT with rapid commit set. */
                  save_counter(start);
                  goto request_no_address;
-              }

             o = build_ia(state, &t1cntr);






More information about the Dnsmasq-discuss mailing list