Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 Dec 2012 20:01:54 -0500
From:      Ryan Stone <rysto32@gmail.com>
To:        Tsaregorodtsev Denis <telemat@extrim.it>
Cc:        freebsd-net <freebsd-net@freebsd.org>
Subject:   Re: 'no buffer space available' after switch goes down on freeBSD 7.3
Message-ID:  <CAFMmRNz9VDGg12_XbdhAfURPm3Vs5=nH6aEzqA0281Rq5iOOMA@mail.gmail.com>
In-Reply-To: <50D7F61A.5020304@extrim.it>
References:  <50D45282.5080708@extrim.it> <CAFMmRNy26AvdJjW9N4zPNPYrVYn1a2Qr8W5qy9MTV_30dvCqCA@mail.gmail.com> <50D7F61A.5020304@extrim.it>

next in thread | previous in thread | raw e-mail | index | archive | help
I don't believe that this is fixed in later versions of the driver. The
problem is that when the interface loses link the transmit queue can fill
up. Once that happens the driver never gets any more calls from the network
stack to make it send packets. Pinging the interface fixes it because the
driver processes rx.and tx from the same context, so when it receives a
packet it starts transmitting again.

The patch that I sent fixes the problem by forcing the driver to process
the tx queue when ever links goes from down to up.



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