[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <DM8PR12MB540062ECEFFA463C69FD08C9AB2B9@DM8PR12MB5400.namprd12.prod.outlook.com>
Date: Wed, 19 Oct 2022 05:31:48 +0000
From: Eli Cohen <elic@...dia.com>
To: Si-Wei Liu <si-wei.liu@...cle.com>,
"mst@...hat.com" <mst@...hat.com>,
"jasowang@...hat.com" <jasowang@...hat.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"virtualization@...ts.linux-foundation.org"
<virtualization@...ts.linux-foundation.org>
CC: "eperezma@...hat.com" <eperezma@...hat.com>,
"lulu@...hat.com" <lulu@...hat.com>
Subject: RE: [PATCH 1/4] vdpa/mlx5: Fix rule forwarding VLAN to TIR
> From: Si-Wei Liu <si-wei.liu@...cle.com>
> Sent: Tuesday, 18 October 2022 22:21
> To: Eli Cohen <elic@...dia.com>; mst@...hat.com; jasowang@...hat.com;
> linux-kernel@...r.kernel.org; virtualization@...ts.linux-foundation.org
> Cc: eperezma@...hat.com; lulu@...hat.com
> Subject: Re: [PATCH 1/4] vdpa/mlx5: Fix rule forwarding VLAN to TIR
>
> Hi Eli,
>
> It's not for this patch but something related, so just a friendly
> heads-up. I haven't validated the VLAN tagging behavior yet for mlx5
> vdpa, but from my quick read of the code it doesn't seem it
> differentiates the case with and without VIRTIO_NET_F_CTRL_VLAN, to be
> compatible/compliant with what's been implemented in QEMU software (a
> spec addendum was filed as requested by Michael):
>
> https://github.com/oasis-tcs/virtio-spec/issues/147
>
> - when VIRTIO_NET_F_CTRL_VLAN is negotiated, the device starts with
> all VLANs filtered (meaning only untagged traffic can be received,
> and traffic with VLAN tag will be dropped).
>
> - when VIRTIO_NET_F_CTRL_VLAN is not negotiated, all traffic including
> untagged and tagged can be received.
>
> Can you please help check if we need further fix in terms of VLAN tagging?
>
Sure. It's broken today. I will fix this to conform to the above requirements and send V1.
> Thanks,
> -Siwei
>
>
> On 10/18/2022 4:12 AM, Eli Cohen wrote:
> > Set the VLAN id to the header values field instead of overwriting the
> > headers criteria field.
> >
> > Before this fix, VLAN filtering would not really work and tagged packets
> > would be forwarded unfiltered to the TIR.
> >
> > Fixes: baf2ad3f6a98 ("vdpa/mlx5: Add RX MAC VLAN filter support")
> >
> > Signed-off-by: Eli Cohen <elic@...dia.com>
> Reviewed-by: Si-Wei Liu <si-wei.liu@...cle.com>
>
> > ---
> > drivers/vdpa/mlx5/net/mlx5_vnet.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/vdpa/mlx5/net/mlx5_vnet.c
> b/drivers/vdpa/mlx5/net/mlx5_vnet.c
> > index 90913365def4..dd29fdfc24ed 100644
> > --- a/drivers/vdpa/mlx5/net/mlx5_vnet.c
> > +++ b/drivers/vdpa/mlx5/net/mlx5_vnet.c
> > @@ -1472,7 +1472,7 @@ static int mlx5_vdpa_add_mac_vlan_rules(struct
> mlx5_vdpa_net *ndev, u8 *mac,
> > if (tagged) {
> > MLX5_SET(fte_match_set_lyr_2_4, headers_v, cvlan_tag, 1);
> > MLX5_SET_TO_ONES(fte_match_set_lyr_2_4, headers_c,
> first_vid);
> > - MLX5_SET(fte_match_set_lyr_2_4, headers_c, first_vid, vid);
> > + MLX5_SET(fte_match_set_lyr_2_4, headers_v, first_vid, vid);
> > }
> > flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST;
> > dest.type = MLX5_FLOW_DESTINATION_TYPE_TIR;
Powered by blists - more mailing lists