Bug #11005
closed
IPv6 Prefix Delegation not requested if no interfaces set to track6
Added by Chris Linstruth almost 4 years ago.
Updated almost 4 years ago.
Description
Like #4544.
It appears that the bits to request a PD from upstream are not placed into /var/etc/dhcp6c_wan.conf unless the WAN is configured for DHCP6 with a PD and there is at least one interface set to track6.
With WAN set to DHCP6 and a /56 PD but without an interface set to track6:
interface vtnet1 {
send ia-na 0; # request stateful address
send ia-pd 0; # request prefix delegation
request domain-name-servers;
request domain-name;
script "/var/etc/dhcp6c_wan_script.sh"; # we'd like some nameservers please
};
id-assoc na 0 { };
With WAN set to DHCP6 and a /56 PD and an interface set to track6:
interface vtnet1 {
send ia-na 0; # request stateful address
send ia-pd 0; # request prefix delegation
request domain-name-servers;
request domain-name;
script "/var/etc/dhcp6c_wan_script.sh"; # we'd like some nameservers please
};
id-assoc na 0 { };
id-assoc pd 0 {
prefix ::/56 infinity;
prefix-interface vtnet0 {
sla-id 0;
sla-len 8;
};
};
It could be changed again but what's the point of requesting a PD if nothing can use it? The DHCPv6 client won't do anything with the prefix if it isn't used on a track interface, and we don't have any code that is capable of using the PD prefix(es) outside of interface assignment yet.
- Status changed from New to Feedback
- Assignee set to Chris Linstruth
- Target version set to 2.5.0
It should be fixed after reverting #4544
Thanks. I'll check the next build.
It could be changed again but what's the point of requesting a PD if nothing can use it? The DHCPv6 client won't do anything with the prefix if it isn't used on a track interface, and we don't have any code that is capable of using the PD prefix(es) outside of interface assignment yet.
Things can use it. The logs can be checked to get the current PD and it can be assigned to things like OpenVPN, statically to interfaces, a PD in the DHCPv6 server, routed downstream, etc. As long as it is requested and routed it can be used. Everything but the interfaces have to be manually updated if the PD changes anyway. No reason to burn a /64 on the firewall just to trigger the PD when it is not necessary.
- Category deleted (
DHCP (IPv6))
- Assignee deleted (
Chris Linstruth)
- Target version deleted (
2.5.0)
- Affected Architecture All added
This still does not work. Looking at that patch looks like the exact behavior I am describing was added again, checking to be sure there is at least one tracked interface before adding the PD bits. I am not sure why that was not working before but the PD code was definitely not added to the conf file in that case.
This is what is currently installed as dhcp6c_wan.comf with a PD and one track interface set:
interface vtnet1 {
send ia-na 0; # request stateful address
send ia-pd 0; # request prefix delegation
request domain-name-servers;
request domain-name;
script "/var/etc/dhcp6c_wan_script.sh"; # we'd like some nameservers please
};
id-assoc na 0 { };
id-assoc pd 0 {
prefix ::/56 infinity;
prefix-interface vtnet0 {
sla-id 0;
sla-len 8;
};
};
With the PD configured on WAN and no interfaces set to track I think we need something like:
interface vtnet1 {
send ia-na 0; # request stateful address
send ia-pd 0; # request prefix delegation
request domain-name-servers;
request domain-name;
script "/var/etc/dhcp6c_wan_script.sh"; # we'd like some nameservers please
};
id-assoc na 0 { };
id-assoc pd 0 {
prefix ::/56 infinity;
};
- Category set to DHCP (IPv6)
- Assignee set to Renato Botelho
- Target version set to 2.5.0
- % Done changed from 0 to 100
- Status changed from Feedback to Closed
- Assignee changed from Renato Botelho to Chris Linstruth
- % Done changed from 100 to 0
- Affected Architecture deleted (
All)
This seems to work great now. Thank you.
- Subject changed from PD not requested if no interfaces set to track6 to IPv6 Prefix Delegation not requested if no interfaces set to track6
- % Done changed from 0 to 100
- Assignee changed from Chris Linstruth to Renato Botelho
Also available in: Atom
PDF