dhcpcd-discuss

IPV6 IA_PD multiple prefixes and SLA 0

Ron Angeles

Sat Jul 04 18:28:14 2015

Hi,

I am currently using dhcpcd to delegate two prefixes to two interfaces on the other side of my router. However, the math doesn't seem to add up for me. The relevant config is as follows:

----
allowinterfaces eth0 eth1.10 eth1.11

noipv4ll
noipv6rs
nodhcp
nodhcp6

interface eth1.10
iaid 10

interface eth1.11
iaid 11

interface eth0
ipv6rs
dhcp
dhcp6
ia_pd 1/::/63 eth1.10/0/64 eth1.11/1/64
----

Since I am requesting only two /64s, I figure that I naturally should only request a /63 from my ISP since it will be a perfect fit. However, delegating this to my interfaces seems to hit a snag.

----
dhcpcd[5164]: eth0: cannot assign multiple prefixes with a SLA of 0
dhcpcd[5164]: eth0: IAID f6:00:00:00
dhcpcd[5164]: eth0: IAID 00:00:00:01
dhcpcd[5164]: eth0: soliciting a DHCPv6 lease
dhcpcd[5164]: eth0: soliciting a DHCP lease
dhcpcd[5164]: eth0: soliciting an IPv6 router
dhcpcd[5164]: eth0: Router Advertisement from fe80::##:9e46
dhcpcd[5164]: eth0: ignoring RA from fe80::##:9e46 (no public prefix, no managed address)
dhcpcd[5164]: eth0: offered ##.##.252.17 from ##.##.97.6
dhcpcd[5164]: eth0: leased ##.##.252.17 for 3600 seconds
dhcpcd[5164]: eth0: adding route to ##.##.248.0/21
dhcpcd[5164]: eth0: adding default route via ##.##.248.1
dhcpcd[5164]: eth0: removing route to ##.##.248.0/21
dhcpcd[5164]: eth0: ADV ::/63 from fe80::##:9e46
dhcpcd[5164]: eth0: REPLY6 received from fe80::##:9e46
dhcpcd[5164]: eth0: applying ignored RA from fe80::##:9e46
dhcpcd[5164]: eth1.10: adding address ##:##:##:c2::1/64
dhcpcd[5164]: eth0: renew in 172800 seconds, rebind in 276480 seconds
dhcpcd[5164]: eth0: adding default route via fe80::##:9e46
dhcpcd[5164]: eth1.10: adding route to ##:##:##:c2::/64
dhcpcd[5164]: eth0: removing default route via fe80::##:9e46
dhcpcd[5164]: eth0: adding default route via fe80::##:9e46
----

I noticed the error message about "SLA of 0" and that eth1.11 does not get a prefix assigned to it. So I ended up modifying the relevant ia_pd line to as follows:

----
ia_pd 1/::/63 eth1.10/1/64 eth1.11/2/64
----

However, this time the /63 gets exhausted when trying to delegate out prefixes to my interfaces:

----
dhcpcd[15040]: eth0: IAID f6:00:00:00
dhcpcd[15040]: eth0: IAID 00:00:00:01
dhcpcd[15040]: eth0: rebinding prior DHCPv6 lease
dhcpcd[15040]: eth1.10: IAID 00:00:00:0a
dhcpcd[15040]: eth1.11: IAID 00:00:00:0b
dhcpcd[15040]: eth0: rebinding lease of ##.##.252.17
dhcpcd[15040]: eth0: leased ##.##.252.17 for 2282 seconds
dhcpcd[15040]: eth0: changing route to ##.##.248.0/21
dhcpcd[15040]: eth0: changing default route via ##.##.248.1
dhcpcd[15040]: forked to background, child pid 15073
dhcpcd[15073]: eth0: REPLY6 received from fe80::##:9e46
dhcpcd[15073]: eth1.10: adding address ##:##:##:c3::1/64
dhcpcd[15073]: eth1.11: invalid prefix ##:##:##:c2::/63 + 2/64: Numerical result out of range
dhcpcd[15073]: eth0: renew in 172181 seconds, rebind in 275490 seconds
dhcpcd[15073]: eth0: adding reject route to ##:##:##:c2::/63 via ::1
dhcpcd[15073]: eth1.10: adding route to ##:##:##:c3::/64
----

I must be missing something with my configuration, but it seems to me that I am effectively restricted from reusing the first /64 of any requested prefix. This in turn means that requesting a /63 prefix is the equivalent of requesting a /64.

As a workaround, I have since requested a /62 from my ISP since I can use two of the three usable /64's.


-Ron

Follow-Ups:
Re: IPV6 IA_PD multiple prefixes and SLA 0Roy Marples
Archive administrator: postmaster@marples.name