RE: [PATCH net-next 1/1] net: stmmac: Add option for VLAN filter fail queue enable

From: Wong, Vee Khee
Date: Tue May 05 2020 - 23:31:19 EST



> -----Original Message-----
> From: netdev-owner@xxxxxxxxxxxxxxx <netdev-owner@xxxxxxxxxxxxxxx> On
> Behalf Of David Miller
> Sent: Friday, April 24, 2020 6:53 AM
> To: Wong, Vee Khee <vee.khee.wong@xxxxxxxxx>
> Cc: peppe.cavallaro@xxxxxx; alexandre.torgue@xxxxxx;
> joabreu@xxxxxxxxxxxx; mcoquelin.stm32@xxxxxxxxx;
> netdev@xxxxxxxxxxxxxxx; linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx;
> linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Ong,
> Boon Leong <boon.leong.ong@xxxxxxxxx>; Voon, Weifeng
> <weifeng.voon@xxxxxxxxx>
> Subject: Re: [PATCH net-next 1/1] net: stmmac: Add option for VLAN filter fail
> queue enable
>
> From: Wong Vee Khee <vee.khee.wong@xxxxxxxxx>
> Date: Thu, 23 Apr 2020 15:00:26 +0800
>
> > From: "Chuah, Kim Tatt" <kim.tatt.chuah@xxxxxxxxx>
> >
> > Add option in plat_stmmacenet_data struct to enable VLAN Filter Fail
> > Queuing. This option allows packets that fail VLAN filter to be routed
> > to a specific Rx queue when Receive All is also set.
> >
> > When this option is enabled:
> > - Enable VFFQ only when entering promiscuous mode, because Receive All
> > will pass up all rx packets that failed address filtering (similar to
> > promiscuous mode).
> > - VLAN-promiscuous mode is never entered to allow rx packet to fail VLAN
> > filters and get routed to selected VFFQ Rx queue.
> >
> > Reviewed-by: Voon Weifeng <weifeng.voon@xxxxxxxxx>
> > Reviewed-by: Ong Boon Leong <boon.leong.ong@xxxxxxxxx>
> > Signed-off-by: Chuah, Kim Tatt <kim.tatt.chuah@xxxxxxxxx>
> > Signed-off-by: Ong Boon Leong <boon.leong.ong@xxxxxxxxx>
>
> Why would you be setting this with a platform attribute? Even if the
> capability exists, wouldn't you want the user to be able to choose to opt out?

Hi Jose/David Miller,

1/ In current implementation, TSN uses VLAN filter that can either accept/reject VLAN-tagged network packets. In some situation, we do not want to drop failed packets, but instead steer the packet to a VLAN Failed Queue Channel.

2/ VLAN Fail Queue Channel will be set to use the RxQ with higheset index as per HW IP configuration because that is the least priority channel.

3/ The way user will enable this feature is through promiscuous mode settings using ifconfig. (e.g. ifconfig enp0s30f4 promisc)

4/ VLAN Filter Fail Packets Queue feature is IP version specific (only applicable to DWMAC5). I would propose we add this under platform data (e.g. dwmac-intel), so that it can be built in according to hardware on a separate patch.

Any thoughts?