1BUILD_SKB(9) Linux Networking BUILD_SKB(9)
2
3
4
6 build_skb - build a network buffer
7
9 struct sk_buff * build_skb(void * data);
10
12 data
13 data buffer provided by caller
14
16 Allocate a new sk_buff. Caller provides space holding head and
17 skb_shared_info. data must have been allocated by kmalloc The return
18 is the new skb buffer. On a failure the return is NULL, and data is not
19 freed.
20
22 Before IO, driver allocates only data buffer where NIC put incoming
23 frame Driver should add room at head (NET_SKB_PAD) and MUST add room at
24 tail (SKB_DATA_ALIGN(skb_shared_info)) After IO, driver calls
25 build_skb, to allocate sk_buff and populate it before giving packet to
26 stack. RX rings only contains data buffers, not full skbs.
27
29Kernel Hackers Manual 2.6. June 2019 BUILD_SKB(9)