ip_output()/if_output() behaviour
Adrian Chadd
adrian at freebsd.org
Fri Nov 29 22:39:52 UTC 2013
+1
On 29 November 2013 08:14, Julian Elischer <julian at freebsd.org> wrote:
>> ifnet(9) says:
>>
>> 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. ...
>>
>> So I guess returning ENOBUFS when the packet was queued is wrong...
>
> I think it is.
>
> ENOBUFS means "I couldn't proceed due to no buffers"
> not "I used up the last one on this operation".
Yes, it's wrong. ENOBUFS means "couldn't queue; no buffers." Please
provide a diff against igb and I'll make sure Jack/Intel get it into
(his, freebsd) tree.
Thanks!
-adrian
More information about the freebsd-net
mailing list