diff options
| author | Adrian Chadd <adrian@FreeBSD.org> | 2026-07-12 15:26:46 +0000 |
|---|---|---|
| committer | Adrian Chadd <adrian@FreeBSD.org> | 2026-07-12 15:26:46 +0000 |
| commit | 7aa34e12c9e198bf8b7e74370ff702def5ec2649 (patch) | |
| tree | 94a6dfbbc122806f9735487bb0b97f3c369125df | |
| parent | 23a6997e3071cea8d8fc5238792fdd0ad5b5dc9a (diff) | |
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 <oleglelchuk@gmail.com>
for the fix.
PR: kern/295176
| -rw-r--r-- | sys/dev/rge/if_rge.c | 2 |
1 files changed, 1 insertions, 1 deletions
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; |
