IPV6 DHCP Client not sending out solicit packets

My ISP provides both IPv4 and IPv6 over PPPoE. IPV4 works. IPv6 is obtained via dhcp. I am using an RB5009. I created a DHCP client, interface=pppoe, prefix 64, disabled rapid commit and default route, and named a pool.

It won’t work. In debug it says it is sending solicit packets to ff02::1:2, and keeps resending. I fired up the sniffer, and I see no icmpv6 solicit packets. I see solicit packets from other devices on other interfaces, but no solicits sent from the router through pppoe interface. Client keeps showing ‘searching…”

IPv6 is enabled, forward enabled, Accept Router Ads enabled. Firewall is not the problem, none of the drop counters are increasing (or any for that matter).

I checked my nearby cap ax, made a dummy IPV6 dhcp client on the bridge interface, to check if it sends solicits, but sniffer says no. That makes two devices that I cant seem to configure the DHCP client for? Why cant I see the outbound DHCP packets?

Any general direction where to investigate would be helpful.

This is not needed when you use PPPoE.

As for the DHCPv6 issue, do you use the defconf firewall configuration or something similar? If yes, check the rule with the comment "defconf: accept DHCPv6-Client prefix delegation." and try to temporarily remove the condition src-address=fe80::/10:

Yeah I tried that, didn’t work. All ipv6 firewall counters are at 0, bar the first untracked accept rule, those are rising because of other devices on network are sendig solicit packets.

Adding a dummy output accept+log rule, and starting dhcp client, the counter stays at 0. Which seems in line with sniffer results, that the packets aren’t actually leaving.

Opening pppoe client, local/remote ipv6 address fields are empty.

The DHCP protocol uses port numbers in an unusual way so clients and servers cannot use regular sockets, they use raw sockets and IIRC outbound packets do not appear in /ipv6 firewall filter but are visible in the /ipv6 firewall raw output chain.

I don’t have any devices running v7 with IPv6 capable connections using PPPoE so can’t say what the IPv6 address fields should contain - it may be that nothing is displayed if there are only link-local rather than global addresses.

Under /ipv6 route you should have an active route for ::/0 with a gateway of the pppoe client interface, and under /ipv6 address you should have a link local address on the PPPoE client interface, typically fe80::1/64.

Depending on how your provider decided to implement IPv6 there are a number of methods they could present the local IPv6 address - using the PPP IPV6CP interface identifier + SLAAC (requires the providers RAs for prefix), using DHCPv6 IA_NA, or using one of the delegated prefixes from the DHCPv6 IA_PD pool.

Providers can be picky on DHCPv6 parameters, especially rapid commit, and some only reply if the prefix hint matches their delegation size.