DEV_QUEUE_XMIT(9) Network device support DEV_QUEUE_XMIT(9)
NAME
dev_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
COPYRIGHT
Kernel Hackers Manual 3.10 June 2014 DEV_QUEUE_XMIT(9)