Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 1 Jan 2024 23:40:36 +0000
From:      Lexi Winter <lexi@le-fay.org>
To:        freebsd-current@freebsd.org
Subject:   bridge(4) and IPv6 broken?
Message-ID:  <ZZNNdHjQdNgaSIlu@ilythia.eden.le-fay.org>

next in thread | raw e-mail | index | archive | help

--KOhs/Fnhyb9mSIqR
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

hello,

i'm having an issue with bridge(4) and IPv6, with a configuration which=20
is essentially identical to a working system running releng/14.0.

ifconfig:

lo0: flags=3D1008049<UP,LOOPBACK,RUNNING,MULTICAST,LOWER_UP> metric 0 mtu 1=
6384
	options=3D680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
	inet 127.0.0.1 netmask 0xff000000
	inet6 ::1 prefixlen 128
	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
	groups: lo
	nd6 options=3D21<PERFORMNUD,AUTO_LINKLOCAL>
pflog0: flags=3D1000141<UP,RUNNING,PROMISC,LOWER_UP> metric 0 mtu 33152
	options=3D0
	groups: pflog
alc0: flags=3D1008943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,LOWER_=
UP> metric 0 mtu 1500
	options=3Dc3098<VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MCAST,WOL_MAGIC,VL=
AN_HWTSO,LINKSTATE>
	ether 30:9c:23:a8:89:a0
	inet6 fe80::329c:23ff:fea8:89a0%alc0 prefixlen 64 scopeid 0x3
	media: Ethernet autoselect (1000baseT <full-duplex>)
	status: active
	nd6 options=3D1<PERFORMNUD>
wg0: flags=3D10080c1<UP,RUNNING,NOARP,MULTICAST,LOWER_UP> metric 0 mtu 1420
	options=3D80000<LINKSTATE>
	inet 172.16.145.21 netmask 0xffffffff
	inet6 fd00:0:1337:cafe:1111:1111:829a:595e prefixlen 128
	groups: wg
	tunnelfib: 1
	nd6 options=3D101<PERFORMNUD,NO_DAD>
bridge0: flags=3D1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP> m=
etric 0 mtu 1500
	options=3D0
	ether 58:9c:fc:10:ff:b6
	inet 10.1.4.101 netmask 0xffffff00 broadcast 10.1.4.255
	inet6 2001:8b0:aab5:104:3::101 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: tap0 flags=3D143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
	        ifmaxaddr 0 port 6 priority 128 path cost 2000000
	member: alc0 flags=3D143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
	        ifmaxaddr 0 port 3 priority 128 path cost 55
	groups: bridge
	nd6 options=3D1<PERFORMNUD>
tap0: flags=3D9903<UP,BROADCAST,PROMISC,SIMPLEX,LINK0,MULTICAST> metric 0 m=
tu 1500
	options=3D80000<LINKSTATE>
	ether 58:9c:fc:10:ff:89
	groups: tap
	media: Ethernet 1000baseT <full-duplex>
	status: no carrier
	nd6 options=3D29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>

the issue is that the bridge doesn't seem to respond to IPv6 ICMP
Neighbour Solicitation.  for example, while running ping, tcpdump shows
this:

