[Bug 263986] IPv6 address gets detached when using multiple IPv6 routers
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 29 Dec 2024 04:24:13 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=263986 Delta Regeer <xistence@0x58.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |xistence@0x58.com --- Comment #9 from Delta Regeer <xistence@0x58.com> --- I have a similar issue, but slightly different. I have multiple interfaces: igc4/vlan1001. igc4 receives a default route/on-link prefix that is using a GUA and has a valid router lifetime of greater than 0. vlan1001 however is used only for storage traffic. It is a pure IPv6 only VLAN and configuration is done with ULA addressing, that is advertised with a router lifetime of 0. Unfortunately that means that when vlan1001 accepted the router advertisement it never installs the on-link route for the prefix it received, even though we expressly want to force that /64 onto vlan1001 (10 GbE) instead of out through igc4 (1 GbE). Even adding a manual IP address in the same /64 will not install the on-link route: igc4: flags=1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 1500 options=4e427bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,WOL_MAGIC,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6,HWSTATS,MEXTPG> ether 20:7c:14:f4:83:f4 inet 172.16.109.131 netmask 0xffffff00 broadcast 172.16.109.255 inet6 fe80::227c:14ff:fef4:83f4%igc4 prefixlen 64 scopeid 0x5 inet6 2601:283:4c01:29a0:227c:14ff:fef4:83f4 prefixlen 64 autoconf pltime 604800 vltime 2592000 media: Ethernet autoselect (1000baseT <full-duplex>) status: active nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL> vlan1001: flags=1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 9000 options=4600703<RXCSUM,TXCSUM,TSO4,TSO6,LRO,RXCSUM_IPV6,TXCSUM_IPV6,MEXTPG> ether 20:7c:14:f4:83:f5 inet6 fe80::227c:14ff:fef4:83f5%vlan1001 prefixlen 64 scopeid 0xb inet6 fd9b:d0c4:d2c8:736e::4 prefixlen 64 inet6 fd9b:d0c4:d2c8:736e:227c:14ff:fef4:83f5 prefixlen 64 detached autoconf pltime 604800 vltime 2592000 groups: vlan vlan: 1001 vlanproto: 802.1q vlanpcp: 0 parent interface: ix0 media: Ethernet autoselect (10Gbase-Twinax <full-duplex,rxpause,txpause>) status: active nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL> # ndp -p 2601:283:4c01:29a0::/64 if=igc4 flags=LAO vltime=2592000, pltime=604800, expire=29d23h59m32s, ref=1 advertised by fe80::4262:31ff:fe08:9276%igc4 (reachable) # netstat -rn Routing tables Internet: Destination Gateway Flags Netif Expire default 172.16.109.1 UGS igc4 127.0.0.1 link#10 UH lo0 172.16.109.0/24 link#5 U igc4 172.16.109.131 link#10 UHS lo0 Internet6: Destination Gateway Flags Netif Expire ::/96 link#10 URS lo0 default fe80::4262:31ff:fe08:9276%igc4 UG igc4 ::1 link#10 UHS lo0 ::ffff:0.0.0.0/96 link#10 URS lo0 2601:283:4c01:29a0::/64 link#5 U igc4 2601:283:4c01:29a0:227c:14ff:fef4:83f4 link#10 UHS lo0 fd9b:d0c4:d2c8:736e::4 link#10 UHS lo0 fd9b:d0c4:d2c8:736e:227c:14ff:fef4:83f5 link#10 UHS lo0 fe80::%lo0/10 link#10 URS lo0 fe80::%igc4/64 link#5 U igc4 fe80::227c:14ff:fef4:83f4%lo0 link#10 UHS lo0 fe80::%ix0/64 link#6 U ix0 fe80::227c:14ff:fef4:83f5%lo0 link#10 UHS lo0 fe80::%lo0/64 link#10 U lo0 fe80::1%lo0 link#10 UHS lo0 fe80::%vlan1001/64 link#11 U vlan1001 fe80::227c:14ff:fef4:83f5%lo0 link#10 UHS lo0 ff02::/16 link#10 URS lo0 # rdisc6 igc4 Soliciting ff02::2 (ff02::2) on igc4... Hop limit : 64 ( 0x40) Stateful address conf. : No Stateful other conf. : No Mobile home agent : No Router preference : medium Neighbor discovery proxy : No Router lifetime : 1800 (0x00000708) seconds Reachable time : unspecified (0x00000000) Retransmit time : unspecified (0x00000000) Source link-layer address: 40:62:31:08:92:76 Prefix : 2601:283:4c01:29a0::/64 On-link : Yes Autonomous address conf.: Yes Valid time : 2592000 (0x00278d00) seconds Pref. time : 604800 (0x00093a80) seconds Recursive DNS server : fd9b:d0c4:d2c8:6c6f::1 DNS server lifetime : 900 (0x00000384) seconds DNS search list : home.arpa DNS search list lifetime: 900 (0x00000384) seconds from fe80::4262:31ff:fe08:9276 # rdisc6 vlan1001 Soliciting ff02::2 (ff02::2) on vlan1001... Hop limit : 64 ( 0x40) Stateful address conf. : No Stateful other conf. : No Mobile home agent : No Router preference : medium Neighbor discovery proxy : No Router lifetime : 0 (0x00000000) seconds Reachable time : unspecified (0x00000000) Retransmit time : unspecified (0x00000000) Source link-layer address: 40:62:31:08:92:76 Prefix : fd9b:d0c4:d2c8:736e::/64 On-link : Yes Autonomous address conf.: Yes Valid time : 2592000 (0x00278d00) seconds Pref. time : 604800 (0x00093a80) seconds from fe80::4262:31ff:fe08:9276 Both FreeBSD and Linux will create an ip address, but Linux will happily install the on-link prefix, whereas FreeBSD will not. Note that I would expect that no matter what as long as a prefix does not clash with an existing prefix on the system, I would expect it to be installed on-link correctly, even if the router lifetime is 0 and there is no ::/0 route provided on that network segment. Whether that address is ULA (as is the case from Filipe or myself) or GUA, since the same issue exists when I use a GUA prefix on the same network. While searching for bugs I did find this other bug: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=104851 that seems to be somewhat related, and probably in the same part of the codebase. -- You are receiving this mail because: You are the assignee for the bug.