Hi Jason,
On 2024-05-15 01:58, Jason Andryuk wrote:
On Wed, May 8, 2024 at 6:08 PM Leigh Brown <[email protected]>
wrote:>
Add a new directory linux-bridge-vlan with examples files showing
how to configure systemd-networkd to support a bridge VLAN
configuration.
Signed-off-by: Leigh Brown <[email protected]>
---
tools/examples/linux-bridge-vlan/README | 68
+++++++++++++++++++
tools/examples/linux-bridge-vlan/br0.netdev | 7 ++
tools/examples/linux-bridge-vlan/br0.network | 8 +++
.../examples/linux-bridge-vlan/enp0s0.network | 16 +++++
4 files changed, 99 insertions(+)
create mode 100644 tools/examples/linux-bridge-vlan/README
create mode 100644 tools/examples/linux-bridge-vlan/br0.netdev
create mode 100644 tools/examples/linux-bridge-vlan/br0.network
create mode 100644 tools/examples/linux-bridge-vlan/enp0s0.network
I think putting these in docs/misc/linux-bridge-vlan/ might be a
better location.
No problem, will move.
diff --git a/tools/examples/linux-bridge-vlan/README
b/tools/examples/linux-bridge-vlan/README
new file mode 100644
index 0000000000..83b9fa3fd6
--- /dev/null
+++ b/tools/examples/linux-bridge-vlan/README
@@ -0,0 +1,68 @@
+Linux Xen Dom0 single bridge multiple VLAN configuration with systemd
+=====================================================================
+
+Introduction
+------------
+
+This directory contains example files to be placed in
/etc/systemd/network
+to enable a single bridge with multiple VLAN support.
+
+The example is to support the scenario where the Xen host network
interface
+is connected to an Ethernet switch configured as a trunk port. Each
domain
+VIF can then be configured with one or more VLAN IDs, one of which
will be
+the PVID.
+
+The example files create a bridge device called br0, with a physical
interface
+called enp0s0. You will need to update this with your system's device
name.
+
+Key points of the configuration are:
+
+1. In br0.netdev, VLANFiltering=on is set. This is required to ensure
the
+ VLAN tags are handled correctly. If it is not set then the
packets
+ from the VIF interfaces will not have the correct VLAN tags set.
+
+2. In br0.network, a system IPv4 address is configured that can be
updated
+ according to your local network settings.
+
+3. In enp0s0.network, Bridge=br0 sets the bridge device to connect
to. There
+ is also a [BridgeVLAN] section for each VLAN you want to give
access
+ to the switch. Note, if you want to create an internal VLAN
private to
For
"for each VLAN you want to give access to the switch"
do you mean:
"for each VLAN you want connected with the external network"
or
"for each VLAN you want accessible on the external network"
?
The "access to the switch" part I find unclear.
On re-reading it is not as clear as I'd hope - I will adjust.
+ the host, do not include its VLAN ID in this file.
+Domain configuration
+--------------------
+
+Add the vlan= keyword to the vif definition in the domain. The
simplest
+and most common example is a domain that wishes to connect to a
single VLAN:
+
+vif = [ 'mac=xx:xx:xx:xx:xx:xx, bridge=br0, vlan=10' ]
+
+If you wish to configure a domain to route between two VLANs, you
have two
+options. Option 1 is to create multiple interfaces on different
VLANs:
+
+vif = [ 'mac=xx:xx:xx:xx:xx:xx, bridge=br0, vlan=10',
+ 'max=xx:xx:xx:xx:xx:xx, bridge=br0, vlan=20' ]
Hard tab here makes the diff look off, but the file would be aligned.
Will fix up so all the indents are spaced, to be consistent.
I think this is good content. I'm not familiar with the systemd
networking stuff to give an R-b. But it's only examples, so I think
it should be okay. I'm not a maintainer, but it would be an Acked-by,
if I were.
Regards,
Jason
Regards,
Leigh.