Obraik: @2degreescare would your network engineers be willing to take a look at my EdgeRouter configuration to see if there's any IPv6 settings that need to be changed? As I mentioned it was working fine until suddenly it wasn't without any changes on my end so maybe 2degrees made changes to what is needed for IPv6 to work correctly?
I have had IPv6 disabled the last month or so to get around the issue and turned it back on yesterday to see of things were better but still the same issues are present.
To get IPv6 working properly, you need to have the PPPoE config set up to use the extra bandwidth made available by Chorus to compensate for the 8-byte PPPoE protocol overheads. Once you do that, the MTU is 1500 instead of 1492 and you stop having problems with long IPv6 packets getting dropped. Most PPPoE software I have met fails to send the required ICMPv6 "Packet too long" messages when it drops an overlong packet, and that breaks the path MTU discovery mechanism required for IPv6 to work. So you either have to set the MTU lower (1492) or get PPPoE to pass 1500 byte packets intact. The PPPoE software in the Edgerouter Lite and in the routers 2Degrees are using on their end of customer connections both seem to have this bug, so you can get overlong IPv6 packets silently dropped in either direction.
Here is what I have for my eth0 interface:
ethernet eth0 {
description "Outside raw to ONT"
duplex auto
mac xx:xx:xx:xx:xx:xx
mtu 1508
speed auto
vif 10 {
description "Outside raw VLAN 10 to ONT"
egress-qos "1:5 2:5 3:5 4:5 6:5 7:5"
mtu 1508
pppoe 0 {
default-route auto
description "Internet connection to ISP"
ipv6 {
address {
secondary 2406:xxxx:xxxx:xxxx::xxxx/128
}
dup-addr-detect-transmits 1
enable {
}
}
mtu 1500
name-server none
password xxxxxxxxxx
user-id xxxxxxxxxx@snap.net.nz
}
}
}
Note the "mtu 1508" on the eth0 and vif10 interfaces, and "mtu 1500" on the pppoe interface.