You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bridge-assisted multi_access links are isolated bridging domains (#2150)
A multi-access link without a VLAN attribute is usually a layer-3
segment. Our implementation of bridge-assisted multi-access links
has to reflect that -- we have to create a separate VLAN for each
such link.
Copy file name to clipboardExpand all lines: docs/node-roles.md
+31-20
Original file line number
Diff line number
Diff line change
@@ -33,7 +33,11 @@ Most hosts listen to IPv6 RA messages to get the IPv6 default route. _netlab_ ca
33
33
(node-role-bridge)=
34
34
## Bridges
35
35
36
-
The **bridge** role is a thin abstraction layer on top of the [**vlan** configuration module](module-vlan), making deploying simple topologies with a single bridge connecting multiple routers or hosts easier. Do not try to build complex topologies with bridges; use the VLAN configuration module.
36
+
The **bridge** role is a thin abstraction layer on top of the [**vlan** configuration module](module-vlan), making deploying simple topologies with a single bridge connecting multiple routers or hosts easier. You can also use a **bridge** node to test failover scenarios using a familiar layer-2 device[^SD].
37
+
38
+
[^SD]: It's easier to shut down an interface on a familiar device than trying to figure out how to do that on a Linux bridge.
39
+
40
+
Do not try to build complex topologies with bridges; use the VLAN configuration module.
37
41
38
42
Bridges are simple layer-2 packet forwarding devices[^VM]. They do not have a loopback interface and might not even have a data-plane IP address. Without additional parameters, _netlab_ configures them the way non-VLAN bridges have been working for decades -- bridge interfaces do not use VLAN tagging and belong to a single layer-2 forwarding domain.
In the above topology, *netlab* assigns an IP prefix from the **lan** pool to the VLAN segment connecting the four devices ([you can change that](node-bridge-details)).
60
64
61
-
In the lab topology, you can use a multi-access link with a single bridge attached instead of a series of point-to-point links. The following topology is equivalent to the one above; the multi-access link is expanded into a series of point-to-point links with the **br** device.
62
-
63
-
```
64
-
nodes:
65
-
rtr:
66
-
device: eos
67
-
h1:
68
-
device: linux
69
-
h2:
70
-
device: linux
71
-
br:
72
-
device: ioll2
73
-
role: bridge
74
-
75
-
links: [ rtr-h1-h2-br ]
76
-
```
77
-
78
65
You can also connect multiple bridges into a larger bridged network. This scenario stretches the limitations of the **bridge** nodes (using the [**vlan** configuration module](module-vlan) would be better). If you decide to use it in your topology, you SHOULD define a global **br_default** VLAN (defined as **vlans.br_default** topology attribute) to share the same IP subnet across all bridges.
79
66
80
67
```
@@ -100,7 +87,7 @@ _netlab_ does not implement multiple independent bridge domains for the same VLA
100
87
```
101
88
102
89
(node-bridge-details)=
103
-
### Implementation Details
90
+
### Bridge Implementation Details
104
91
105
92
_netlab_ uses the **vlan** configuration module to implement the *simple bridging* functionality -- it places all bridge interfaces without an explicit **vlan** parameter into the same access VLAN.
106
93
@@ -112,4 +99,28 @@ You can use the node- or global VLAN definition of the **br_default** VLAN to ch
112
99
113
100
[^BRID]: You can change the VLAN tag of the default bridge VLAN with the `topology.defaults.const.bridge.default_vlan.id` parameter
114
101
115
-
For more VLAN configuration- and implementation details, read the [**vlan** configuration module documentation](module-vlan).
102
+
For more VLAN configuration- and implementation details, read the [**vlan** configuration module documentation](module-vlan).
103
+
104
+
(node-bridge-lan)=
105
+
### Implementing Multi-Access Links with Bridges
106
+
107
+
To build a LAN segment with a hub-and-spoke topology of point-to-point links attaching nodes to the bridge, you can define a multi-access link with a single bridge attached to it.
108
+
109
+
For example, you can use the following topology to create a topology equivalent to the one above; the multi-access link is expanded into a series of point-to-point links with the **br** device.
110
+
111
+
```
112
+
nodes:
113
+
rtr:
114
+
device: eos
115
+
h1:
116
+
device: linux
117
+
h2:
118
+
device: linux
119
+
br:
120
+
device: ioll2
121
+
role: bridge
122
+
123
+
links: [ rtr-h1-h2-br ]
124
+
```
125
+
126
+
Each multi-access link implemented with a bridge node is a separate bridging domain. _netlab_ creates a separate VLAN with a topology-wide unique VLAN ID on the bridge node for every multi-access link and copies the link attributes into the VLAN attributes. Thus, it's safe to use the same bridge node to implement multiple multi-access links.
0 commit comments