On Mon, Apr 22, 2013 at 7:19 PM, Simon Horman <ho...@verge.net.au> wrote: > In the case where a non-MPLS GSO skb becomes an MPLS GSO skb, via > Open vSwitch's push MPLS action it is desirable to provide segmentation > in software. In this case the original protocol of the skb may have allowed > its checksumming to be offloaded but this may no longer be supported now > the skb is MPLS. Actually it seems to me that this is the likely case. > > In order to allow the checksum to be updated in this case loosen > the rules for recalculating the checksum on in skb_segment(). > > N.B.: I must confess that I am a little unsure of the details of > the implementation of skb_checksum(). But I have observed that this > is necessary as skb_checksum() hits the following: > > if (!hsize && i >= nfrags) { > ... > fskb = fskb->next; > ... > } > ... > if (fskb != skb_shinfo(skb)->frag_list) > ... > > Signed-off-by: Simon Horman <ho...@verge.net.au>
I'm surprised at the need for changes here since neither vlans nor tunneling protocols needed something similar. Do you know what is special about MPLS that is triggering this? _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev