Message ID | 20201124122810.46790-1-roid@nvidia.com (mailing list archive) |
---|---|
State | Accepted |
Commit | ed40b7e2ae4da68e62f30fb1f167d774bce46d50 |
Delegated to: | David Ahern |
Headers | show |
Series | [iproute2-next,1/1] tc flower: fix parsing vlan_id and vlan_prio | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Not a local patch |
On Tue, Nov 24, 2020 at 02:28:10PM +0200, Roi Dayan wrote: > 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> > --- > tc/f_flower.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/tc/f_flower.c b/tc/f_flower.c > index 58e1140d7391..9b278f3c0e83 100644 > --- a/tc/f_flower.c > +++ b/tc/f_flower.c > @@ -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; > } > -- Thanks for fixing this. I missed to test the option odering in my tests. Your fix works fine for me. Sorry for missing this. > 2.25.4
On 11/24/20 5:28 AM, Roi Dayan wrote: > 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> > --- > tc/f_flower.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > applied. Thanks for the fix.
Hello: This patch was applied to iproute2/iproute2-next.git (refs/heads/main): On Tue, 24 Nov 2020 14:28:10 +0200 you wrote: > 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> > > [...] Here is the summary with links: - [iproute2-next,1/1] tc flower: fix parsing vlan_id and vlan_prio https://git.kernel.org/pub/scm/network/iproute2/iproute2-next.git/commit/?id=ed40b7e2ae4d You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html
diff --git a/tc/f_flower.c b/tc/f_flower.c index 58e1140d7391..9b278f3c0e83 100644 --- a/tc/f_flower.c +++ b/tc/f_flower.c @@ -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; }
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> --- tc/f_flower.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)