dhcpcd-discuss

Re: RC3 trouble?

Neal P. Murphy

Sat Nov 11 23:39:00 2017

On Sat, 11 Nov 2017 12:14:10 +0000
Roy Marples <roy@xxxxxxxxxxxx> wrote:

> On 07/11/2017 20:06, Roy Marples wrote:
> > On 07/11/2017 18:44, Neal P. Murphy wrote:  
> >> I will try HEAD tonight and test more thoroughly. And send more 
> >> detailed logs.  
> > 
> > Please do, but I suspect you'll have the same issue.
> > Please build dhcpcd on 3.4.109 headers or older.
> > I don't understand why the /128 address was added fine though .....  
> 
> Any update here? I'd like to release a new dhcpcd soon and ideally 
> without any known issues :)
> 
> Roy

Got things sorted out (at least somewhat). Using a pure, fresh 3.16.49 system, I fired up RC3 and got desired results:
  - /60 obtained
  - /64 assigned to each zone
  - a stop/start cycle gets the same /60
It seems to work. But one oddity: if there is an error, dhcpcd seeems to forget about an address it already assigned, and when dhcpcd is stopped (via -k), it doesn't remove that address.

I think one reason I specified iaids was due to an inconsistency among the specified, computed, used and reported iaids; another is that it's a firewall which really want consistent, repeatable results. So I had the conf writer ensure that the same iaids are used every time. I've had to use eth0's iaid with the previously delegated prefix in order for it to work. Should the following work?
----
interface eth0
iaid 4b:17:f2:7a

interface eth1
iaid 4b:17:f2:7b

interface eth2
iaid 4b:17:f2:7c

interface eth3
dhcp6
ipv6rs
iaid 4b:17:f2:7d
ia_na 4b:17:f2:7d
ia_pd 4b:17:f2:7d/::/60 eth0/1/64 eth1/2/64 eth2/3/64
----
Or do I fail to understand the use of iaid?


I will now build and test HEAD.

Neal





7.0.0-RC3 quick results
----
/usr/sbin/dhcpcd -6 -f /root/ipv6-testing/dhcpcd6.conf
dhcpcd-7.0.0-rc3 starting
eth3: if_disable_autolinklocal: Operation not supported
eth0: executing `/root/ipv6-testing/rc.update6red' PREINIT
eth0: executing `/root/ipv6-testing/rc.update6red' CARRIER
eth1: executing `/root/ipv6-testing/rc.update6red' PREINIT
eth1: executing `/root/ipv6-testing/rc.update6red' NOCARRIER
eth2: executing `/root/ipv6-testing/rc.update6red' PREINIT
eth2: executing `/root/ipv6-testing/rc.update6red' CARRIER
eth3: executing `/root/ipv6-testing/rc.update6red' PREINIT
eth3: executing `/root/ipv6-testing/rc.update6red' CARRIER
DUID 00:01:00:01:21:96:4c:d6:00:90:0b:17:f2:7d
eth0: IAID 0b:17:f2:7a
eth2: IAID 0b:17:f2:7c
eth3: IAID 0b:17:f2:7d
eth3: IAID 4b:17:f2:7d
eth3: IAID 00:00:00:01
eth3: delaying IPv6 router solicitation for 0.5 seconds
eth3: reading lease `/var/db/dhcpcd/eth3.lease6'
eth3: soliciting a DHCPv6 lease
eth3: delaying SOLICIT6 (xid 0x124e57), next in 0.1 seconds
eth1: waiting for carrier
eth3: broadcasting SOLICIT6 (xid 0x124e57), next in 1.0 seconds
eth3: soliciting an IPv6 router
eth3: sending Router Solicitation
eth3: broadcasting SOLICIT6 (xid 0x124e57), next in 1.9 seconds
eth3: Router Advertisement from fe80::201:5cff:fe8e:ea46
eth3: adding default route via fe80::201:5cff:fe8e:ea46
eth3: executing `/root/ipv6-testing/rc.update6red' ROUTERADVERT
eth3: broadcasting SOLICIT6 (xid 0x124e57), next in 3.9 seconds
eth3: ADV 2001:558:6036:65:349e:574d:ba59:e38b/128 from fe80::201:5cff:fe8e:ea46
eth3: broadcasting REQUEST6 (xid 0x644312), next in 1.1 seconds
eth3: accepted reconfigure key
eth3: REPLY6 received from fe80::201:5cff:fe8e:ea46
eth3: adding address 2001:558:6036:65:349e:574d:ba59:e38b/128
eth3: pltime 3600 seconds, vltime 3600 seconds
eth3: renew in 1800, rebind in 2880, expire in 3600 seconds
lo: adding reject route to 2601:5ca:4400:27d0::/60
eth3: writing lease `/var/db/dhcpcd/eth3.lease6'
eth3: delegated prefix 2601:5ca:4400:27d0::/60
eth0: adding address 2601:5ca:4400:27d1::1/64
eth0: pltime 3600 seconds, vltime 3600 seconds
eth0: waiting for DHCPv6 DAD to complete
eth2: adding address 2601:5ca:4400:27d3::1/64
eth2: pltime 3600 seconds, vltime 3600 seconds
eth2: waiting for DHCPv6 DAD to complete
eth1: has no carrier, cannot delegate addresses
eth0: adding route to 2601:5ca:4400:27d1::/64
eth2: adding route to 2601:5ca:4400:27d3::/64
eth3: waiting for DHCPv6 DAD to complete
eth2: DHCPv6 DAD completed
eth2: executing `/root/ipv6-testing/rc.update6red' DELEGATED6
eth3: Router Advertisement from fe80::201:5cff:fe8e:ea46
eth3: executing `/root/ipv6-testing/rc.update6red' ROUTERADVERT
eth3: DHCPv6 DAD completed
eth3: executing `/root/ipv6-testing/rc.update6red' BOUND6
..DHCP6 lease bound (BOUND6) and prefix delegated; update RED6 info
forking to background
forked to background, child pid 16380
----

