On 01.10.2015 10:48, Martin Pieuchot wrote: > Hello, > > On 30/09/15(Wed) 18:19, Daniel Gillen wrote: >> [...] >> inet 0.0.0.0 255.255.255.255 NONE \ >> pppoedev vlan35 \ >> authproto pap \ >> authname "<user>@vo.lu" \ >> authkey "<password>" >> dest 0.0.0.1 >> inet6 autoconf >> !/sbin/route add 0.0.0.0/0 -ifp pppoe0 0.0.0.1 >> !/sbin/route add ::/0 -ifp pppoe0 fe80:: >> >> As you can see, it get my IPv6 address trough autoconfiguration. >> >> After my pppoe reconnected again, I saw the following in ifconfig: > > What do you mean by "reconnected again" ? > >> pppoe0: flags=208851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST,AUTOCONF6> >> mtu 1492 >> priority: 0 >> dev: vlan35 state: session >> sid: 0x44e PADI retries: 8 PADR retries: 0 time: 13:20:45 >> sppp: phase network authproto pap authname "<user>@vo.lu" >> groups: pppoe egress >> status: active >> inet6 fe80::XX:XX:XX:6c3a%pppoe0 -> prefixlen 64 scopeid 0x8 >> inet6 2001:XX:XX:6f3:XX:XX:XX:6c3a -> prefixlen 64 autoconf >> pltime 556434 vltime 2543634 >> [...] >> inet6 2001:XX:XX:6f3:XX:XX:XX:87b2 -> prefixlen 64 autoconf >> autoconfprivacy pltime 1835 vltime 520374 >> inet 85.XX.XX.XX --> 80.XX.XX.XX netmask 0xffffffff >> inet6 2001:XX:XX:7c5:XX:XX:XX:6c3a -> prefixlen 64 autoconf >> pltime 604755 vltime 2591955 >> inet6 2001:XX:XX:7c5:XX:XX:XX:30c -> prefixlen 64 autoconf >> autoconfprivacy pltime 37915 vltime 556755 >> >> I got the new 2001:XX:XX:7c5::/64 prefix after the reconnect and OpenBSD >> added it to my interface. >> >> But it didn't remove the now invalid and no longer working >> 2001:XX:XX:6f3::/64 prefix addresses which caused quite some issues as >> my NAT was still using that address for part of the connections. >> >> Shouldn't those be removed as soon as their prefix is no longer valid? >> Or at least all be deprecated? > > If this happens again could you include the output of "# ndp -p", > "# route -n show -inet6" and "# ndp -r" in your report? > > Thanks, > Martin >
I managed to reproduce the issue and executed the commands you told me. Just one sidenode as it might matter, I'm running -current freshly checked out and build Thu Oct 1, 18:33:57 CEST 2015. # uname -a OpenBSD gate 5.8 GENERIC.MP#1 amd64 And here we go, the short version: # reboot # ifconfig pppoe0 IPv4 address is 80.XX.XX.227 Autoconfigured IPv6 address is 2001:XX:XX:707:XX:XX:XX:6c3a # ping6 -c 1 -S 2001:XX:XX:707:XX:XX:XX:6c3a 2a00:1450:4001:806::1009 Pinging google with that source address works # ndp -p 2001:XX:XX:707::/64 if=pppoe0 flags=LAD vltime=2592000, pltime=604800, expire=29d23h59m39s, ref=2 advertised by fe80::46d3:caff:fe9c:ef00%pppoe0 (no neighbor state) # route -n show -inet6 See long version below # ndp -r fe80::46d3:caff:fe9c:ef00%pppoe0 if=pppoe0, flags=O, pref=medium, expire=29m59s Now I simmulated a PPPoE dis-/re-connect (Thx again to Todd for the tip) # ifconfig pppoe0 down up # ifconfig pppoe0 New IPv4 address is 85.XX.XX.98 But now I have 2 autoconfigured IPv6 addresses, the old 2001:XX:XX:707:XX:XX:XX:6c3a address and the new 2001:XX:XX:7c5:XX:XX:XX:6c3a address. # ping6 -c 1 -S 2001:XX:XX:707:XX:XX:XX:6c3a 2a00:1450:4001:806::1009 # ping6 -c 1 -S 2001:XX:XX:7c5:XX:XX:XX:6c3a 2a00:1450:4001:806::1009 Pinging google with the old 2001:XX:XX:707::/64 prefix address does not work anymore, but the new 2001:XX:XX:7c5::/64 prefix address works. # ndp -p 2001:XX:XX:7c5::/64 if=pppoe0 flags=LAD vltime=2592000, pltime=604800, expire=29d23h59m47s, ref=2 advertised by fe80::46d3:caff:fe9c:ef00%pppoe0 (no neighbor state) 2001:XX:XX:707::/64 if=pppoe0 flags=LAD vltime=2592000, pltime=604800, expire=29d23h58m45s, ref=2 advertised by fe80::46d3:caff:fe9c:ef00%pppoe0 (no neighbor state) # route -n show -inet6 Again, see below # ndp -r fe80::46d3:caff:fe9c:ef00%pppoe0 if=pppoe0, flags=O, pref=medium, expire=29m28 I think the old 2001:XX:XX:707::/64 prefix should be removed as soon as the same router (fe80::46d3:caff:fe9c:ef00) advertises a new prefix. Or am I getting something wrong here? ********************************** And here the log version including 'route' output: # reboot # ifconfig pppoe0 pppoe0: flags=208851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST,AUTOCONF6> mtu 1492 priority: 0 dev: vlan35 state: session sid: 0x47c PADI retries: 0 PADR retries: 0 time: 00:00:21 sppp: phase network authproto pap authname "<username>@vo.lu" groups: pppoe egress status: active inet6 fe80::XX:XX:XX:6c3a%pppoe0 -> prefixlen 64 scopeid 0x8 inet 80.XX.XX.227 --> 80.XX.XX.143 netmask 0xffffffff inet6 2001:XX:XX:707:XX:XX:XX:6c3a -> prefixlen 64 autoconf pltime 604796 vltime 2591996 inet6 2001:XX:XX:707:XX:XX:XX:e080 -> prefixlen 64 autoconf autoconfprivacy pltime 85930 vltime 604780 # ping6 -c 1 -S 2001:XX:XX:707:XX:XX:XX:6c3a 2a00:1450:4001:806::1009 PING6(72=40+8+24 bytes) 2001:XX:XX:707:XX:XX:XX:6c3a --> 2a00:1450:4001:806::1009 32 bytes from 2a00:1450:4001:806::1009, icmp_seq=0 hlim=59 time=6.551 ms --- 2a00:1450:4001:806::1009 ping6 statistics --- 1 packets transmitted, 1 packets received, 0.0% packet loss round-trip min/avg/max/std-dev = 6.551/6.551/6.551/0.000 ms # ndp -p 2001:XX:XX:707::/64 if=pppoe0 flags=LAD vltime=2592000, pltime=604800, expire=29d23h59m39s, ref=2 advertised by fe80::46d3:caff:fe9c:ef00%pppoe0 (no neighbor state) # route -n show -inet6 Routing tables Internet6: Destination Gateway Flags Refs Use Mtu Prio Iface ::/104 ::1 UGRS 0 0 32768 8 lo0 ::/96 ::1 UGRS 0 0 32768 8 lo0 default fe80:: UGS 0 159 - 8 pppoe0 default fe80::46d3:caff:fe9c:ef00%pppoe0 UG 0 0 - 56 pppoe0 ::1 ::1 UHl 14 0 32768 1 lo0 ::127.0.0.0/104 ::1 UGRS 0 0 32768 8 lo0 ::224.0.0.0/100 ::1 UGRS 0 0 32768 8 lo0 ::255.0.0.0/104 ::1 UGRS 0 0 32768 8 lo0 ::ffff:0.0.0.0/96 ::1 UGRS 0 0 32768 8 lo0 2001:XX:XX:707:XX:XX:XX:6c3a 2001:XX:XX:707:XX:XX:XX:6c3a UHl 0 0 - 1 pppoe0 2001:XX:XX:707:XX:XX:XX:e080 2001:XX:XX:707:XX:XX:XX:e080 UHl 0 0 - 1 pppoe0 2002::/24 ::1 UGRS 0 0 32768 8 lo0 2002:7f00::/24 ::1 UGRS 0 0 32768 8 lo0 2002:e000::/20 ::1 UGRS 0 0 32768 8 lo0 2002:ff00::/24 ::1 UGRS 0 0 32768 8 lo0 fe80::/10 ::1 UGRS 2 0 32768 8 lo0 fe80::1%lo0 fe80::1%lo0 UHl 0 0 32768 1 lo0 fe80::XX:XX:XX:6c3a%pppoe0 fe80::XX:XX:XX:6c3a%pppoe0 UHl 0 0 - 1 pppoe0 fe80::46d3:caff:fe9c:ef00%pppoe0 pppoe0 UHL 0 0 - 4 pppoe0 fec0::/10 ::1 UGRS 0 0 32768 8 lo0 ff01::/16 ::1 UGRS 0 0 32768 8 lo0 ff01::%lo0/32 ::1 UC 0 0 32768 4 lo0 ff01::%pppoe0/32 fe80::XX:XX:XX:6c3a%pppoe0 UC 0 0 - 4 pppoe0 ff02::/16 ::1 UGRS 0 0 32768 8 lo0 ff02::%lo0/32 ::1 UC 0 0 32768 4 lo0 ff02::%pppoe0/32 fe80::XX:XX:XX:6c3a%pppoe0 UC 0 0 - 4 pppoe0 # ndp -r fe80::46d3:caff:fe9c:ef00%pppoe0 if=pppoe0, flags=O, pref=medium, expire=29m59s # ifconfig pppoe0 down up # ifconfig pppoe0 pppoe0: flags=208851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST,AUTOCONF6> mtu 1492 priority: 0 dev: vlan35 state: session sid: 0x47e PADI retries: 0 PADR retries: 0 time: 00:00:04 sppp: phase network authproto pap authname "<username>@vo.lu" groups: pppoe egress status: active inet6 fe80::XX:XX:XX:6c3a%pppoe0 -> prefixlen 64 scopeid 0x8 inet6 2001:XX:XX:707:XX:XX:XX:6c3a -> prefixlen 64 autoconf pltime 604750 vltime 2591950 inet6 2001:XX:XX:707:XX:XX:XX:e080 -> prefixlen 64 autoconf autoconfprivacy pltime 85780 vltime 604630 inet 85.XX.XX.98 --> 80.XX.XX.143 netmask 0xffffffff inet6 2001:XX:XX:7c5:XX:XX:XX:6c3a -> prefixlen 64 autoconf pltime 604796 vltime 2591996 inet6 2001:XX:XX:7c5:XX:XX:XX:7626 -> prefixlen 64 autoconf autoconfprivacy pltime 86253 vltime 604796 # ping6 -c 1 -S 2001:XX:XX:707:XX:XX:XX:6c3a 2a00:1450:4001:806::1009 PING6(72=40+8+24 bytes) 2001:XX:XX:707:XX:XX:XX:6c3a --> 2a00:1450:4001:806::1009 --- 2a00:1450:4001:806::1009 ping6 statistics --- 1 packets transmitted, 0 packets received, 100.0% packet loss # ping6 -c 1 -S 2001:XX:XX:7c5:XX:XX:XX:6c3a 2a00:1450:4001:806::1009 PING6(72=40+8+24 bytes) 2001:XX:XX:7c5:XX:XX:XX:6c3a --> 2a00:1450:4001:806::1009 32 bytes from 2a00:1450:4001:806::1009, icmp_seq=0 hlim=59 time=6.499 ms --- 2a00:1450:4001:806::1009 ping6 statistics --- 1 packets transmitted, 1 packets received, 0.0% packet loss round-trip min/avg/max/std-dev = 6.499/6.499/6.499/0.000 ms # ndp -p 2001:XX:XX:7c5::/64 if=pppoe0 flags=LAD vltime=2592000, pltime=604800, expire=29d23h59m47s, ref=2 advertised by fe80::46d3:caff:fe9c:ef00%pppoe0 (no neighbor state) 2001:XX:XX:707::/64 if=pppoe0 flags=LAD vltime=2592000, pltime=604800, expire=29d23h58m45s, ref=2 advertised by fe80::46d3:caff:fe9c:ef00%pppoe0 (no neighbor state) # route -n show -inet6 Routing tables Internet6: Destination Gateway Flags Refs Use Mtu Prio Iface ::/104 ::1 UGRS 0 0 32768 8 lo0 ::/96 ::1 UGRS 0 0 32768 8 lo0 default fe80:: UGS 0 250 - 8 pppoe0 default fe80::46d3:caff:fe9c:ef00%pppoe0 UG 0 0 - 56 pppoe0 ::1 ::1 UHl 14 0 32768 1 lo0 ::127.0.0.0/104 ::1 UGRS 0 0 32768 8 lo0 ::224.0.0.0/100 ::1 UGRS 0 0 32768 8 lo0 ::255.0.0.0/104 ::1 UGRS 0 0 32768 8 lo0 ::ffff:0.0.0.0/96 ::1 UGRS 0 0 32768 8 lo0 2001:XX:XX:707:XX:XX:XX:6c3a 2001:XX:XX:707:XX:XX:XX:6c3a UHl 0 0 - 1 pppoe0 2001:XX:XX:707:XX:XX:XX:e080 2001:XX:XX:707:XX:XX:XX:e080 UHl 0 0 - 1 pppoe0 2001:XX:XX:7c5:XX:XX:XX:6c3a 2001:XX:XX:7c5:XX:XX:XX:6c3a UHl 0 0 - 1 pppoe0 2001:XX:XX:7c5:XX:XX:XX:7626 2001:XX:XX:7c5:XX:XX:XX:7626 UHl 0 0 - 1 pppoe0 2002::/24 ::1 UGRS 0 0 32768 8 lo0 2002:7f00::/24 ::1 UGRS 0 0 32768 8 lo0 2002:e000::/20 ::1 UGRS 0 0 32768 8 lo0 2002:ff00::/24 ::1 UGRS 0 0 32768 8 lo0 fe80::/10 ::1 UGRS 2 0 32768 8 lo0 fe80::1%lo0 fe80::1%lo0 UHl 0 0 32768 1 lo0 fe80::XX:XX:XX:6c3a%pppoe0 fe80::XX:XX:XX:6c3a%pppoe0 UHl 0 0 - 1 pppoe0 fe80::46d3:caff:fe9c:ef00%pppoe0 pppoe0 UHL 0 0 - 4 pppoe0 fec0::/10 ::1 UGRS 0 0 32768 8 lo0 ff01::/16 ::1 UGRS 0 0 32768 8 lo0 ff01::%lo0/32 ::1 UC 0 0 32768 4 lo0 ff01::%pppoe0/32 fe80::XX:XX:XX:6c3a%pppoe0 UC 0 0 - 4 pppoe0 ff02::/16 ::1 UGRS 0 0 32768 8 lo0 ff02::%lo0/32 ::1 UC 0 0 32768 4 lo0 ff02::%pppoe0/32 fe80::XX:XX:XX:6c3a%pppoe0 UC 0 0 - 4 pppoe0 # ndp -r fe80::46d3:caff:fe9c:ef00%pppoe0 if=pppoe0, flags=O, pref=medium, expire=29m28 -- Unix _IS_ user friendly - it's just selective about who its friends are!