Re: [RFC 0/3] DSA and Marvell 88E6352 802.1q support
Hi Scott, On Jun 2, 2015, at 2:18 AM, Scott Feldman sfel...@gmail.com wrote: On Mon, Jun 1, 2015 at 5:18 PM, Vivien Didelot vivien.dide...@savoirfairelinux.com wrote: On May 29, 2015, at 1:02 AM, Scott Feldman sfel...@gmail.com wrote: On Thu, May 28, 2015 at 2:37 PM, Vivien Didelot vivien.dide...@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. Scott, In fact I have to define these ndo, otherwise I get the Buggy VLAN acceleration in driver! warning from net/core/dev.c and the switch ports won't register. I'm actually defining a noop function for them in dsa_slave_netdev_ops. Is it correct to set NETIF_F_HW_VLAN_CTAG_FILTER in slave_dev-features? If your nooping ndo VLAN ops then just remove setting NETIF_F_HW_VLAN_CTAG_FILTER and then you can remove the noop funcs. The setlink/dellink callbacks will give the same info (and more, e.g. pvid, untagged flags) and you'll automatically get support for stacked drivers, for example if you bonded swp2/3 and then included that bond in your vlan bridge. Your commands will be slightly modified: when adding the vid to the port, specify master and self: bridge vlan add vid 400 dev swp4 master self Thanks it works! Now the switch VLAN database is consistent with the bridge commands, I'm sending a complete RFC very soon. Scott, David, I use this mail to expose a potential problem between iproute2 and the kernel, found with my previous code. When issuing ip link set dev swp0 master br0, ndo_vlan_rx_add_vid is called, but not ndo_bridge_setlink, Remove NETIF_F_HW_VLAN_CTAG_FILTER and ndo_vlan_rx_add_vid will not be called. Issuing ip link set dev swp0 master br0 should only be setting the bridge member, not setting up any VLAN. I suspect when you did this swp0 was admin UP and you're getting untagged VLAN 0 installed, which is the call to ndo_vlan_rx_add_vid. which results in an inconsistency between my switch VLAN database (and port settings) and bridge vlan, which shows swp0 1 PVID Egress Untagged. So that is a result of /sys/class/net/br0/bridge/default_pvid set to 1. If you don't want that, turn default_pvid off: echo 0 /sys/class/net/br0/bridge/default_pvid Now you'll see None in the bridge vlan output. Seems like there is a call to ndo_bridge_setlink to add somewhere, but I have no clue where. In the meantime, I call bridge vlan add vid 1 dev swp0 pvid untagged [master self] at boot, to be consistent with the bridge output. Or turn off default_pvid. Thanks, I confirm both fixes work. Thanks a lot. -v -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [RFC 0/3] DSA and Marvell 88E6352 802.1q support
On Mon, Jun 1, 2015 at 5:18 PM, Vivien Didelot vivien.dide...@savoirfairelinux.com wrote: On May 29, 2015, at 1:02 AM, Scott Feldman sfel...@gmail.com wrote: On Thu, May 28, 2015 at 2:37 PM, Vivien Didelot vivien.dide...@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. Scott, In fact I have to define these ndo, otherwise I get the Buggy VLAN acceleration in driver! warning from net/core/dev.c and the switch ports won't register. I'm actually defining a noop function for them in dsa_slave_netdev_ops. Is it correct to set NETIF_F_HW_VLAN_CTAG_FILTER in slave_dev-features? If your nooping ndo VLAN ops then just remove setting NETIF_F_HW_VLAN_CTAG_FILTER and then you can remove the noop funcs. The setlink/dellink callbacks will give the same info (and more, e.g. pvid, untagged flags) and you'll automatically get support for stacked drivers, for example if you bonded swp2/3 and then included that bond in your vlan bridge. Your commands will be slightly modified: when adding the vid to the port, specify master and self: bridge vlan add vid 400 dev swp4 master self Thanks it works! Now the switch VLAN database is consistent with the bridge commands, I'm sending a complete RFC very soon. Scott, David, I use this mail to expose a potential problem between iproute2 and the kernel, found with my previous code. When issuing ip link set dev swp0 master br0, ndo_vlan_rx_add_vid is called, but not ndo_bridge_setlink, Remove NETIF_F_HW_VLAN_CTAG_FILTER and ndo_vlan_rx_add_vid will not be called. Issuing ip link set dev swp0 master br0 should only be setting the bridge member, not setting up any VLAN. I suspect when you did this swp0 was admin UP and you're getting untagged VLAN 0 installed, which is the call to ndo_vlan_rx_add_vid. which results in an inconsistency between my switch VLAN database (and port settings) and bridge vlan, which shows swp0 1 PVID Egress Untagged. So that is a result of /sys/class/net/br0/bridge/default_pvid set to 1. If you don't want that, turn default_pvid off: echo 0 /sys/class/net/br0/bridge/default_pvid Now you'll see None in the bridge vlan output. Seems like there is a call to ndo_bridge_setlink to add somewhere, but I have no clue where. In the meantime, I call bridge vlan add vid 1 dev swp0 pvid untagged [master self] at boot, to be consistent with the bridge output. Or turn off default_pvid. -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [RFC 0/3] DSA and Marvell 88E6352 802.1q support
On 31/05/15 14:21, Scott Feldman wrote: 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. I think that's fine. There is flexibility here. Using the bridge command for non-bridged ports is a little weird. You'll still need setlink to get the PVID/untagged flags, for the bridged-port cases, as was done in the original RFC patch. I wonder if a new command vlan for the iproute2 pkg would be useful? It would absorb the vconfig command options, making vconfig obsolete. Some of vconfig functionality is already in iproute2, for example ip link add link ... type vlan ... I would definitively like to see that. Right now, this is a little confusing for users to realize that using bridge + VLAN filtering is a lot more powerful to configure a switch rather than using vconfig/iproute add type vlan. -- Florian -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [RFC 0/3] DSA and Marvell 88E6352 802.1q support
On May 29, 2015, at 1:02 AM, Scott Feldman sfel...@gmail.com wrote: On Thu, May 28, 2015 at 2:37 PM, Vivien Didelot vivien.dide...@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. Scott, In fact I have to define these ndo, otherwise I get the Buggy VLAN acceleration in driver! warning from net/core/dev.c and the switch ports won't register. I'm actually defining a noop function for them in dsa_slave_netdev_ops. Is it correct to set NETIF_F_HW_VLAN_CTAG_FILTER in slave_dev-features? The setlink/dellink callbacks will give the same info (and more, e.g. pvid, untagged flags) and you'll automatically get support for stacked drivers, for example if you bonded swp2/3 and then included that bond in your vlan bridge. Your commands will be slightly modified: when adding the vid to the port, specify master and self: bridge vlan add vid 400 dev swp4 master self Thanks it works! Now the switch VLAN database is consistent with the bridge commands, I'm sending a complete RFC very soon. Scott, David, I use this mail to expose a potential problem between iproute2 and the kernel, found with my previous code. When issuing ip link set dev swp0 master br0, ndo_vlan_rx_add_vid is called, but not ndo_bridge_setlink, which results in an inconsistency between my switch VLAN database (and port settings) and bridge vlan, which shows swp0 1 PVID Egress Untagged. Seems like there is a call to ndo_bridge_setlink to add somewhere, but I have no clue where. In the meantime, I call bridge vlan add vid 1 dev swp0 pvid untagged [master self] at boot, to be consistent with the bridge output. Thanks, -v -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [RFC 0/3] DSA and Marvell 88E6352 802.1q support
On 05/31/2015 09:48 AM, Scott Feldman wrote: On Fri, May 29, 2015 at 3:42 PM, Guenter Roeck li...@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.dide...@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 -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [RFC 0/3] DSA and Marvell 88E6352 802.1q support
On Fri, May 29, 2015 at 3:42 PM, Guenter Roeck li...@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.dide...@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. Lots of ways to slice and dice this I guess. -scott -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [RFC 0/3] DSA and Marvell 88E6352 802.1q support
On Sun, May 31, 2015 at 10:06 AM, Guenter Roeck li...@roeck-us.net wrote: On 05/31/2015 09:48 AM, Scott Feldman wrote: On Fri, May 29, 2015 at 3:42 PM, Guenter Roeck li...@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.dide...@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. I think that's fine. There is flexibility here. Using the bridge command for non-bridged ports is a little weird. You'll still need setlink to get the PVID/untagged flags, for the bridged-port cases, as was done in the original RFC patch. I wonder if a new command vlan for the iproute2 pkg would be useful? It would absorb the vconfig command options, making vconfig obsolete. Some of vconfig functionality is already in iproute2, for example ip link add link ... type vlan ... -scott -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [RFC 0/3] DSA and Marvell 88E6352 802.1q support
Hi Scott, On May 29, 2015, at 1:02 AM, Scott Feldman sfel...@gmail.com wrote: On Thu, May 28, 2015 at 2:37 PM, Vivien Didelot vivien.dide...@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 setlink/dellink callbacks will give the same info (and more, e.g. pvid, untagged flags) and you'll automatically get support for stacked drivers, for example if you bonded swp2/3 and then included that bond in your vlan bridge. Your commands will be slightly modified: when adding the vid to the port, specify master and self: bridge vlan add vid 400 dev swp4 master self Thanks a lot! I will send a complete RFC soon. -v -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [RFC 0/3] DSA and Marvell 88E6352 802.1q support
Scott, On 05/28/2015 10:02 PM, Scott Feldman wrote: On Thu, May 28, 2015 at 2:37 PM, Vivien Didelot vivien.dide...@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 ? Thanks, Guenter -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[RFC 0/3] DSA and Marvell 88E6352 802.1q support
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... Vivien Didelot (3): net: dsa: add basic support for VLAN ndo net: dsa: mv88e6xxx: add support for VTU operations net: dsa: mv88e6352: add support for VLAN drivers/net/dsa/mv88e6352.c | 3 + drivers/net/dsa/mv88e6xxx.c | 309 drivers/net/dsa/mv88e6xxx.h | 28 include/net/dsa.h | 9 ++ net/dsa/slave.c | 76 ++- 5 files changed, 423 insertions(+), 2 deletions(-) -- 2.4.1 -- To unsubscribe from this list: send the line unsubscribe netdev in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html