Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Jul 2001 15:52:00 -0700 (PDT)
From:      Bill Paul <wpaul@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/pci if_dc.c
Message-ID:  <200107122252.f6CMq0F35245@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
wpaul       2001/07/12 15:52:00 PDT

  Modified files:
    sys/pci              if_dc.c 
  Log:
  Deal with the condition where we lose link in the middle of transmitting
  a bunch of frames. In this case, the dc_link flag is cleared, and dc_start()
  stops draining the if_snd send queue, which results in lots of 'no buffers
  available' errors being reported to applications. The whole idea behind
  not draining the send queue until the link comes up was to avoid having
  the gratuitous ARP being lost while we're waiting for autoneg to complete
  after the interface is first brought up. As an optimization, change the
  test in dc_start() so that we only bail if dc_link is not set _and_ there
  are less than 10 packets in the send queue. If the queue has many frames
  in it, we need to drain them. If the queue has a small number of frames
  in it, we can hold off on sending them until the link comes up.
  
  MFC after: 1 week
  
  Revision  Changes    Path
  1.54      +3 -3      src/sys/pci/if_dc.c


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200107122252.f6CMq0F35245>