From 49660b77716c8c63d07b899e2a98071c69bd649e Mon Sep 17 00:00:00 2001 From: Jon-Olov Vatn Date: Fri, 25 Oct 2024 15:21:00 +0200 Subject: [PATCH] Fixing #748 by updating doc on MAC bridging - Introduce the term MAC bridge in the networking documentation - List the limitation to one MAC bridge on Marvell Linkstree - Adding lego pictures for the MAC bridge and VLAN bridge examples [skip ci] --- doc/img/mac-bridge.svg | 3 +++ doc/img/vlan-bridge.svg | 3 +++ doc/networking.md | 14 ++++++++++++++ 3 files changed, 20 insertions(+) create mode 100644 doc/img/mac-bridge.svg create mode 100644 doc/img/vlan-bridge.svg diff --git a/doc/img/mac-bridge.svg b/doc/img/mac-bridge.svg new file mode 100644 index 00000000..9ca2e5c7 --- /dev/null +++ b/doc/img/mac-bridge.svg @@ -0,0 +1,3 @@ + + +
eth
eth
bridge
eth0
br0
eth1
ip
\ No newline at end of file diff --git a/doc/img/vlan-bridge.svg b/doc/img/vlan-bridge.svg new file mode 100644 index 00000000..e7e5e8ff --- /dev/null +++ b/doc/img/vlan-bridge.svg @@ -0,0 +1,3 @@ + + +
eth
eth
bridge
br0
eth1
10U
20U
eth0
\ No newline at end of file diff --git a/doc/networking.md b/doc/networking.md index f6ac9426..3e7a9314 100644 --- a/doc/networking.md +++ b/doc/networking.md @@ -143,6 +143,8 @@ a switch is a bridge. In Linux, setting up a bridge with ports connected to physical switch fabric, means you manage the actual switch fabric! +#### MAC Bridge + In Infix ports are by default not switch ports, unless the customer specific factory config sets it up this way. To enable switching between ports you create a bridge and then add ports to that @@ -165,6 +167,13 @@ Here we add two ports to bridge `br0`: `eth0` and `eth1`. > Other "magic" names are `ethN.M` for VLAN M on top of `ethN`, or > `dockerN` to create an IP masquerading container bridge. +![A MAC bridge with two ports](img/mac-bridge.svg) + +It is possible to create multiple MAC bridges, however, it is +currently[^5] _not recommended_ to use more than one MAC bridge on +products with Marvell LinkStreet switching ASICs. A VLAN filtering +bridge should be used instead. + #### VLAN Filtering Bridge By default bridges in Linux do not filter based on VLAN tags. It can be @@ -196,11 +205,13 @@ or for routing, the bridge must become a (tagged) member of the VLAN. admin@example:/config/interface/br0/> set bridge vlans vlan 10 tagged br0 admin@example:/config/interface/br0/> set bridge vlans vlan 20 tagged br0 ``` +![A VLAN bridge with two VLANs](img/vlan-bridge.svg) > To route or to manage via a VLAN, a VLAN interface needs to be created > on top of the bridge, see section [VLAN Interfaces](#vlan-interfaces) > below for more on this topic. + #### Multicast Filtering and Snooping Multicast filtering in the bridge is handled by the bridge itself. It @@ -1126,3 +1137,6 @@ currently supported, namely `ipv4` and `ipv6`. [^4]: A YANG deviation was previously used to make it possible to set `phys-address`, but this has been replaced with the more flexible `custom-phys-address`. +[^5]: Infix MAC bridges on Marvell Linkstreet devices are currently + limited to use a single MAC database, causing issues if the same + MAC address appears on different MAC bridges.