2023-04-03 08:35:31

by Clark Wang

[permalink] [raw]
Subject: [PATCH] net: stmmac: remove the limitation of adding vlan in promisc mode

When using brctl to add eqos to a bridge, it will frist set eqos to
promisc mode and then set a VLAN for this bridge with a filer VID value
of 1.

These two error returns limit the use of brctl, resulting in the
inability of the bridge to be enabled on eqos. So remove them.

Signed-off-by: Clark Wang <[email protected]>
---
drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c | 12 ------------
1 file changed, 12 deletions(-)

diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c b/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c
index 8c7a0b7c9952..64bbe15a699e 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c
@@ -472,12 +472,6 @@ static int dwmac4_add_hw_vlan_rx_fltr(struct net_device *dev,
if (vid > 4095)
return -EINVAL;

- if (hw->promisc) {
- netdev_err(dev,
- "Adding VLAN in promisc mode not supported\n");
- return -EPERM;
- }
-
/* Single Rx VLAN Filter */
if (hw->num_vlan == 1) {
/* For single VLAN filter, VID 0 means VLAN promiscuous */
@@ -527,12 +521,6 @@ static int dwmac4_del_hw_vlan_rx_fltr(struct net_device *dev,
{
int i, ret = 0;

- if (hw->promisc) {
- netdev_err(dev,
- "Deleting VLAN in promisc mode not supported\n");
- return -EPERM;
- }
-
/* Single Rx VLAN Filter */
if (hw->num_vlan == 1) {
if ((hw->vlan_filter[0] & GMAC_VLAN_TAG_VID) == vid) {
--
2.34.1


2023-04-03 08:44:52

by Ahmad Fatoum

[permalink] [raw]
Subject: Re: [Linux-stm32] [PATCH] net: stmmac: remove the limitation of adding vlan in promisc mode

Hello Clark,

On 03.04.23 10:17, Clark Wang wrote:
> When using brctl to add eqos to a bridge, it will frist set eqos to
> promisc mode and then set a VLAN for this bridge with a filer VID value
> of 1.
>
> These two error returns limit the use of brctl, resulting in the
> inability of the bridge to be enabled on eqos. So remove them.
>
> Signed-off-by: Clark Wang <[email protected]>

Please add a suitable Fixes: tag pointing at the commit introducing
the regression.

Thanks,
Ahmad

> ---
> drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c | 12 ------------
> 1 file changed, 12 deletions(-)
>
> diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c b/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c
> index 8c7a0b7c9952..64bbe15a699e 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c
> @@ -472,12 +472,6 @@ static int dwmac4_add_hw_vlan_rx_fltr(struct net_device *dev,
> if (vid > 4095)
> return -EINVAL;
>
> - if (hw->promisc) {
> - netdev_err(dev,
> - "Adding VLAN in promisc mode not supported\n");
> - return -EPERM;
> - }
> -
> /* Single Rx VLAN Filter */
> if (hw->num_vlan == 1) {
> /* For single VLAN filter, VID 0 means VLAN promiscuous */
> @@ -527,12 +521,6 @@ static int dwmac4_del_hw_vlan_rx_fltr(struct net_device *dev,
> {
> int i, ret = 0;
>
> - if (hw->promisc) {
> - netdev_err(dev,
> - "Deleting VLAN in promisc mode not supported\n");
> - return -EPERM;
> - }
> -
> /* Single Rx VLAN Filter */
> if (hw->num_vlan == 1) {
> if ((hw->vlan_filter[0] & GMAC_VLAN_TAG_VID) == vid) {

--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |

2023-04-03 08:48:30

by Clark Wang

[permalink] [raw]
Subject: RE: [Linux-stm32] [PATCH] net: stmmac: remove the limitation of adding vlan in promisc mode

Hi Ahmad,

> -----Original Message-----
> From: Ahmad Fatoum <[email protected]>
> Sent: 2023??4??3?? 16:42
> To: Clark Wang <[email protected]>; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]
> Cc: [email protected]; [email protected];
> [email protected]; [email protected]
> Subject: Re: [Linux-stm32] [PATCH] net: stmmac: remove the limitation of
> adding vlan in promisc mode
>
> Hello Clark,
>
> On 03.04.23 10:17, Clark Wang wrote:
> > When using brctl to add eqos to a bridge, it will frist set eqos to
> > promisc mode and then set a VLAN for this bridge with a filer VID
> > value of 1.
> >
> > These two error returns limit the use of brctl, resulting in the
> > inability of the bridge to be enabled on eqos. So remove them.
> >
> > Signed-off-by: Clark Wang <[email protected]>
>
> Please add a suitable Fixes: tag pointing at the commit introducing the
> regression.


Thanks. I will add it in V2.

Best Regards,
Clark Wang
>
> Thanks,
> Ahmad
>
> > ---
> > drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c | 12 ------------
> > 1 file changed, 12 deletions(-)
> >
> > diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c
> > b/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c
> > index 8c7a0b7c9952..64bbe15a699e 100644
> > --- a/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c
> > +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c
> > @@ -472,12 +472,6 @@ static int dwmac4_add_hw_vlan_rx_fltr(struct
> net_device *dev,
> > if (vid > 4095)
> > return -EINVAL;
> >
> > - if (hw->promisc) {
> > - netdev_err(dev,
> > - "Adding VLAN in promisc mode not supported\n");
> > - return -EPERM;
> > - }
> > -
> > /* Single Rx VLAN Filter */
> > if (hw->num_vlan == 1) {
> > /* For single VLAN filter, VID 0 means VLAN promiscuous */ @@
> > -527,12 +521,6 @@ static int dwmac4_del_hw_vlan_rx_fltr(struct
> > net_device *dev, {
> > int i, ret = 0;
> >
> > - if (hw->promisc) {
> > - netdev_err(dev,
> > - "Deleting VLAN in promisc mode not supported\n");
> > - return -EPERM;
> > - }
> > -
> > /* Single Rx VLAN Filter */
> > if (hw->num_vlan == 1) {
> > if ((hw->vlan_filter[0] & GMAC_VLAN_TAG_VID) == vid) {
>
> --
> Pengutronix e.K. |
> |
> Steuerwalder Str. 21 |
> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.pe
> ngutronix.de%2F&data=05%7C01%7Cxiaoning.wang%40nxp.com%7C3fccb853
> 586d4904486908db341f4882%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%
> 7C0%7C638161081182421273%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4w
> LjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C
> %7C%7C&sdata=UoMfM69d4Y5OI7ant5UNlNCl81tls45On6hsZQeZZH8%3D&r
> eserved=0 |
> 31137 Hildesheim, Germany | Phone: +49-5121-206917-0
> |
> Amtsgericht Hildesheim, HRA 2686 | Fax:
> +49-5121-206917-5555 |

2023-04-03 10:42:13

by Vladimir Oltean

[permalink] [raw]
Subject: Re: [Linux-stm32] [PATCH] net: stmmac: remove the limitation of adding vlan in promisc mode

Hi Clark,

On Mon, Apr 03, 2023 at 08:43:54AM +0000, Clark Wang wrote:
> Thanks. I will add it in V2.

Please always check the latest state of net.git/main before submitting
patches. In this case, you seem to have missed the existence of commit
a7602e7332b9 ("net: stmmac: don't reject VLANs when IFF_PROMISC is set").

Please also check Documentation/process/maintainer-netdev.rst for next
time, especially the part where it says to designate the patch as
"[PATCH net]" (it also says to add a Fixes tag as Ahmad already pointed out).