[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+h21hqPTqzCPPYqF1zvbGhu=yeqPFQ_X77xtfmt1mzENDQ9Dw@mail.gmail.com>
Date: Sun, 25 Aug 2019 21:27:23 +0300
From: Vladimir Oltean <olteanv@...il.com>
To: Vivien Didelot <vivien.didelot@...il.com>
Cc: netdev <netdev@...r.kernel.org>,
"David S. Miller" <davem@...emloft.net>,
Florian Fainelli <f.fainelli@...il.com>,
Andrew Lunn <andrew@...n.ch>
Subject: Re: [PATCH net-next v2 0/6] net: dsa: explicit programmation of VLAN
on CPU ports
On Sun, 25 Aug 2019 at 20:25, Vivien Didelot <vivien.didelot@...il.com> wrote:
>
> When a VLAN is programmed on a user port, every switch of the fabric also
> program the CPU ports and the DSA links as part of the VLAN. To do that,
> DSA makes use of bitmaps to prepare all members of a VLAN.
>
> While this is expected for DSA links which are used as conduit between
> interconnected switches, only the dedicated CPU port of the slave must be
> programmed, not all CPU ports of the fabric. This may also cause problems in
> other corners of DSA such as the tag_8021q.c driver, which needs to program
> its ports manually, CPU port included.
>
> We need the dsa_port_vlan_{add,del} functions and its dsa_port_vid_{add,del}
> variants to simply trigger the VLAN programmation without any logic in them,
> but they may currently skip the operation based on the bridge device state.
>
> This patchset gets rid of the bitmap operations, and moves the bridge device
> check as well as the explicit programmation of CPU ports where they belong,
> in the slave code.
>
> While at it, clear the VLAN flags before programming a CPU port, as it
> doesn't make sense to forward the PVID flag for example for such ports.
>
> Changes in v2: only clear the PVID flag.
>
> Vivien Didelot (6):
> net: dsa: remove bitmap operations
> net: dsa: do not skip -EOPNOTSUPP in dsa_port_vid_add
> net: dsa: add slave VLAN helpers
> net: dsa: check bridge VLAN in slave operations
> net: dsa: program VLAN on CPU port from slave
> net: dsa: clear VLAN PVID flag for CPU port
>
> include/net/dsa.h | 3 --
> net/dsa/dsa2.c | 14 -----
> net/dsa/port.c | 14 ++---
> net/dsa/slave.c | 79 +++++++++++++++++++++++----
> net/dsa/switch.c | 135 +++++++++++++++++++++-------------------------
> 5 files changed, 136 insertions(+), 109 deletions(-)
>
> --
> 2.23.0
>
For the whole series:
Tested-by: Vladimir Oltean <olteanv@...il.com>
Thanks!
Powered by blists - more mailing lists