SKB_CLONE(9) Linux Networking SKB_CLONE(9)NAME
skb_clone - duplicate an sk_buff
SYNOPSIS
struct sk_buff * skb_clone(struct sk_buff * skb, gfp_t gfp_mask);
ARGUMENTS
skb
buffer to clone
gfp_mask
allocation priority
DESCRIPTION
Duplicate an sk_buff. The new one is not owned by a socket. Both copies share the same packet data but not structure. The new buffer has a
reference count of 1. If the allocation fails the function returns NULL otherwise the new buffer is returned.
If this function is called from an interrupt gfp_mask must be GFP_ATOMIC.
COPYRIGHT Kernel Hackers Manual 2.6. July 2010 SKB_CLONE(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)