tc flower: fix parsing vlan_id and vlan_prio
When protocol is vlan then eth_type is set to the vlan eth type.
So when parsing vlan_id and vlan_prio need to check tc_proto
is vlan and not eth_type.
Fixes: 4c551369e0 ("tc flower: use right ethertype in icmp/arp parsing")
Signed-off-by: Roi Dayan <roid@nvidia.com>
Signed-off-by: David Ahern <dsahern@gmail.com>
This commit is contained in:
parent
ca5ec9a17a
commit
ed40b7e2ae
|
|
@ -1432,7 +1432,7 @@ static int flower_parse_opt(struct filter_util *qu, char *handle,
|
|||
__u16 vid;
|
||||
|
||||
NEXT_ARG();
|
||||
if (!eth_type_vlan(eth_type)) {
|
||||
if (!eth_type_vlan(tc_proto)) {
|
||||
fprintf(stderr, "Can't set \"vlan_id\" if ethertype isn't 802.1Q or 802.1AD\n");
|
||||
return -1;
|
||||
}
|
||||
|
|
@ -1446,7 +1446,7 @@ static int flower_parse_opt(struct filter_util *qu, char *handle,
|
|||
__u8 vlan_prio;
|
||||
|
||||
NEXT_ARG();
|
||||
if (!eth_type_vlan(eth_type)) {
|
||||
if (!eth_type_vlan(tc_proto)) {
|
||||
fprintf(stderr, "Can't set \"vlan_prio\" if ethertype isn't 802.1Q or 802.1AD\n");
|
||||
return -1;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue