I just went through some ipv6 setup fun on Comcast/Xfinity last weekend. Thankfully I was able to get it working after a couple of hours. I haven’t used pppoe so I don’t know how it’s supposed to be set up, but you are getting the same DHCP error I had so maybe I can give you a couple things to try.
There’s a rule in the default firewall that accepts DHCP packets but only from a link local address:
My ISP sends DHCP replies from an address that is not on my subnet, so I had to change that rule to accept DHCP from any address. Hopefully my ISP has safeguards in place to prevent rouge DHCP servers from other customers. This also caused a problem when using add-default-route in the DHCPv6 settings. The route gets pointed at the DHCP server, which is on a different subnet and thus does not work. I need DHCP to get a prefix, but Comcast seems to expect me to rely on router advertisements for the default route. This looks really strange when you are used to IPv4 and not IPv6, but my default route looks like this:
As ::/0 ether1 ip6 1 30 10 ether1
No address, just an interface. I added that route (/ipv6 route add disabled=no dst-address=::/0 gateway=ether1).
This won’t break DHCP, but you might also have to have DHCPv6 request an address in addition to a prefix or maybe enable router advertising. Right now you only have a link local address on your WAN interface and router advertising is disabled. That maybe could work if the ISP’s system remembers the link local address it gave a prefix to in response to a DHCP request, but there’s a good chance it won’t. My hunch is that it will either work as is or you will need to request an address via DHCP. Network admins don’t trust end users (especially software engineers like me… we know just enough to be really dangerous), so why would they trust your router advertisement? I have router advertising disabled on the WAN interface and am requesting an address over DHCP. You may also need to set use-peer-dns=yes in the DHCP request.
Another thing to bear in mind is that the DHCPv6 server in RouterOS can only delegate prefixes (see https://help.mikrotik.com/docs/display/ROS/DHCP+Server), not addresses, so you don’t need the DHCPv6 server unless you have more routers downstream and want to give them prefixes.
What kind of TP-Link did you have? I’m just curious because they make both consumer and business models.
.
Not related to the OP’s issue, but there are problems with what has been stated and I’m concerned that others may make configurations based on it.
The default rule is 100% correct, as is, and works just fine with Comcast. DHCPv6 uses link-local (fe80::/10) IPv6 addresses when communicating between client and relay/server.
“ISP sends DHCP replies from an address that is not on my subnet” … Typical, but there is no need to add a rule to for specific DHCPv6 servers, whatsoever.
“The route gets pointed at the DHCP server which is on a different subnet and thus does not work.” … Uh, DHCP servers are not a default route target. DHCPv6 does not provide the IPv6 address of the default gateway to the client, this is provided by the ICMPv6 RA message. DHCP for IPv4 provides the default gateway IP address to the client.
Following is my ipv6 config that using a /56 ,,,
perhaps you can extract only the parts you want that may help you ...
this config works really well for me and all my VLAN's plus their hosts and has for a very long time.
This configuration is based on SLAAC so no dhcpv6 server is involved and IMO no DHCPv6 server is required because SLAAC makes it not necessary.
SLAAC = StateLess Address Auto Configuration ... which is
The preferred method of assigning IP addresses in an IPv6 network. SLAAC devices send the router a request for the network prefix, and the device uses the prefix and its own MAC address to create an IP address.
The default rule is 100% correct, as is, and works just fine with Comcast. DHCPv6 uses link-local (fe80::/10) IPv6 addresses when communicating between client and relay/server.
No doubt it has worked in the past and still works for some. Did for me, too.
However, it seems Comcast is rolling out SDN across parts of its WAN network, maybe all eventually. (Arista networks equipment it looks like in my area).
One byproduct does seem that the DHCPv6 PD servers (or relays perhaps) use global addressing, not local.
As far as I can tell, no RFC for DHCPv6 requires this be a local address. Happy to hear otherwise if you know of some RFC requirement. As much as I hate Comcast customer service, they usually are top notch at network config stuff.