* switch / linux STP interoperation issues.
@ 2016-06-24 19:14 Michal Soltys
2016-06-24 21:09 ` Elad Raz
0 siblings, 1 reply; 3+ messages in thread
From: Michal Soltys @ 2016-06-24 19:14 UTC (permalink / raw)
To: Linux Netdev List
Hi,
In the last week I've been trying to get STP on the linux side (both its
builtin STP implementation as well as mstpd userspace daemon). Initially
I started with more complex setups (vlan aware bridge, bonds, mst) and
gradually (with identical problems on each step) ended with the most
basic setup that can be summarized by:
brctl addbr br0
brctl addif br0 eno1
brctl addif br0 eno2
brctl stp br0 on
ip li set eno1 up
ip li set eno2 up
ip li set br0 up
The same config on switch's side (cisco 2960-x in its most basic
incarnation) - in the other words two cables between linux machine and
the switch, enabled stp, access ports in vlan1.
The end effect of this setup (and any of the more complex previous ones):
The switch respected BPDUs sent to it (if applicable) - for example it
complied properly if it's priority was less (numerically higher) than
linux's - showing linux box as root bridge, marking one port as root,
the other as alternate/blocking.
The linux box itself was completely deaf to any BPDUs arriving to it
(e.g. if it's priority was lower) and just keept pushing its own data
units all the time with little care (quickly leading to loops in some
scenarios). Whether it was builtin stp implementation, or whether it was
mstpd's stp/rstp/mstp - the behaviour was the same.
With the bridge itself happily claiming to be the root (despite lower
priority):
br0
bridge id a000.000af77cddc4
designated root a000.000af77cddc4
root port 0
<cut>
enp8s0f0 (3)
port id 8003 state
forwarding
designated root a000.000af77cddc4 path cost
4
designated bridge a000.000af77cddc4
<cut>
(and analogous output from mstpctl tool)
tcpdump looked like:
17:33:28.701425 00:0a:f7:7c:dd:c4 > 01:80:c2:00:00:00, 802.3, length 52:
LLC, dsap STP (0x42) Individual, ssap STP (0x42) Command, ctrl 0x03
: STP 802.1d, Config, Flags [none], bridge-id
a000.00:0a:f7:7c:dd:c4.8003, length 35
message-age 0.00s, max-age 20.00s, hello-time 2.00s,
forwarding-delay 15.00s
root-id a000.00:0a:f7:7c:dd:c4, root-pathcost 0
17:33:29.026185 18:8b:45:6f:38:86 > 01:80:c2:00:00:00, 802.3, length 60:
LLC, dsap STP (0x42) Individual, ssap STP (0x42) Command, ctrl 0x03
: STP 802.1d, Config, Flags [none], bridge-id
2001.18:8b:45:6f:38:80.8006, length 43
message-age 0.00s, max-age 20.00s, hello-time 2.00s,
forwarding-delay 15.00s
root-id 2001.18:8b:45:6f:38:80, root-pathcost 0
The first sent by linux box, the second by the switch (the above from
basic stp scenario on both sides).
The cards in question used:
Ethernet controller: Broadcom Corporation NetXtreme BCM5719 Gigabit
Ethernet PCIe (rev 01) handled by:
driver: tg3
version: 3.137
firmware-version: FFV7.10.17 bc 5719-v1.37
Linux is fresh stock archlinux (so vanilla 4.6.2 kernel and the most (or
almost) recent userland utils - iproute2, etc.), running on relatively
recent poweredge dell.
I'm kind of lost at this point - am I missing some basic
options/sysctls/sysfs ? Is there some known incompatibility here
somewhere between switch/linux/nic/versions/etc. ? Some by-default
enabled BPDU filtering maybe ?
Any suggestions / hints appreciated.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: switch / linux STP interoperation issues.
2016-06-24 19:14 switch / linux STP interoperation issues Michal Soltys
@ 2016-06-24 21:09 ` Elad Raz
2016-06-24 21:54 ` Michal Soltys
0 siblings, 1 reply; 3+ messages in thread
From: Elad Raz @ 2016-06-24 21:09 UTC (permalink / raw)
To: Michal Soltys, Ido Schimmel
Cc: Linux Netdev List, Jiri Pirko, Florian Westphal
On Fri, Jun 24, 2016 at 10:14 PM, Michal Soltys <soltys@ziu.info> wrote:
> Hi,
>
> In the last week I've been trying to get STP on the linux side (both its
> builtin STP implementation as well as mstpd userspace daemon). Initially I
> started with more complex setups (vlan aware bridge, bonds, mst) and
> gradually (with identical problems on each step) ended with the most basic
> setup that can be summarized by:
>
> brctl addbr br0
> brctl addif br0 eno1
> brctl addif br0 eno2
> brctl stp br0 on
> ip li set eno1 up
> ip li set eno2 up
> ip li set br0 up
>
> The same config on switch's side (cisco 2960-x in its most basic
> incarnation) - in the other words two cables between linux machine and the
> switch, enabled stp, access ports in vlan1.
>
> The end effect of this setup (and any of the more complex previous ones):
>
> The switch respected BPDUs sent to it (if applicable) - for example it
> complied properly if it's priority was less (numerically higher) than
> linux's - showing linux box as root bridge, marking one port as root, the
> other as alternate/blocking.
>
> The linux box itself was completely deaf to any BPDUs arriving to it (e.g.
> if it's priority was lower) and just keept pushing its own data units all
> the time with little care (quickly leading to loops in some scenarios).
> Whether it was builtin stp implementation, or whether it was mstpd's
> stp/rstp/mstp - the behaviour was the same.
>
> With the bridge itself happily claiming to be the root (despite lower
> priority):
>
> br0
> bridge id a000.000af77cddc4
> designated root a000.000af77cddc4
> root port 0
>
> <cut>
>
> enp8s0f0 (3)
> port id 8003 state forwarding
> designated root a000.000af77cddc4 path cost 4
> designated bridge a000.000af77cddc4
>
> <cut>
> (and analogous output from mstpctl tool)
>
> tcpdump looked like:
>
> 17:33:28.701425 00:0a:f7:7c:dd:c4 > 01:80:c2:00:00:00, 802.3, length 52:
> LLC, dsap STP (0x42) Individual, ssap STP (0x42) Command, ctrl 0x03
> : STP 802.1d, Config, Flags [none], bridge-id a000.00:0a:f7:7c:dd:c4.8003,
> length 35
> message-age 0.00s, max-age 20.00s, hello-time 2.00s,
> forwarding-delay 15.00s
> root-id a000.00:0a:f7:7c:dd:c4, root-pathcost 0
> 17:33:29.026185 18:8b:45:6f:38:86 > 01:80:c2:00:00:00, 802.3, length 60:
> LLC, dsap STP (0x42) Individual, ssap STP (0x42) Command, ctrl 0x03
> : STP 802.1d, Config, Flags [none], bridge-id 2001.18:8b:45:6f:38:80.8006,
> length 43
> message-age 0.00s, max-age 20.00s, hello-time 2.00s,
> forwarding-delay 15.00s
> root-id 2001.18:8b:45:6f:38:80, root-pathcost 0
>
> The first sent by linux box, the second by the switch (the above from basic
> stp scenario on both sides).
>
>
> The cards in question used:
> Ethernet controller: Broadcom Corporation NetXtreme BCM5719 Gigabit Ethernet
> PCIe (rev 01) handled by:
>
> driver: tg3
> version: 3.137
> firmware-version: FFV7.10.17 bc 5719-v1.37
>
>
> Linux is fresh stock archlinux (so vanilla 4.6.2 kernel and the most (or
> almost) recent userland utils - iproute2, etc.), running on relatively
> recent poweredge dell.
>
> I'm kind of lost at this point - am I missing some basic
> options/sysctls/sysfs ? Is there some known incompatibility here somewhere
> between switch/linux/nic/versions/etc. ? Some by-default enabled BPDU
> filtering maybe ?
>
>
> Any suggestions / hints appreciated.
Please see Ido Schimmel's fix "[net] bridge: Fix incorrect
re-injection of STP packets",
https://patchwork.ozlabs.org/patch/629768/
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: switch / linux STP interoperation issues.
2016-06-24 21:09 ` Elad Raz
@ 2016-06-24 21:54 ` Michal Soltys
0 siblings, 0 replies; 3+ messages in thread
From: Michal Soltys @ 2016-06-24 21:54 UTC (permalink / raw)
To: Elad Raz, Ido Schimmel; +Cc: Linux Netdev List, Jiri Pirko, Florian Westphal
On 2016-06-24 23:09, Elad Raz wrote:
> On Fri, Jun 24, 2016 at 10:14 PM, Michal Soltys <soltys@ziu.info> wrote:
>> Hi,
>> <cut ..>
>> The switch respected BPDUs sent to it (if applicable) - for example it
>> complied properly if it's priority was less (numerically higher) than
>> linux's - showing linux box as root bridge, marking one port as root, the
>> other as alternate/blocking.
>>
>> The linux box itself was completely deaf to any BPDUs arriving to it (e.g.
>> if it's priority was lower) and just keept pushing its own data units all
>> the time with little care (quickly leading to loops in some scenarios).
>> Whether it was builtin stp implementation, or whether it was mstpd's
>> stp/rstp/mstp - the behaviour was the same.
>>
>>
>>
>> Linux is fresh stock archlinux (so vanilla 4.6.2 kernel and the most (or
>> almost) recent userland utils - iproute2, etc.), running on relatively
>> recent poweredge dell.
>>
>> I'm kind of lost at this point - am I missing some basic
>> options/sysctls/sysfs ? Is there some known incompatibility here somewhere
>> between switch/linux/nic/versions/etc. ? Some by-default enabled BPDU
>> filtering maybe ?
>> <cut ..>
>>
>> Any suggestions / hints appreciated.
>
> Please see Ido Schimmel's fix "[net] bridge: Fix incorrect
> re-injection of STP packets",
> https://patchwork.ozlabs.org/patch/629768/
>
Thanks !
Will test it on monday asap.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-06-24 21:54 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-24 19:14 switch / linux STP interoperation issues Michal Soltys
2016-06-24 21:09 ` Elad Raz
2016-06-24 21:54 ` Michal Soltys
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.