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

Reply via email to