Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 Dec 2013 11:23:38 +0900
From:      Yonghyeon PYUN <pyunyh@gmail.com>
To:        Michael Tuexen <Michael.Tuexen@lurchi.franken.de>
Cc:        Jack F Vogel <jfv@freebsd.org>, "freebsd-net@freebsd.org list" <freebsd-net@freebsd.org>
Subject:   Re: A small fix for if_em.c, if_igb.c, if_ixgbe.c
Message-ID:  <20131202022338.GA3500@michelle.cdnetworks.com>
In-Reply-To: <521B9C2A-EECC-4412-9F68-2235320EF324@lurchi.franken.de>
References:  <521B9C2A-EECC-4412-9F68-2235320EF324@lurchi.franken.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Nov 29, 2013 at 06:24:12PM +0100, Michael Tuexen wrote:
> Dear all,
> 
> ifnet(9) says regarding if_transmit():
> 
> Transmit a packet on an interface or queue it if the interface is
> in use.  This function will return ENOBUFS if the devices software
> and hardware queues are both full.
> 
> The drivers for em, igb and ixgbe might also return an error even
> in the case the packet was enqueued. The attached patches fix this
> issue.

How do you know the packet is successfully enqueued but driver
returns an error?  Do non-buf-ring-aware drivers also show the same
behavior?

> 
> Any comments?

I'm afraid the patch you posted ignores any errors(i.e.
m_defrag(9), bus_dma(9) etc) happened during TX processing.

> 
> Jack: What do you think? Would you prefer to commit the fix if
> you think it is acceptable?
> 
> Best regards
> Michael



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