Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

dev_queue_xmit(9) [centos man page]

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)

Check Out this Related Man Page

WIMAX_MSG_ALLOC(9)						 Linux Networking						WIMAX_MSG_ALLOC(9)

NAME
wimax_msg_alloc - Create a new skb for sending a message to userspace SYNOPSIS
struct sk_buff * wimax_msg_alloc(struct wimax_dev * wimax_dev, const char * pipe_name, const void * msg, size_t size, gfp_t gfp_flags); ARGUMENTS
wimax_dev WiMAX device descriptor pipe_name "named pipe" the message will be sent to msg pointer to the message data to send size size of the message to send (in bytes), including the header. gfp_flags flags for memory allocation. RETURNS
0 if ok, negative errno code on error DESCRIPTION
Allocates an skb that will contain the message to send to user space over the messaging pipe and initializes it, copying the payload. Once this call is done, you can deliver it with wimax_msg_send. IMPORTANT
Don't use skb_push/skb_pull/skb_reserve on the skb, as wimax_msg_send depends on skb->data being placed at the beginning of the user message. Unlike other WiMAX stack calls, this call can be used way early, even before wimax_dev_add is called, as long as the wimax_dev->net_dev pointer is set to point to a proper net_dev. This is so that drivers can use it early in case they need to send stuff around or communicate with user space. COPYRIGHT
Kernel Hackers Manual 3.10 June 2014 WIMAX_MSG_ALLOC(9)
Man Page