DEV_QUEUE_XMIT(9) Network device support DEV_QUEUE_XMIT(9)NAMEdev_queue_xmit - transmit a buffer
SYNOPSIS
int dev_queue_xmit(struct sk_buff * skb);
ARGUMENTS
skb
buffer to transmit
DESCRIPTION
Queue a buffer for transmission to a network device. The caller must
have set the device and priority and built the buffer before calling
this function. The function can be called from an interrupt.
A negative errno code is returned on a failure. A success does not
guarantee the frame will be transmitted as it may be dropped due to
congestion or traffic shaping.
-----------------------------------------------------------------------------------
I notice this method can also return errors from the queue disciplines,
including NET_XMIT_DROP, which is a positive value. So, errors can also
be positive.
Regardless of the return value, the skb is consumed, so it is currently
difficult to retry a send to this method. (You can bump the ref count
before sending to hold a reference for retry if you are careful.)
When calling this method, interrupts MUST be enabled. This is because
the BH enable code must have IRQs enabled so that it will not deadlock.
--BLG
COPYRIGHTKernel Hackers Manual 3.11 November 2013 DEV_QUEUE_XMIT(9)