[SK_BUFF]: Introduce skb_network_header_len
For the common sequence "skb->h.raw - skb->nh.raw", similar to skb->mac_len, that is precalculated tho, don't think we need to bloat skb with one more member, so just use this new helper, reducing the number of non-skbuff.h references to the layer headers even more. Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
bff9b61ce3
commit
cfe1fc7759
@@ -679,7 +679,7 @@ static int ip6_frag_reasm(struct frag_queue *fq, struct sk_buff **skb_in,
|
||||
/* Yes, and fold redundant checksum back. 8) */
|
||||
if (head->ip_summed == CHECKSUM_COMPLETE)
|
||||
head->csum = csum_partial(skb_network_header(head),
|
||||
head->h.raw - head->nh.raw,
|
||||
skb_network_header_len(head),
|
||||
head->csum);
|
||||
|
||||
rcu_read_lock();
|
||||
@@ -715,13 +715,15 @@ static int ipv6_frag_rcv(struct sk_buff **skbp)
|
||||
/* Jumbo payload inhibits frag. header */
|
||||
if (hdr->payload_len==0) {
|
||||
IP6_INC_STATS(ip6_dst_idev(skb->dst), IPSTATS_MIB_INHDRERRORS);
|
||||
icmpv6_param_prob(skb, ICMPV6_HDR_FIELD, skb->h.raw-skb->nh.raw);
|
||||
icmpv6_param_prob(skb, ICMPV6_HDR_FIELD,
|
||||
skb_network_header_len(skb));
|
||||
return -1;
|
||||
}
|
||||
if (!pskb_may_pull(skb, (skb_transport_offset(skb) +
|
||||
sizeof(struct frag_hdr)))) {
|
||||
IP6_INC_STATS(ip6_dst_idev(skb->dst), IPSTATS_MIB_INHDRERRORS);
|
||||
icmpv6_param_prob(skb, ICMPV6_HDR_FIELD, skb->h.raw-skb->nh.raw);
|
||||
icmpv6_param_prob(skb, ICMPV6_HDR_FIELD,
|
||||
skb_network_header_len(skb));
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user