From: Jianbo Liu <jianbol@mellanox.com>
To: netdev@vger.kernel.org, davem@davemloft.net, jiri@resnulli.us
Cc: Jianbo Liu <jianbol@mellanox.com>
Subject: [PATCH net-next 0/5] Introduce matching on double vlan/QinQ headers for TC flower
Date: Sat, 30 Jun 2018 09:53:12 +0000 [thread overview]
Message-ID: <20180630095317.5691-1-jianbol@mellanox.com> (raw)
Currently TC flower supports only one vlan tag, it doesn't match on both outer
and inner vlan headers for QinQ. To do this, we add support to get both outer
and inner vlan headers for flow dissector, and then TC flower do matching on
those information.
We also plan to extend TC command to support this feature. We add new
cvlan_id/cvlan_prio/cvlan_ethtype keywords for inner vlan header. The existing
vlan_id/vlan_prio/vlan_ethtype are for outer vlan header, and vlan_ethtype must
be 802.1q or 802.1ad.
The examples for command and output are as the following.
# tc filter add dev ens1f1 parent ffff: protocol 802.1ad pref 33 \
flower vlan_id 1000 vlan_ethtype 802.1q \
cvlan_id 100 cvlan_ethtype ipv4 \
action vlan pop \
action vlan pop \
action mirred egress redirect dev ens1f1_0
# tc filter show dev ens1f1 ingress
filter protocol 802.1ad pref 33 flower chain 0
filter protocol 802.1ad pref 33 flower chain 0 handle 0x1
vlan_id 1000
vlan_ethtype 802.1Q
cvlan_id 100
cvlan_ethtype ip
eth_type ipv4
in_hw
...
Jianbo Liu (5):
net/flow_dissector: Save vlan ethertype from headers
net/sched: flower: Add support for matching on vlan ethertype
net/flow_dissector: Add support for QinQ dissection
net/sched: flower: Dump the ethertype encapsulated in vlan
net/sched: flower: Add supprt for matching on QinQ vlan headers
include/net/flow_dissector.h | 4 ++-
include/uapi/linux/pkt_cls.h | 4 +++
net/core/flow_dissector.c | 34 +++++++++++----------
net/sched/cls_flower.c | 70 ++++++++++++++++++++++++++++++++++++--------
4 files changed, 83 insertions(+), 29 deletions(-)
--
2.9.5
next reply other threads:[~2018-06-30 9:53 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-30 9:53 Jianbo Liu [this message]
2018-06-30 9:53 ` [PATCH net-next 1/5] net/flow_dissector: Save vlan ethertype from headers Jianbo Liu
2018-06-30 9:53 ` [PATCH net-next 2/5] net/sched: flower: Add support for matching on vlan ethertype Jianbo Liu
2018-06-30 9:53 ` [PATCH net-next 3/5] net/flow_dissector: Add support for QinQ dissection Jianbo Liu
2018-06-30 9:53 ` [PATCH net-next 4/5] net/sched: flower: Dump the ethertype encapsulated in vlan Jianbo Liu
2018-06-30 12:54 ` kbuild test robot
2018-06-30 9:53 ` [PATCH net-next 5/5] net/sched: flower: Add supprt for matching on QinQ vlan headers Jianbo Liu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180630095317.5691-1-jianbol@mellanox.com \
--to=jianbol@mellanox.com \
--cc=davem@davemloft.net \
--cc=jiri@resnulli.us \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox