1. NAME▲

build_skb - build a network buffer

2. SYNOPSIS ▲

struct sk_buff * build_skb(void *  data , unsigned int  frag_size );

3. ARGUMENTS ▲

data
    data buffer provided by caller

frag_size
    size of fragment, or 0 if head was kmalloced

4. DESCRIPTION ▲

Allocate a new sk_buff. Caller provides space holding head and skb_shared_info. data must have been allocated by kmalloc The return is the new skb buffer. On a failure the return is NULL, and data is not freed.

5. NOTES ▲

Before IO, driver allocates only data buffer where NIC put incoming frame Driver should add room at head (NET_SKB_PAD) and MUST add room at tail (SKB_DATA_ALIGN(skb_shared_info)) After IO, driver calls build_skb, to allocate sk_buff and populate it before giving packet to stack. RX rings only contains data buffers, not full skbs.

6. COPYRIGHT ▲