ip_output()/if_output() behaviour
Michael Tuexen
Michael.Tuexen at lurchi.franken.de
Sat Nov 30 08:50:58 UTC 2013
On Nov 29, 2013, at 11:39 PM, Adrian Chadd <adrian at freebsd.org> wrote:
> +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.
I sent the patch already yesterday to the list and Jack. It covers
em, igb and ixgbe.
Best regards
Michael
>
> Thanks!
>
>
>
> -adrian
>
More information about the freebsd-net
mailing list