]> git.proxmox.com Git - mirror_iproute2.git/commitdiff
tc flower: fix parsing vlan_id and vlan_prio
authorRoi Dayan <roid@nvidia.com>
Tue, 24 Nov 2020 12:28:10 +0000 (14:28 +0200)
committerDavid Ahern <dsahern@gmail.com>
Wed, 25 Nov 2020 04:45:20 +0000 (21:45 -0700)
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: 4c551369e083 ("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>
tc/f_flower.c

index 58e1140d7391f2bd9a952ba517b0af8fe0b07e4b..9b278f3c0e83d4b21e6f506a636d6a6893554107 100644 (file)
@@ -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;
                        }