lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 23 Apr 2013 11:19:14 +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 net-next 0/2] Small Modifications to GSO to allow segmentation of MPLS (repost)

[ Reposting with net-next in subject prefix,
  sorry for forgetting that the first time around ]

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 have posted a patch, "[PATCH v2.26] 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.8.2.1

--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