Lines Matching refs:hlen
687 int ip6_fraglist_init(struct sk_buff *skb, unsigned int hlen, u8 *prevhdr,
696 iter->tmp_hdr = kmemdup(skb_network_header(skb), hlen, GFP_ATOMIC);
704 iter->hlen = hlen;
708 __skb_pull(skb, hlen);
710 __skb_push(skb, hlen);
712 memcpy(skb_network_header(skb), iter->tmp_hdr, hlen);
732 unsigned int hlen = iter->hlen;
738 __skb_push(frag, hlen);
740 memcpy(skb_network_header(frag), iter->tmp_hdr, hlen);
741 iter->offset += skb->len - hlen - sizeof(struct frag_hdr);
753 void ip6_frag_init(struct sk_buff *skb, unsigned int hlen, unsigned int mtu,
761 state->hlen = hlen;
764 state->left = skb->len - hlen; /* Space per frame */
765 state->ptr = hlen; /* Where to start from */
791 frag = alloc_skb(len + state->hlen + sizeof(struct frag_hdr) +
802 skb_put(frag, len + state->hlen + sizeof(struct frag_hdr));
804 fh = (struct frag_hdr *)(skb_network_header(frag) + state->hlen);
805 frag->transport_header = (frag->network_header + state->hlen +
818 skb_copy_from_linear_data(skb, skb_network_header(frag), state->hlen);
859 unsigned int mtu, hlen, nexthdr_offset;
868 hlen = err;
894 if (mtu < hlen + sizeof(struct frag_hdr) + 8)
896 mtu -= hlen + sizeof(struct frag_hdr);
912 if (first_len - hlen > mtu ||
913 ((first_len - hlen) & 7) ||
922 skb_headroom(frag) < (hlen + hroom + sizeof(struct frag_hdr)))
937 err = ip6_fraglist_init(skb, hlen, prevhdr, nexthdr, frag_id,
994 ip6_frag_init(skb, hlen, mtu, rt->dst.dev->needed_tailroom,