'ip addr' shows:
----
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc htb state UP group default qlen 1000
    link/ether 00:90:0b:17:f2:7a brd ff:ff:ff:ff:ff:ff
    inet 10.20.30.1/24 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 2601:5ca:4400:27d1::1/64 scope global noprefixroute dynamic 
       valid_lft 3488sec preferred_lft 3488sec
    inet6 fe80::290:bff:fe17:f27a/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc htb state DOWN group default qlen 1000
    link/ether 00:90:0b:17:f2:7b brd ff:ff:ff:ff:ff:ff
    inet 10.21.30.1/24 scope global eth1
       valid_lft forever preferred_lft forever
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc htb state UP group default qlen 1000
    link/ether 00:90:0b:17:f2:7c brd ff:ff:ff:ff:ff:ff
    inet 10.22.30.1/24 scope global eth2
       valid_lft forever preferred_lft forever
    inet6 2601:5ca:4400:27d3::1/64 scope global noprefixroute dynamic 
       valid_lft 3488sec preferred_lft 3488sec
    inet6 fe80::290:bff:fe17:f27c/64 scope link 
       valid_lft forever preferred_lft forever
5: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc htb state UP group default qlen 1000
    link/ether 00:90:0b:17:f2:7d brd ff:ff:ff:ff:ff:ff
    inet 73.251.108.62/22 brd 255.255.255.255 scope global eth3
       valid_lft forever preferred_lft forever
    inet6 2601:5ca:4400:27d0::1/64 scope global 
       valid_lft forever preferred_lft forever
    inet6 2001:558:6036:65:349e:574d:ba59:e38b/128 scope global noprefixroute dynamic 
       valid_lft 3488sec preferred_lft 3488sec
    inet6 fe80::290:bff:fe17:f27d/64 scope link 
       valid_lft forever preferred_lft forever
----

References:
RC3 trouble?Neal P. Murphy
Re: RC3 trouble?Roy Marples
Re: RC3 trouble?Neal P. Murphy
Re: RC3 trouble?Roy Marples
Re: RC3 trouble?Roy Marples
Archive administrator: postmaster@marples.name