The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=7aa34e12c9e198bf8b7e74370ff702def5ec2649
commit 7aa34e12c9e198bf8b7e74370ff702def5ec2649 Author: Adrian Chadd <[email protected]> AuthorDate: 2026-07-12 15:26:46 +0000 Commit: Adrian Chadd <[email protected]> CommitDate: 2026-07-12 15:26:46 +0000 rge: fix multicast add/removal by using if_getdrvflags() Using if_getflags() to check IFF_DRV_RUNNING is wrong; if_getdrvflags() is required. This issue resulted in the multicast filter not being updated. This was an oversight by me in my initial port. Thanks to danilo@ for reporting it and Oleg <[email protected]> for the fix. PR: kern/295176 --- sys/dev/rge/if_rge.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/rge/if_rge.c b/sys/dev/rge/if_rge.c index 61dcac390765..7c11da5c3f53 100644 --- a/sys/dev/rge/if_rge.c +++ b/sys/dev/rge/if_rge.c @@ -951,7 +951,7 @@ rge_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) case SIOCADDMULTI: case SIOCDELMULTI: RGE_LOCK(sc); - if ((if_getflags(ifp) & IFF_DRV_RUNNING) != 0) + if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) rge_iff_locked(sc); RGE_UNLOCK(sc); break;
