On 6/30/18 4:01 AM, Jianbo Liu wrote: > To support matching on both outer and inner vlan headers, > we add new cvlan_id/cvlan_prio/cvlan_ethtype for inner vlan header. > > Example: > # tc filter add dev eth0 protocol 802.1ad parent ffff: \ > 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 eth1 > > # tc filter show dev eth0 ingress > filter protocol 802.1ad pref 1 flower chain 0 > filter protocol 802.1ad pref 1 flower chain 0 handle 0x1 > vlan_id 1000 > vlan_ethtype 802.1Q > cvlan_id 100 > cvlan_ethtype ip > eth_type ipv4 > in_hw > > Signed-off-by: Jianbo Liu <jian...@mellanox.com> > Acked-by: Jiri Pirko <j...@mellanox.com> > --- > include/uapi/linux/pkt_cls.h | 4 ++ > man/man8/tc-flower.8 | 23 ++++++++++ > tc/f_flower.c | 103 > ++++++++++++++++++++++++++++++++++++++----- > 3 files changed, 118 insertions(+), 12 deletions(-) >
applied to iproute2-next. Thanks > diff --git a/tc/f_flower.c b/tc/f_flower.c > index ba8eb66..71f2bc1 100644 > --- a/tc/f_flower.c > +++ b/tc/f_flower.c > @@ -50,6 +50,9 @@ static void explain(void) > " vlan_id VID |\n" > " vlan_prio PRIORITY |\n" > " vlan_ethtype [ ipv4 | ipv6 | ETH-TYPE ] > |\n" > + " cvlan_id VID |\n" > + " cvlan_prio PRIORITY |\n" > + " cvlan_ethtype [ ipv4 | ipv6 | ETH-TYPE > ] |\n" This tendency for 1 option for line makes the output really long and is not user friendly.