All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ido Schimmel <idosch@idosch.org>
To: David Ahern <dsahern@gmail.com>
Cc: Jiri Pirko <jiri@resnulli.us>,
	netdev@vger.kernel.org, davem@davemloft.net, idosch@mellanox.com,
	mlxsw@mellanox.com
Subject: Re: [patch net-next] mlxsw: spectrum_switchdev: Allow port enslavement to a VLAN-unaware bridge
Date: Wed, 21 Feb 2018 21:25:35 +0200	[thread overview]
Message-ID: <20180221192535.GA15987@splinter.mtl.com> (raw)
In-Reply-To: <c0bf9f8d-e4e4-8246-51c8-af5db0774343@gmail.com>

On Wed, Feb 21, 2018 at 11:16:35AM -0700, David Ahern wrote:
> On 2/20/18 12:45 AM, Jiri Pirko wrote:
> > From: Ido Schimmel <idosch@mellanox.com>
> > 
> > Up until now we only allowed VLAN devices to be put in a VLAN-unaware
> > bridge, but some users need the ability to enslave physical ports as
> > well.
> > 
> > This is achieved by mapping the port and VID 1 to the bridge's vFID,
> > instead of the port and the VID used by the VLAN device.
> > 
> > The above is valid because as long as the port is not enslaved to a
> > bridge, VID 1 is guaranteed to be configured as PVID and egress
> > untagged.
> > 
> > Signed-off-by: Ido Schimmel <idosch@mellanox.com>
> > Signed-off-by: Jiri Pirko <jiri@mellanox.com>
> > ---
> >  drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c | 12 +++++-------
> >  1 file changed, 5 insertions(+), 7 deletions(-)
> > 
> 
> Maybe I am missing something in the setup, but I am not getting
> host-to-host connectivity. I booted a switch with this patch, configured
> a bridge:
> 
> # ip a sh dev br0
> 44: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state
> UP group default qlen 1000
>     link/ether 7c:fe:90:e8:3a:79 brd ff:ff:ff:ff:ff:ff
>     inet6 3000:1000:1000:1000::1/80 scope global
>        valid_lft forever preferred_lft forever
>     inet6 fe80::7efe:90ff:fee8:3a79/64 scope link
>        valid_lft forever preferred_lft forever
> 
> Connected ports:
> # ip li sh master br0
> 36: swp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
> master br0 state UP mode DEFAULT group default qlen 1000
>     link/ether 7c:fe:90:e8:3a:7d brd ff:ff:ff:ff:ff:ff
> 37: swp1s1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
> master br0 state UP mode DEFAULT group default qlen 1000
>     link/ether 7c:fe:90:e8:3a:7e brd ff:ff:ff:ff:ff:ff
> 38: swp1s2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
> master br0 state UP mode DEFAULT group default qlen 1000
>     link/ether 7c:fe:90:e8:3a:7f brd ff:ff:ff:ff:ff:ff
> 39: swp1s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
> master br0 state UP mode DEFAULT group default qlen 1000
>     link/ether 7c:fe:90:e8:3a:80 brd ff:ff:ff:ff:ff:ff
> 40: swp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
> master br0 state UP mode DEFAULT group default qlen 1000
>     link/ether 7c:fe:90:e8:3a:79 brd ff:ff:ff:ff:ff:ff
> 41: swp3s1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
> master br0 state UP mode DEFAULT group default qlen 1000
>     link/ether 7c:fe:90:e8:3a:7a brd ff:ff:ff:ff:ff:ff
> 42: swp3s2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
> master br0 state UP mode DEFAULT group default qlen 1000
>     link/ether 7c:fe:90:e8:3a:7b brd ff:ff:ff:ff:ff:ff
> 43: swp3s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
> master br0 state UP mode DEFAULT group default qlen 1000
>     link/ether 7c:fe:90:e8:3a:7c brd ff:ff:ff:ff:ff:ff
> 
> The switch can see the hosts:
> # net show lldp
> 
> LocalPort    Speed    Mode       RemotePort    RemoteHost
>              Summary
> -----------  -------  ---------  ------------
> -------------------------------------  -----------------------
> eth0         1G       Mgmt       swp37
> pioneerMS16.mvlab.cumulusnetworks.com  IP: 10.0.3.155/22(DHCP)
> swp1s0       10G      Access/L2  swp1          host1
>              Untagged: br0
> swp1s1       10G      Access/L2  swp1          host2
>              Untagged: br0
> swp1s2       10G      Access/L2  swp1          host3
>              Untagged: br0
> swp1s3       10G      Access/L2  swp1          host4
>              Untagged: br0
> swp3s0       10G      Access/L2  swp1          host5
>              Untagged: br0
> swp3s1       10G      Access/L2  swp1          host6
>              Untagged: br0
> swp3s2       10G      Access/L2  swp1          host7
>              Untagged: br0
> swp3s3       10G      Access/L2  swp1          host8
>              Untagged: br0

