'no buffer space available' after switch goes down on freeBSD 7.3
Adrian Chadd
adrian at freebsd.org
Tue Dec 25 03:08:21 UTC 2012
On 24 December 2012 17:59, Mike Karels <mike at karels.net> wrote:
>> [adrian]
>> I think we may need another if_* method which specifically attempts to
>> service the TX queue again; versus just waiting for if_transmit() to
>> make some progress.
> In my opinion, it is wrong of the drivers to queue packets while link
> is down. The packets are delayed indefinitely, and are useless at best.
> In my company's product (McAfee firewall), we had problems with state-sharing
> packets that were way out of date in a cluster. We changed the drivers to
> empty the queue and discard subsequent packets when link was down. No
> special change is needed to restart: the next time a packet is transmitted
> after link comes up, that packet is sent. Our change is not necessarily
> done the way I'd do it for FreeBSD, but it minimizes changes. Patch
> available on request.
I think that's a good way to treat it.
Adrian
More information about the freebsd-net
mailing list