On Wed, May 8, 2024 at 6:08 PM Leigh Brown <le...@solinno.co.uk> 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 <le...@solinno.co.uk>
> ---
>  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.

> 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.

> +   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.

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

Reply via email to