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-all mailing list