LLDP packets are trapped before L2 forwarding, which can explain why
LLDP works but forwarding doesn't.

> 
> and can talk to the hosts:
> # ping6 ff02::2%br0

Can you try ff02::1 ?

> PING ff02::2%br0(ff02::2) 56 data bytes
> 64 bytes from fe80::7efe:90ff:fee8:3a79: icmp_seq=1 ttl=64 time=0.073 ms
> 64 bytes from fe80::202:ff:fe00:2: icmp_seq=1 ttl=64 time=0.661 ms (DUP!)
> 64 bytes from fe80::202:ff:fe00:5: icmp_seq=1 ttl=64 time=0.705 ms (DUP!)
> 64 bytes from fe80::202:ff:fe00:1: icmp_seq=1 ttl=64 time=0.720 ms (DUP!)
> 64 bytes from fe80::202:ff:fe00:3: icmp_seq=1 ttl=64 time=0.729 ms (DUP!)
> 64 bytes from fe80::202:ff:fe00:6: icmp_seq=1 ttl=64 time=0.739 ms (DUP!)
> 64 bytes from fe80::202:ff:fe00:4: icmp_seq=1 ttl=64 time=0.748 ms (DUP!)
> 64 bytes from fe80::202:ff:fe00:7: icmp_seq=1 ttl=64 time=0.757 ms (DUP!)
> 64 bytes from fe80::202:ff:fe00:8: icmp_seq=1 ttl=64 time=0.766 ms (DUP!)
> 
> but the hosts can not talk to each other:
> 
> cumulus@host3:~$ net show lldp
> 
> LocalPort  Speed  Mode          RemoteHost   RemotePort
> ---------  -----  ------------  -----------  ----------
> swp1       10G    Interface/L3  mlx-2700-05  swp1s2
> 
> cumulus@host3:~$ ping6 3000:1000:1000:1000::2
> PING 3000:1000:1000:1000::2(3000:1000:1000:1000::2) 56 data bytes
> ^C
> --- 3000:1000:1000:1000::2 ping statistics ---
> 3 packets transmitted, 0 received, 100% packet loss, time 1999ms

Can you please try

# brctl showstp br0

To make sure STP state is set to forwarding?

Does it matter if you try IPv4 ping or if vlan_filtering is set 1?
Unfortunately, I can't reproduce on my switch.

Thanks for testing, David!

  reply	other threads:[~2018-02-21 19:25 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-20  7:45 [patch net-next] mlxsw: spectrum_switchdev: Allow port enslavement to a VLAN-unaware bridge Jiri Pirko
2018-02-21 18:16 ` David Ahern
2018-02-21 19:25   ` Ido Schimmel [this message]
2018-02-21 19:41     ` David Ahern
2018-02-21 20:24       ` Ido Schimmel
2018-02-21 20:31         ` David Ahern
2018-02-22 18:58   ` David Miller
2018-02-22 19:27     ` David Ahern
2018-02-22 20:55       ` Ido Schimmel
2018-02-22 21:48         ` David Ahern
2018-02-26  6:54     ` Ido Schimmel
2018-02-26 16:12       ` David Miller
2018-02-26 16:08 ` David Ahern

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=20180221192535.GA15987@splinter.mtl.com \
    --to=idosch@idosch.org \
    --cc=davem@davemloft.net \
    --cc=dsahern@gmail.com \
    --cc=idosch@mellanox.com \
    --cc=jiri@resnulli.us \
    --cc=mlxsw@mellanox.com \
    --cc=netdev@vger.kernel.org \
    /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.