Lines Matching refs:hlen
600 unsigned int hlen, struct ip_fraglist_iter *iter) in ip_fraglist_init() argument
609 iter->hlen = hlen; in ip_fraglist_init()
621 unsigned int hlen = iter->hlen; in ip_fraglist_prepare() local
628 __skb_push(frag, hlen); in ip_fraglist_prepare()
630 memcpy(skb_network_header(frag), iph, hlen); in ip_fraglist_prepare()
635 iter->offset += skb->len - hlen; in ip_fraglist_prepare()
644 void ip_frag_init(struct sk_buff *skb, unsigned int hlen, in ip_frag_init() argument
651 state->hlen = hlen; in ip_frag_init()
655 state->left = skb->len - hlen; /* Space per frame */ in ip_frag_init()
656 state->ptr = hlen; /* Where to start from */ in ip_frag_init()
695 skb2 = alloc_skb(len + state->hlen + state->ll_rs, GFP_ATOMIC); in ip_frag_next()
705 skb_put(skb2, len + state->hlen); in ip_frag_next()
707 skb2->transport_header = skb2->network_header + state->hlen; in ip_frag_next()
721 skb_copy_from_linear_data(skb, skb_network_header(skb2), state->hlen); in ip_frag_next()
747 iph->tot_len = htons(len + state->hlen); in ip_frag_next()
769 unsigned int mtu, hlen, ll_rs; in ip_do_fragment() local
794 hlen = iph->ihl * 4; in ip_do_fragment()
795 mtu = mtu - hlen; /* Size of data space */ in ip_do_fragment()
810 if (first_len - hlen > mtu || in ip_do_fragment()
811 ((first_len - hlen) & 7) || in ip_do_fragment()
821 skb_headroom(frag) < hlen + ll_rs) in ip_do_fragment()
837 ip_fraglist_init(skb, iph, hlen, &iter); in ip_do_fragment()
895 ip_frag_init(skb, hlen, ll_rs, mtu, IPCB(skb)->flags & IPSKB_FRAG_PMTU, in ip_do_fragment()