]> CyberLeo.Net >> Repos - FreeBSD/stable/8.git/commit
MFC r200551-200552,200555,200558,200609,200613
authoryongari <yongari@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sat, 9 Jan 2010 00:02:40 +0000 (00:02 +0000)
committeryongari <yongari@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sat, 9 Jan 2010 00:02:40 +0000 (00:02 +0000)
commitb28d0df9a91d5c359662c8f1e386e546a23cafd0
tree1a72b7837dd93de848fbd3387d15c1c4f4a16e2f
parent5b6780c3b5fa5a14142f7bdcd6f468e885d376fb
MFC r200551-200552,200555,200558,200609,200613

r200551:
  Whenever link state change interrupt is raised, vge_tick() is
  called and vge(4) used to drive auto-negotiation timer(mii_tick) in
  vge_tick(). Therefore the mii_tick was not called for every hz such
  that auto-negotiation complete was never handled in vge(4).
  Use mii_pollstat to extract current negotiated speed/duplex instead
  of mii_tick. The latter is valid only for auto-negotiation case.
  While I'm here change the confusing function name vge_tick() to
  vge_link_statchg().

r200552:
  Report media change result to caller instead of returning success
  without regard to the result.

r200555:
  Don't report current link status if interface is not UP.
  If interface is not UP, the current link status wouldn't
  reflect the negotiated status.

r200558:
  Tell upper layer vge(4) supports long frames. This should be done
  after ether_ifattach(), as ether_ifattach() initializes it with
  ETHER_HDR_LEN.
  While I'm here remove setting if_mtu, it's already handled in
  ether_ifattach().

r200609:
  All vge(4) controllers support RX/TX checksum offloading for VLAN
  tagged frames so add checksum offloading capabilities. Also add
  missing VLAN hardware tagging control in ioctl handler and let
  upper stack know current VLAN capabilities.

r200613:
  Rewrite RX filter setup and simplify code.
  Now promiscuous mode and multicast handling is performed in single
  function, vge_rxfilter().

git-svn-id: svn://svn.freebsd.org/base/stable/8@201860 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/dev/vge/if_vge.c