23:30:16.567071 58:9c:fc:10:ff:b6 > 1e:ab:48:c1:f6:62, ethertype IPv6 (0x86=
dd), length 70: 2001:8b0:aab5:104:3::101 > 2001:8b0:aab5:106::12: ICMP6, ec=
ho request, id 34603, seq 13, length 16
23:30:16.634860 1e:ab:48:c1:f6:62 > 33:33:ff:00:01:01, ethertype IPv6 (0x86=
dd), length 86: fe80::1cab:48ff:fec1:f662 > ff02::1:ff00:101: ICMP6, neighb=
or solicitation, who has 2001:8b0:aab5:104:3::101, length 32
23:30:17.567080 58:9c:fc:10:ff:b6 > 1e:ab:48:c1:f6:62, ethertype IPv6 (0x86=
dd), length 70: 2001:8b0:aab5:104:3::101 > 2001:8b0:aab5:106::12: ICMP6, ec=
ho request, id 34603, seq 14, length 16
23:30:17.674842 1e:ab:48:c1:f6:62 > 33:33:ff:00:01:01, ethertype IPv6 (0x86=
dd), length 86: fe80::1cab:48ff:fec1:f662 > ff02::1:ff00:101: ICMP6, neighb=
or solicitation, who has 2001:8b0:aab5:104:3::101, length 32
23:30:17.936956 1e:ab:48:c1:f6:62 > 33:33:00:00:00:01, ethertype IPv6 (0x86=
dd), length 166: fe80::1cab:48ff:fec1:f662 > ff02::1: ICMP6, router adverti=
sement, length 112
23:30:18.567093 58:9c:fc:10:ff:b6 > 1e:ab:48:c1:f6:62, ethertype IPv6 (0x86=
dd), length 70: 2001:8b0:aab5:104:3::101 > 2001:8b0:aab5:106::12: ICMP6, ec=
ho request, id 34603, seq 15, length 16
23:30:19.567104 58:9c:fc:10:ff:b6 > 1e:ab:48:c1:f6:62, ethertype IPv6 (0x86=
dd), length 70: 2001:8b0:aab5:104:3::101 > 2001:8b0:aab5:106::12: ICMP6, ec=
ho request, id 34603, seq 16, length 16
23:30:19.567529 1e:ab:48:c1:f6:62 > 33:33:ff:00:01:01, ethertype IPv6 (0x86=
dd), length 86: fe80::1cab:48ff:fec1:f662 > ff02::1:ff00:101: ICMP6, neighb=
or solicitation, who has 2001:8b0:aab5:104:3::101, length 32

fe80::1cab:48ff:fec1:f662 is the subnet router; it's sending
solicitations but FreeBSD doesn't send a response,

if i remove alc0 from the bridge and configure the IPv6 address directly
on alc0 instead, everything works fine.

i'm testing without any packet filter (ipfw/pf) in the kernel.

it's possible i'm missing something obvious here; does anyone have an
idea?

kernel is: FreeBSD ilythia.eden.le-fay.org 15.0-CURRENT FreeBSD
15.0-CURRENT #3 main-n267318-1b8d70b2eb71: Sat Dec 30 11:36:42 GMT 2023
lexi@ilythia.eden.le-fay.org:/src/main/sys/amd64/compile/ILYTHIA amd64

	thanks, lexi.


--KOhs/Fnhyb9mSIqR
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQGzBAABCAAdFiEEuwt6MaPcv/+Mo+ftDHqbqZ41x5kFAmWTTXEACgkQDHqbqZ41
x5lH7wwAkwFAL1vtBMwdVWK2mR5UoMuXpIohHxhkZn5h+va+YPgWyUtYVnsf60Vn
m+D4fuGqM1UPTAJvZzzZWSU92B4X4gOrsyWamTh5G3wXsu5NYmlmTjXSixLgogS3
onsICLUj4BO1mwTqcwSSQoPtVNtktGNnIxSnALCpo5yCC4dCxQXqIet1JZrM3T//
75t+5GgzxIxUdB9WRKqWYJg+Lba8Fz7UMKirkwkKZcqraGHmtMHELVsoiFmonb0a
E3JbZLK0v23g5qCKKaVEUp/WY+N1uXpwqc76o/yi9gTyYpFA/LrPhYXwVrVac+lk
riKTPiTSx4HBCCHPoy+CUMGtyVuTfbZyGKR3I/8Pt3ePDeibZQO34V9sjVEnNesg
4kN31JPs8JpdCx3uf46G/FGHfAPOq6WdMfwvkDqtm7yMZB2Io6CbzOxpXweIbPCt
qDbjRJldwRp+cT7sW2pM16gBgcd38oCEaJ+FdkTxeexIKZXvJ174RF9/l4NuPcug
VVtjc/sl
=yhHT
-----END PGP SIGNATURE-----

--KOhs/Fnhyb9mSIqR--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ZZNNdHjQdNgaSIlu>