[PATCH net-next V15 0/3] openvswitch: Add support for 802.1ad

STALE4002d

Revision v15 of 7 in this series.

5 messages, 4 authors, 2015-10-13 · open the first message on its own page

[PATCH net-next V15 0/3] openvswitch: Add support for 802.1ad

From: Thomas F Herbert <hidden>
Date: 2015-10-10 23:40:51

Thomas F Herbert (3):
  openvswitch: 802.1ad uapi changes.
  Check for vlan ethernet types for 8021.q or 802.1ad
  802.1AD: Flow handling, actions, vlan parsing and netlink attributes

 include/linux/if_vlan.h          |  17 ++++
 include/uapi/linux/openvswitch.h |  17 ++--
 net/openvswitch/actions.c        |   6 +-
 net/openvswitch/flow.c           |  92 ++++++++++++++++++----
 net/openvswitch/flow.h           |  11 ++-
 net/openvswitch/flow_netlink.c   | 166 +++++++++++++++++++++++++++++++++++----
 net/openvswitch/vport-netdev.c   |   4 +-
 7 files changed, 271 insertions(+), 42 deletions(-)

This patch accompanies version 14 of the user level openvswitch patch
submitted to openvswitch dev list.

V15: Implement reviewer comments.

V14: Add outer tpid to flow_key

V13: Fix incorrect encoding and decoding of netlink to/from key
attributes.

V12: Fix some problems and issues pointed out by reviewers. When parsing
netlink attributes Ether types other then 0x88a8 as outer tpid.

V11: Add inner tpid to flow key. Fix separate inner encap attribute
when parsing netlink attributes. Merge 2 patches to consolidate
qinq changes.

V10: Implement reviewer comments: Consolidate vlan parsing functions.
Splits netlink parsing and flow conversion into a separate patch. Uses
double encap attribute encapsulation for 802.1ad.  Netlink attributes
now look like this:

    eth_type(0x88a8),vlan(vid=100),encap(eth_type(0x8100), vlan(vid=200),
                     encap(eth_type(0x0800), ...))

The double encap atributes in this version of the patch is incompatible with
old versions of the user level 802.1ad patch. A new user level patch which
is also being submitted simultaneously to openvswitch dev mailing list.

V9:  Includes changes suggested by reviewers

V8:  Includes changes suggested by reviewers

V7:  Includes changes suggested by reviewers

V6:  Rebased to net-next

V5:  Use encapsulated attributes


For discussion, history  and previous versions of the kernel module
patch and the user code patch see the OVS dev mailing list,
openvswitch.org/pipermail/dev/..

-- 
2.4.3

[PATCH net-next V15 2/3] Check for vlan ethernet types for 8021.q or 802.1ad

From: Thomas F Herbert <hidden>
Date: 2015-10-10 23:41:01

Signed-off-by: Thomas F Herbert <redacted>
---
 include/linux/if_vlan.h | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
diff --git a/include/linux/if_vlan.h b/include/linux/if_vlan.h
index 67ce5bd..88d1be4 100644
--- a/include/linux/if_vlan.h
+++ b/include/linux/if_vlan.h
@@ -627,6 +627,23 @@ static inline netdev_features_t vlan_features_check(const struct sk_buff *skb,
 
 	return features;
 }
+/**
+ * eth_type_vlan - check for valid vlan ether type.
+ * @ethertype: ether type to check
+ *
+ * Returns true if the ether type is a vlan ether type.
+ */
+static inline bool eth_type_vlan(__be16 ethertype)
+{
+	switch (ethertype) {
+	case (htons(ETH_P_8021Q)):
+		return true;
+	case (htons(ETH_P_8021AD)):
+		return true;
+	default:
+		return false;
+	}
+}
 
 /**
  * compare_vlan_header - Compare two vlan headers
-- 
2.4.3

Re: [PATCH net-next V15 2/3] Check for vlan ethernet types for 8021.q or 802.1ad

From: Sergei Shtylyov <hidden>
Date: 2015-10-12 13:52:08

Hello.

On 10/11/2015 2:40 AM, Thomas F Herbert wrote:
quoted hunk
Signed-off-by: Thomas F Herbert <redacted>
---
  include/linux/if_vlan.h | 17 +++++++++++++++++
  1 file changed, 17 insertions(+)
diff --git a/include/linux/if_vlan.h b/include/linux/if_vlan.h
index 67ce5bd..88d1be4 100644
--- a/include/linux/if_vlan.h
+++ b/include/linux/if_vlan.h
@@ -627,6 +627,23 @@ static inline netdev_features_t vlan_features_check(const struct sk_buff *skb,

  	return features;
  }
+/**
+ * eth_type_vlan - check for valid vlan ether type.
+ * @ethertype: ether type to check
+ *
+ * Returns true if the ether type is a vlan ether type.
+ */
+static inline bool eth_type_vlan(__be16 ethertype)
+{
+	switch (ethertype) {
+	case (htons(ETH_P_8021Q)):
+		return true;
+	case (htons(ETH_P_8021AD)):
+		return true;
    I'm not sure if I've already suggested that or not but why not merge these 
2 cases?
+	default:
+		return false;
+	}
+}
[...]

MBR, Sergei

Re: [PATCH net-next V15 0/3] openvswitch: Add support for 802.1ad

From: David Miller <davem@davemloft.net>
Date: 2015-10-13 02:42:41

From: Thomas F Herbert <redacted>
Date: Sat, 10 Oct 2015 19:40:30 -0400
Thomas F Herbert (3):
  openvswitch: 802.1ad uapi changes.
  Check for vlan ethernet types for 8021.q or 802.1ad
  802.1AD: Flow handling, actions, vlan parsing and netlink attributes
I think this patch series has gone long enough, can I get some ACK's
ASAP for this V15 posting?

Thanks.

Re: [PATCH net-next V15 0/3] openvswitch: Add support for 802.1ad

From: Pravin Shelar <hidden>
Date: 2015-10-13 06:48:22

On Mon, Oct 12, 2015 at 7:58 PM, David Miller [off-list ref] wrote:
From: Thomas F Herbert <redacted>
Date: Sat, 10 Oct 2015 19:40:30 -0400
quoted
Thomas F Herbert (3):
  openvswitch: 802.1ad uapi changes.
  Check for vlan ethernet types for 8021.q or 802.1ad
  802.1AD: Flow handling, actions, vlan parsing and netlink attributes
I think this patch series has gone long enough, can I get some ACK's
ASAP for this V15 posting?
I know this is taking bit long but this patch-set is touching one of
most complex netlink attributes processing code in OVS. I think we are
very close to final version. As of now I am seeing couple of bugs, one
of the bug is newly introduced in this version. And there is still
code duplication in flow extract. So I can not ack the patch yet.
Sorry for the delay.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help