diff options
author | yongari <yongari@FreeBSD.org> | 2010-09-30 17:37:08 +0000 |
---|---|---|
committer | yongari <yongari@FreeBSD.org> | 2010-09-30 17:37:08 +0000 |
commit | b4413dafb133305f64f07939dd38d9f175b57b15 (patch) | |
tree | a3b97371f6a400c0e59dfba28ee66db013580aaf /lib | |
parent | eca696eeba3626081774117ce5b9d924281c15e2 (diff) | |
download | FreeBSD-src-b4413dafb133305f64f07939dd38d9f175b57b15.zip FreeBSD-src-b4413dafb133305f64f07939dd38d9f175b57b15.tar.gz |
Rename rl_setmulti() to rl_rxfilter() as rl_rxfilter() will handle
IFF_ALLMULTI/IFF_PROMISC as well as multicast filter configuration.
Rewrite RX filter logic to reduce number of register accesses and
make it handle promiscuous/allmulti toggling without controller
reinitialization.
Previously rl(4) counted on controller reinitialization to reprogram
promiscuous configuration but r211767 resulted in avoiding
controller reinitialization whenever promiscuous mode is toggled.
To address this, keep track of driver's view of interface state and
handle IFF_ALLMULTI/IFF_PROMISC changes without reinitializing
controller. This should fix a regression introduced in r211267.
While I'm here remove unnecessary variable reassignment in ioctl
handler.
PR: kern/151079
MFC after: 1 week
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions