All of lore.kernel.org
 help / color / mirror / Atom feed
From: Guenter Roeck <linux@roeck-us.net>
To: Scott Feldman <sfeldma@gmail.com>
Cc: Vivien Didelot <vivien.didelot@savoirfairelinux.com>,
	Netdev <netdev@vger.kernel.org>,
	Florian Fainelli <f.fainelli@gmail.com>,
	Andrew Lunn <andrew@lunn.ch>,
	Jerome Oufella <jerome.oufella@savoirfairelinux.com>,
	Chris Healy <cphealy@gmail.com>, Jiri Pirko <jiri@resnulli.us>
Subject: Re: [RFC 0/3] DSA and Marvell 88E6352 802.1q support
Date: Sun, 31 May 2015 10:06:27 -0700	[thread overview]
Message-ID: <556B3F93.5020701@roeck-us.net> (raw)
In-Reply-To: <CAE4R7bBfyN-R9DsPwTz4HMA-oimqKH73qEcxi4zfkM-7y2sgYg@mail.gmail.com>

On 05/31/2015 09:48 AM, Scott Feldman wrote:
> On Fri, May 29, 2015 at 3:42 PM, Guenter Roeck <linux@roeck-us.net> wrote:
>> Scott,
>>
>>
>> On 05/28/2015 10:02 PM, Scott Feldman wrote:
>>>
>>> On Thu, May 28, 2015 at 2:37 PM, Vivien Didelot
>>> <vivien.didelot@savoirfairelinux.com> wrote:
>>>>
>>>> This RFC is based on v4.1-rc3.
>>>>
>>>> It is meant to get a glance to the commits responsible to implement the
>>>> necessary NDOs between DSA and the Marvell 88E6352 switch driver.
>>>>
>>>> With this support, I am able to create VLANs with (un)tagged ports,
>>>> setting
>>>> their default VID, from a bridge.
>>>>
>>>> To create a bridge containing all switch ports, with a VLAN ID 400, swp2
>>>> and
>>>> swp3 untagged (pvid), and swp4 tagged, the userspace commands look like
>>>> this:
>>>>
>>>>       ip link add name br0 type bridge
>>>>       [...]
>>>>       ip link set dev swp2 up master br0
>>>>       [...]
>>>>       bridge vlan add vid 400 pvid untagged dev swp2
>>>>       bridge vlan add vid 400 pvid untagged dev swp3
>>>>       bridge vlan add vid 400 dev swp4
>>>>       [...]
>>>>       ip link add link br0 name br0.400 type vlan id 400
>>>>       [...]
>>>>       bridge vlan add dev br0 vid 400 self
>>>>
>>>> The code is currently being rebased to the latest net-next/master.
>>>>
>>>> Seems like the way to go now is through switchdev attr getter/setter...
>>>
>>>
>>> Indeed, for dsa_slave you should be able to port this to switchdev and
>>> set your ndo_bridge_setlink/dellink handlers to
>>> switchdev_port_bridge_setlink/dellink.  (And also implement the
>>> switchdev ops for vlans).
>>>
>>> If you use switchdev_port_bridge_setlink/dellink, you shouldn't need
>>> to implement ndo_vlan_rx_add_vid/ndo_vlan_rx_kill_vid at all.  The
>>
>>
>> Those functions are called from net/8021q/vlan_core.c if a vlan is
>> configured on or removed from an interface. Does that result in a call to
>> setlink/dellink as well, even if a switch port is not a member of a bridge group ?
>
> No, not if you're using 8021q module for vlan setup on non-bridged
> ports.  If using 8021q module, you'll need to retain the ndo ops.
>
> The alternative to the ndo ops for non-bridged ports is to use the
> bridge_setlink/dellink interface on self:
>
>    bridge vlan add vid VID dev DEV self
>
> The would call into DEV port's bridge_setlink to add VID to port.  The
> driver would setup HW to ingress VID tagged frames and egress VID
> tagged frames on DEV port.
>

Hi Scott,

If I understand you correctly, that means we would expect users to
use bridge commands even on non-bridged dsa ports. I don't think we can
make this kind of assumption. Users will expect configure VLANs on
non-bridge ports as they would normally configure VLANs, using the 8021q
module.

So I guess we'll have to support the ndo ops for dsa.

Thanks,
Guenter

  reply	other threads:[~2015-05-31 17:06 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-26 22:29 DSA and underlying 802.1Q encapsulation Vivien Didelot
2015-05-26 22:51 ` Guenter Roeck
2015-05-27 20:48   ` Vivien Didelot
2015-05-27 21:02     ` Guenter Roeck
2015-05-27 21:05       ` Andrew Lunn
2015-05-27 22:51         ` Guenter Roeck
2015-05-28  1:46           ` Andrew Lunn
2015-05-28  5:01             ` Guenter Roeck
2015-05-28 13:44       ` Vivien Didelot
2015-05-28 14:19         ` Guenter Roeck
2015-05-28 21:37           ` [RFC 0/3] DSA and Marvell 88E6352 802.1q support Vivien Didelot
2015-05-28 21:37             ` [RFC 1/3] net: dsa: add basic support for VLAN ndo Vivien Didelot
2015-05-29  4:46               ` Scott Feldman
2015-05-29 15:24               ` Or Gerlitz
2015-05-29 15:38                 ` Vivien Didelot
2015-05-29 15:51                   ` Or Gerlitz
2015-05-29 22:15                     ` Guenter Roeck
2015-05-29 22:57                       ` Vivien Didelot
2015-05-31 16:14                         ` Scott Feldman
2015-05-28 21:37             ` [RFC 2/3] net: dsa: mv88e6xxx: add support for VTU operations Vivien Didelot
2015-05-29 22:38               ` Guenter Roeck
2015-05-28 21:37             ` [RFC 3/3] net: dsa: mv88e6352: add support for VLAN Vivien Didelot
2015-05-29  5:02             ` [RFC 0/3] DSA and Marvell 88E6352 802.1q support Scott Feldman
2015-05-29 15:40               ` Vivien Didelot
2015-05-29 22:42               ` Guenter Roeck
2015-05-31 16:48                 ` Scott Feldman
2015-05-31 17:06                   ` Guenter Roeck [this message]
2015-05-31 21:21                     ` Scott Feldman
2015-06-02  0:14                       ` Florian Fainelli
2015-06-02  0:18               ` Vivien Didelot
2015-06-02  6:18                 ` Scott Feldman
2015-06-02 23:23                   ` Vivien Didelot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=556B3F93.5020701@roeck-us.net \
    --to=linux@roeck-us.net \
    --cc=andrew@lunn.ch \
    --cc=cphealy@gmail.com \
    --cc=f.fainelli@gmail.com \
    --cc=jerome.oufella@savoirfairelinux.com \
    --cc=jiri@resnulli.us \
    --cc=netdev@vger.kernel.org \
    --cc=sfeldma@gmail.com \
    --cc=vivien.didelot@savoirfairelinux.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.