[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180706053817.17712-2-jianbol@mellanox.com>
Date: Fri, 6 Jul 2018 05:38:12 +0000
From: Jianbo Liu <jianbol@...lanox.com>
To: netdev@...r.kernel.org, davem@...emloft.net, jiri@...nulli.us
Cc: Jianbo Liu <jianbol@...lanox.com>, Jiri Pirko <jiri@...lanox.com>,
Simon Horman <simon.horman@...ronome.com>,
Andrew Lunn <andrew@...n.ch>, Tom Herbert <tom@...ntonium.net>,
John Crispin <john@...ozen.org>,
Paolo Abeni <pabeni@...hat.com>,
Sven Eckelmann <sven.eckelmann@...nmesh.com>,
WANG Cong <xiyou.wangcong@...il.com>,
David Ahern <dsahern@...il.com>,
Jon Maloy <jon.maloy@...csson.com>
Subject: [PATCH v2 net-next 1/5] net/flow_dissector: Save vlan ethertype from headers
Change vlan dissector key to save vlan tpid to support both 802.1Q
and 802.1AD ethertype.
Signed-off-by: Jianbo Liu <jianbol@...lanox.com>
Acked-by: Jiri Pirko <jiri@...lanox.com>
---
include/net/flow_dissector.h | 2 +-
net/core/flow_dissector.c | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/include/net/flow_dissector.h b/include/net/flow_dissector.h
index adc24df5..8f89968 100644
--- a/include/net/flow_dissector.h
+++ b/include/net/flow_dissector.h
@@ -47,7 +47,7 @@ struct flow_dissector_key_tags {
struct flow_dissector_key_vlan {
u16 vlan_id:12,
vlan_priority:3;
- u16 padding;
+ __be16 vlan_tpid;
};
struct flow_dissector_key_mpls {
diff --git a/net/core/flow_dissector.c b/net/core/flow_dissector.c
index 53f96e4..18cb99b 100644
--- a/net/core/flow_dissector.c
+++ b/net/core/flow_dissector.c
@@ -751,6 +751,7 @@ bool __skb_flow_dissect(const struct sk_buff *skb,
const struct vlan_hdr *vlan;
struct vlan_hdr _vlan;
bool vlan_tag_present = skb && skb_vlan_tag_present(skb);
+ __be16 saved_vlan_tpid = proto;
if (vlan_tag_present)
proto = skb->protocol;
@@ -789,6 +790,7 @@ bool __skb_flow_dissect(const struct sk_buff *skb,
(ntohs(vlan->h_vlan_TCI) &
VLAN_PRIO_MASK) >> VLAN_PRIO_SHIFT;
}
+ key_vlan->vlan_tpid = saved_vlan_tpid;
}
fdret = FLOW_DISSECT_RET_PROTO_AGAIN;
--
2.9.5
Powered by blists - more mailing lists