1SKB_SEQ_READ(9) Linux Networking SKB_SEQ_READ(9)
2
3
4
6 skb_seq_read - Sequentially read skb data
7
9 unsigned int skb_seq_read(unsigned int consumed, const u8 ** data,
10 struct skb_seq_state * st);
11
13 consumed
14 number of bytes consumed by the caller so far
15
16 data
17 destination pointer for data to be returned
18
19 st
20 state variable
21
23 Reads a block of skb data at consumed relative to the lower offset
24 specified to skb_prepare_seq_read. Assigns the head of the data block
25 to data and returns the length of the block or 0 if the end of the skb
26 data or the upper offset has been reached.
27
28 The caller is not required to consume all of the data returned, i.e.
29 consumed is typically set to the number of bytes already consumed and
30 the next call to skb_seq_read will return the remaining part of the
31 block.
32
34 The size of each block of data returned can be arbitrary, this
35 limitation is the cost for zerocopy seqeuental reads of potentially non
36 linear data.
37
39 Fragment lists within fragments are not implemented at the moment,
40 state->root_skb could be replaced with a stack for this purpose.
41
43Kernel Hackers Manual 3.10 June 2019 SKB_SEQ_READ(9)