Prefix delegation doesn't get requested



  • In short: I've got a setup with a pppeo WAN connection for ipv4. On that side all's fine. But the ipv6 side doesn't get a prefix delegation because the dhcp-pd process doesn't run at all.

    My ISP only routes my delegated subnet after a PD has properly been requested, so I currently have no ipv6 routing.

    The ipv6 setup uses the ipv4 connection for setup. It gets a link local adress and gateway. The gateway is pingable. So far all's good. But even though the settings call for a prefix delegation no prefix is delegated. If I run a tcpdump on the pppoe interface, I see the icmpv6 packets for the router advertisement, but non for the dhcp-pd.

    I tried setting the basic WAN settings (use ipv4 connectivity, request prefix only and prefix hint) and setting the LAN to track the WAN interface. But tcpdump showed no dhcp-pd packets and the LAN didn't get a PD based address.

    I also tried using the advanced WAN settings (send option IA-PD 0, request option domain-name-servers, request domain-name, prefix delegation checked, id-assoc pd ID 0, prefix ::/48, pl time infinity and sla-id 0, sla-len 16. Then tcpdum also shows no PD packets and no prefix gets delegated.

    My dhcp6c_wan.conf seems in order, it looks like this:

    interface pppoe0 {
    	send ia-pd 0;
    	request domain-name-servers;
    	request request domain-name;
    	script "/var/etc/dhcp6c_wan_script.sh";
    };
    id-assoc pd 0 {
    	prefix ::/48 infinity;
    	prefix-interface pppoe0 {
    		sla-id 0;
    		sla-len 16;
    	};
    };
    

    What could prevent the dhcp-pd packets to be sent? What can I do to investigate this further?



  • There is a bug report "Bug #5993 dhcp6c not started until an RA received" https://redmine.pfsense.org/issues/5993 that may be related to what you are experiencing. Pfsense doesn't attempt to start dhcp6c until after RA is received. Take a look and confirm that the RA has been received. If not, you might be experiencing the same problem.



  • I see RA's from the gateway and ping request and replies between my WAN and the upstream gateway. So, I don't think I've been bitten by this particular bug.



  • I tried starting the dhcp6c client on the WAN manually:

    /usr/local/sbin/dhcp6c -d  -c /var/etc/dhcp6c_wan.conf -p /var/run/dhcp6c_pppoe0.pid pppoe0
    

    It just fails silently; nothing on the cli, nothing in the system.log, just exit == 1

    It's called from /var/etc/rtsold_pppoe0_script.sh. That script logs a message. That message doesn't appear in system.log So, I think I can conclude that the rstold  script isn't even started.

    What could cause trsold not to be started?  ???



  • Turned out I had some typos in my dhcpv6 config after all the testing I'd done. Now starting dhcp6c manually works and ipv6 is up.