Merge branch 'Introduce-matching-on-double-vlan-QinQ-headers-for-TC-flower'
authorDavid S. Miller <davem@davemloft.net>
Sat, 7 Jul 2018 11:51:53 +0000 (20:51 +0900)
committerDavid S. Miller <davem@davemloft.net>
Sat, 7 Jul 2018 11:51:53 +0000 (20:51 +0900)
commit4af4f7e8d8d10617b247020e52007acc3da2e22f
tree2ca0b9ba8c473c49baefc3081cedd5bda5e3eb37
parent94c763513452b466d1e5c86b9d883ba13c9a031a
parentd64efd0926ba4f32e657e615a4f4a6170d5cc0fa
Merge branch 'Introduce-matching-on-double-vlan-QinQ-headers-for-TC-flower'

Jianbo Liu says:

====================
Introduce matching on double vlan/QinQ headers for TC flower

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

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

v2:
  fix sparse warning.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>