[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1366356595-3405-1-git-send-email-horms@verge.net.au>
Date: Fri, 19 Apr 2013 16:29:53 +0900
From: Simon Horman <horms@...ge.net.au>
To: dev@...nvswitch.org, netdev@...r.kernel.org
Cc: Jesse Gross <jesse@...ira.com>, jarno.rajahalme@....com,
Joseph Gasparakis <joseph.gasparakis@...el.com>,
Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@...el.com>,
Alexander Duyck <alexander.h.duyck@...el.com>,
Eric Dumazet <eric.dumazet@...il.com>,
Maciej Żenczykowski <maze@...gle.com>,
Simon Horman <horms@...ge.net.au>
Subject: [PATCH 0/2] Small Modifications to GSO to allow segmentation of MPLS
This series consists of two small (at least in terms of numbers of lines
of code changes) that allow support of GSO of non-MPLS GSO skbs that
are changed into MPLS GSO skbs via Open vSwtich and its push MPLS action.
A description of each of the two changes is provided in the changelog
of the two patches that comprise this series.
GSO of MPLS skbs may be achieved by (Open vSwtich) setting the following:
1. skb's mac_header should point to the beginning of the L2 header
(no surprise!)
2. skb's mac_len should be the length of the L2 header plus
the length of the MPLS stack. In other words, the MPLS stack
is considered to be part of the l2 header.
3. skb's natwork_header should be set to just after the end of
the MPLS stack. Or in other words the begining of the L3 header.
This is consistent with 2.
4. skb's protocol should be left as the skb's original (non-MPLS) protocol.
This is used by GSO to determine which callback to use to segment
the (MPLS encapsulated) skb data.
5. The protocol in the skb's mac header should be set to the new
(MPLS) protocol. This is what will appear on the wire.
6. skb's encapsulation_features should be set.
This is introduced and explained in more detail in the first patch of the
series.
I will post a patch, "[PATCH v3.25] datapath: Add basic MPLS support to
kernel" which adds MPLS support to the kernel datapath of Open vSwtich.
That patch sets the above requirements and was used to exercise the MPLS
GSO code. The datapath patch is against the Open vSwtich tree but it is
intended that it be added to the Open vSwtich code present in the mainline
Linux kernel at some point.
Simon Horman (2):
net: More fine-grained support for encapsulated GSO features
net: Loosen constraints for recalculating checksum in skb_segment()
include/linux/skbuff.h | 9 ++++++++-
net/core/dev.c | 2 +-
net/core/skbuff.c | 4 +++-
net/ipv4/gre.c | 1 +
net/ipv4/ipip.c | 1 +
5 files changed, 14 insertions(+), 3 deletions(-)
--
1.7.10.4
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists