[Bug 262292] Seemingly not possible for IPv6 to function over tap devices on if_bridge

From: <bugzilla-noreply_at_freebsd.org>
Date: Fri, 04 Mar 2022 07:03:39 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=262292

--- Comment #2 from Paul Webster <paul.g.webster@googlemail.com> ---
(In reply to Jason Tubnor from comment #1)

I removed the alias, please see below for my test:

I destroy bridge 102/104 as there not in use for the moment, so really to
simplify things

root@de1:/usr/home/paul.webster # ifconfig bridge102 destroy
root@de1:/usr/home/paul.webster # ifconfig bridge104 destroy

Then re-show the host bridge103:

root@de1:/usr/home/paul.webster # ifconfig bridge103
bridge103: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 58:9c:fc:10:ff:f5
        inet 192.168.103.1 netmask 0xffffff00 broadcast 192.168.103.255
        inet6 fe80::5a9c:fcff:fe10:fff5%bridge103 prefixlen 64 scopeid 0x4
        inet6 2a01:4f8:190:1183::103:1 prefixlen 64
        id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
        maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200
        root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
        member: tap1033 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
                ifmaxaddr 0 port 9 priority 128 path cost 2000000
        member: tap1032 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
                ifmaxaddr 0 port 8 priority 128 path cost 2000000
        member: tap1031 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
                ifmaxaddr 0 port 11 priority 128 path cost 2000000
        member: tap1030 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
                ifmaxaddr 0 port 10 priority 128 path cost 2000000
        groups: bridge
        nd6 options=63<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL,NO_RADR>

Let's remove that ipv6 addr:

root@de1:/usr/home/paul.webster # ifconfig bridge103 inet6
2a01:4f8:190:1183::103:1 -alias
root@de1:/usr/home/paul.webster # ifconfig bridge103
bridge103: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 58:9c:fc:10:ff:f5
        inet 192.168.103.1 netmask 0xffffff00 broadcast 192.168.103.255
        inet6 fe80::5a9c:fcff:fe10:fff5%bridge103 prefixlen 64 scopeid 0x4
        id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
        maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200
        root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
        member: tap1033 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
                ifmaxaddr 0 port 9 priority 128 path cost 2000000
        member: tap1032 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
                ifmaxaddr 0 port 8 priority 128 path cost 2000000
        member: tap1031 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
                ifmaxaddr 0 port 11 priority 128 path cost 2000000
        member: tap1030 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
                ifmaxaddr 0 port 10 priority 128 path cost 2000000
        groups: bridge
        nd6 options=63<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL,NO_RADR>

Ok dokey with that bit done lets repeat a test:

From the host:
root@de1:~ # tcpdump -vvi bridge103 ip6
tcpdump: listening on bridge103, link-type EN10MB (Ethernet), capture size
262144 bytes
07:59:02.139781 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 32)
2a01:4f8:190:1183::103:2 > ff02::1:ff00:1: [icmp6 sum ok] ICMP6, neighbor
solicitation, length 32, who has fe80::1
          source link-address option (1), length 8 (1): 00:d3:4d:be:3f:ab
            0x0000:  00d3 4dbe 3fab
07:59:03.195030 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 32)
2a01:4f8:190:1183::103:2 > ff02::1:ff00:1: [icmp6 sum ok] ICMP6, neighbor
solicitation, length 32, who has fe80::1
          source link-address option (1), length 8 (1): 00:d3:4d:be:3f:ab
            0x0000:  00d3 4dbe 3fab
07:59:04.249361 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 32)
2a01:4f8:190:1183::103:2 > ff02::1:ff00:1: [icmp6 sum ok] ICMP6, neighbor
solicitation, length 32, who has fe80::1
          source link-address option (1), length 8 (1): 00:d3:4d:be:3f:ab
            0x0000:  00d3 4dbe 3fab
07:59:05.369920 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 32)
2a01:4f8:190:1183::103:2 > ff02::1:ff00:1: [icmp6 sum ok] ICMP6, neighbor
solicitation, length 32, who has fe80::1
          source link-address option (1), length 8 (1): 00:d3:4d:be:3f:ab
            0x0000:  00d3 4dbe 3fab


From the client:
root@sitehost:~ # netstat -6rn
Routing tables

Internet6:
Destination                       Gateway                       Flags     Netif
Expire
::/96                             ::1                           UGRS        lo0
default                           fe80::1%vtnet0                UGS      vtnet0
::1                               link#2                        UHS         lo0
::ffff:0.0.0.0/96                 ::1                           UGRS        lo0
2a01:4f8:190:1183::/64            link#1                        U        vtnet0
2a01:4f8:190:1183::103:2          link#1                        UHS         lo0
fe80::/10                         ::1                           UGRS        lo0
fe80::%vtnet0/64                  link#1                        U        vtnet0
fe80::2d3:4dff:febe:3fab%vtnet0   link#1                        UHS         lo0
fe80::%lo0/64                     link#2                        U           lo0
fe80::1%lo0                       link#2                        UHS         lo0
ff02::/16                         ::1                           UGRS        lo0


root@sitehost:~ # ping6 ipv6.google.com
PING6(56=40+8+8 bytes) 2a01:4f8:190:1183::103:2 --> 2a00:1450:4001:829::200e
^C
--- ipv6.l.google.com ping6 statistics ---
4 packets transmitted, 0 packets received, 100.0% packet loss

-- 
You are receiving this mail because:
You are the assignee for the bug.