Lines Matching refs:hlen
646 int ip6_fraglist_init(struct sk_buff *skb, unsigned int hlen, u8 *prevhdr, in ip6_fraglist_init() argument
655 iter->tmp_hdr = kmemdup(skb_network_header(skb), hlen, GFP_ATOMIC); in ip6_fraglist_init()
663 iter->hlen = hlen; in ip6_fraglist_init()
667 __skb_pull(skb, hlen); in ip6_fraglist_init()
669 __skb_push(skb, hlen); in ip6_fraglist_init()
671 memcpy(skb_network_header(skb), iter->tmp_hdr, hlen); in ip6_fraglist_init()
691 unsigned int hlen = iter->hlen; in ip6_fraglist_prepare() local
697 __skb_push(frag, hlen); in ip6_fraglist_prepare()
699 memcpy(skb_network_header(frag), iter->tmp_hdr, hlen); in ip6_fraglist_prepare()
700 iter->offset += skb->len - hlen - sizeof(struct frag_hdr); in ip6_fraglist_prepare()
712 void ip6_frag_init(struct sk_buff *skb, unsigned int hlen, unsigned int mtu, in ip6_frag_init() argument
720 state->hlen = hlen; in ip6_frag_init()
723 state->left = skb->len - hlen; /* Space per frame */ in ip6_frag_init()
724 state->ptr = hlen; /* Where to start from */ in ip6_frag_init()
750 frag = alloc_skb(len + state->hlen + sizeof(struct frag_hdr) + in ip6_frag_next()
761 skb_put(frag, len + state->hlen + sizeof(struct frag_hdr)); in ip6_frag_next()
763 fh = (struct frag_hdr *)(skb_network_header(frag) + state->hlen); in ip6_frag_next()
764 frag->transport_header = (frag->network_header + state->hlen + in ip6_frag_next()
777 skb_copy_from_linear_data(skb, skb_network_header(frag), state->hlen); in ip6_frag_next()
817 unsigned int mtu, hlen, nexthdr_offset; in ip6_fragment() local
826 hlen = err; in ip6_fragment()
852 if (mtu < hlen + sizeof(struct frag_hdr) + 8) in ip6_fragment()
854 mtu -= hlen + sizeof(struct frag_hdr); in ip6_fragment()
870 if (first_len - hlen > mtu || in ip6_fragment()
871 ((first_len - hlen) & 7) || in ip6_fragment()
880 skb_headroom(frag) < (hlen + hroom + sizeof(struct frag_hdr))) in ip6_fragment()
895 err = ip6_fraglist_init(skb, hlen, prevhdr, nexthdr, frag_id, in ip6_fragment()
947 ip6_frag_init(skb, hlen, mtu, rt->dst.dev->needed_tailroom, in ip6_fragment()