FRAG_CB
struct sk_buff *next = FRAG_CB(skb)->next_frag;
else if (FRAG_CB(last)->ip_defrag_offset + last->len < end) {
if (offset < FRAG_CB(last)->ip_defrag_offset + last->len)
if (offset == FRAG_CB(last)->ip_defrag_offset + last->len)
curr_run_end = FRAG_CB(curr)->ip_defrag_offset +
FRAG_CB(curr)->frag_run_len;
if (end <= FRAG_CB(curr)->ip_defrag_offset)
else if (offset >= FRAG_CB(curr)->ip_defrag_offset &&
FRAG_CB(skb)->ip_defrag_offset = offset;
FRAG_CB(skb)->next_frag = NULL;
FRAG_CB(fp)->next_frag = FRAG_CB(skb)->next_frag;
FRAG_CB(parent)->next_frag = fp;
FRAG_CB(skb)->frag_run_len = skb->len;
FRAG_CB(skb)->next_frag = FRAG_CB(head)->next_frag;
WARN_ON(FRAG_CB(head)->ip_defrag_offset != 0);
fp = FRAG_CB(head)->next_frag;
FRAG_CB(q->last_run_head)->frag_run_len += skb->len;
struct sk_buff *next_frag = FRAG_CB(fp)->next_frag;
FRAG_CB(q->fragments_tail)->next_frag = skb;
skb = FRAG_CB(head)->next_frag;