Project

General

Profile

Actions

Bug #11005

closed

IPv6 Prefix Delegation not requested if no interfaces set to track6

Added by Chris Linstruth about 4 years ago. Updated about 4 years ago.

Status:
Closed
Priority:
Normal
Category:
DHCP (IPv6)
Target version:
Start date:
10/24/2020
Due date:
% Done:

100%

Estimated time:
Plus Target Version:
Release Notes:
Affected Version:
Affected Architecture:

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;
    };
};
Actions #1

Updated by Jim Pingle about 4 years ago

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.

Actions #2

Updated by Renato Botelho about 4 years ago

  • 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

Actions #3

Updated by Chris Linstruth about 4 years ago

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.

Actions #4

Updated by Chris Linstruth about 4 years ago

  • 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;
};
Actions #5

Updated by Jim Pingle about 4 years ago

  • Category set to DHCP (IPv6)
Actions #6

Updated by Renato Botelho about 4 years ago

  • Assignee set to Renato Botelho
  • Target version set to 2.5.0

Resolved now.

Actions #7

Updated by Renato Botelho about 4 years ago

  • % Done changed from 0 to 100
Actions #8

Updated by Chris Linstruth about 4 years ago

  • 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.

Actions #9

Updated by Chris Linstruth about 4 years ago

  • Subject changed from PD not requested if no interfaces set to track6 to IPv6 Prefix Delegation not requested if no interfaces set to track6
Actions #10

Updated by Chris Linstruth about 4 years ago

  • % Done changed from 0 to 100
Actions #11

Updated by Chris Linstruth about 4 years ago

  • Assignee changed from Chris Linstruth to Renato Botelho
Actions

Also available in: Atom PDF