A small fix for if_em.c, if_igb.c, if_ixgbe.c
Adrian Chadd
adrian at freebsd.org
Mon Dec 9 03:44:25 UTC 2013
.. I'm saying that we should have if_transmit( )return an error only
on the current packet, and 0 if it was queued.
We don't have a mechanism to say that a queued packet actually made it
onto the wire. Whether we should is a different discussion.
Ie, after thinking about this some more, I'd like to:
* change if_transmit in these drivers to do exactly what you suggest -
it should return an error only if the given packet couldn't be queued.
It shouldn't matter whether it is later transmitted or not - we don't
have a feedback mechanism for that.
* figure out a very specific definition of what xxx_mq_start_locked()
should return - my gut feeling is an error if it couldn't queue a
frame, and 0 if it dispatched a frame to the hardware - and then make
the code match this definition.
-adrian
More information about the freebsd-net
mailing list