Re: [PATCH 3/3] ipgre: capture inner headers duringencapsulation

From: Dmitry Kravkov
Date: Sun Nov 11 2012 - 10:18:31 EST


On Thu, 2012-11-08 at 18:18 -0800, Joseph Gasparakis wrote:
>
> if (skb->ip_summed == CHECKSUM_PARTIAL &&
> skb_checksum_help(skb))
> @@ -902,6 +903,17 @@ static netdev_tx_t ipgre_tunnel_xmit(struct sk_buff *skb, struct net_device *dev
> tunnel->err_count = 0;
> }
>
> + offset = skb->data - skb->head;
> +
> + skb_reset_inner_mac_header(skb);
> +
> + if (skb->network_header)
> + skb_set_inner_network_header(skb, skb->network_header - offset);
> +
> + if (skb->transport_header)
> + skb_set_inner_transport_header(skb, skb->transport_header -
> + offset);
> +
> max_headroom = LL_RESERVED_SPACE(tdev) + gre_hlen + rt->dst.header_len;
>
> if (skb_headroom(skb) < max_headroom || skb_shared(skb)||

How it will be useful if skb_checksum_help(skb) will calculate csum? And
leaves nothing to offload



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/