cvs commit: src/sys/dev/vr if_vr.c if_vrreg.h
Pyun YongHyeon
yongari at FreeBSD.org
Wed Jul 16 08:35:38 UTC 2008
yongari 2008-07-16 08:35:29 UTC
FreeBSD src repository
Modified files:
sys/dev/vr if_vr.c if_vrreg.h
Log:
SVN rev 180552 on 2008-07-16 08:35:29Z by yongari
Fix a multicast handling regression on VT6105M introduced in
vr(4) overhauling(r177050).
It seems that filtering multicast addresses with multicast CAM
entries require accessing 'CAM enable bit' for each CAM entry.
Subsequent accessing multicast CAM control register without
toggling the 'CAM enable bit' seem to no effects.
In order to fix that separate CAM setup from CAM mask configuration
and CAM entry modification. While I'm here add VLAN CAM filtering
feature which will be enabled in future(FreeBSD now can receive
VLAN id insertion/removal event from vlan(4) on the fly).
For VT6105M hardware, explicitly disable VLAN hardware tag
insertion/stripping and enable VLAN CAM filtering for VLAN id 0.
This shall make non-VLAN frames set VR_RXSTAT_VIDHIT bit in Rx
status word.
Added multicast/VLAN CAM address definition to header file.
PR: kern/125010, kern/125024
MFC after: 1 week
Revision Changes Path
1.132 +48 -25 src/sys/dev/vr/if_vr.c
1.38 +12 -0 src/sys/dev/vr/if_vrreg.h
More information about the cvs-src
mailing list