https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=295176
Bug ID: 295176
Summary: if_rge: IPv6 and multicast filtering issues
Product: Base System
Version: 16.0-CURRENT
Hardware: Any
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: kern
Assignee: [email protected]
Reporter: [email protected]
Hi,
I'm using a RTL8125 2.5GbE adapter on FreeBSD 16 and I'm having some glitches
with IPv6:
1) After 20 minutes my system will lose its IPv6 default route that it acquired
during boot through rtsold. If I restart rtsold or call rtsol I will get the
route back for another 20 minutes;
2) After having an IPv6 address and default route after booting the system,
IPv6 traffic will not immediately flow until I send a ping to my router (which
is also a FreeBSD box) IPv6 address. After some debugging I noticed that the
NDP table on the router didn't know my machine until I pinged it directly.
After doing that, traffic will flow (until I hit the problem 1).
As these things rely on multicast, I suspect the problem is multicast filtering
in the device. See below why I've got to this conclusion.
I left tcpdump running on my rge0 interface and noticed that the problem
wouldn't happen while the interface was in promisc mode. After checking the
if_rge.c code I saw that multicast filtering is handled differently when
promisc mode OR IFF_ALLMULTI are enabled.
After learning that, I enabled allmulti on my rge0 (ifconfig rge0 allmulti) and
a few seconds later I got the default IPv6 route back on the next RA (without
restarting rtsold).
For anyone hitting the same problem, try this: ifconfig rge0 allmulti
--
You are receiving this mail because:
You are the assignee for the bug.