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
Archive administrator: postmaster@marples.name