mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
tools/examples: Example Linux bridge VLAN config
Add a new directory linux-bridge-vlan with example files showing how to configure systemd-networkd to support a bridge VLAN configuration. Signed-off-by: Leigh Brown <leigh@solinno.co.uk> Acked-by: Anthony PERARD <anthony.perard@vates.tech> Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
This commit is contained in:
1 parent
a1eb020cab
commit
995f509ff2
4 files changed
+99
No files matched your search
@@ -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 allowed on the external
|
||||
interface. Note, if you want to create an internal VLAN private to 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' ]
|
||||
|
||||
Alternatively, you can create single interface:
|
||||
|
||||
vif = [ 'mac=xx:xx:xx:xx:xx:xx, bridge=br0, vlan=10p/20' ]
|
||||
|
||||
In the domain, you would, for example, use enX0 for VLAN 10 and enX0.20 for
|
||||
VLAN 20.
|
||||
|
||||
|
||||
Hints and tips
|
||||
--------------
|
||||
|
||||
You can run the following commands on dom0 or a driver domain:
|
||||
|
||||
1. To check if vlan_filtering is enabled:
|
||||
# cat /sys/devices/virtual/net/<name>/bridge/vlan_filtering
|
||||
|
||||
2. To check the bridge port VLAN assignments:
|
||||
# bridge vlan
|
||||
|
||||
3. To check the vlan setting in the xenstore (dom0 only):
|
||||
# xenstore-ls -f | grep 'vlan ='
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
[NetDev]
|
||||
Name=br0
|
||||
Kind=bridge
|
||||
MACAddress=xx:xx:xx:xx:xx:xx
|
||||
|
||||
[Bridge]
|
||||
VLANFiltering=on
|
||||
@@ -0,0 +1,8 @@
|
||||
[Match]
|
||||
Name=br0
|
||||
|
||||
[Network]
|
||||
DNS=8.8.8.8
|
||||
#Domains=example.com
|
||||
Address=10.1.1.10/24
|
||||
Gateway=10.1.1.1
|
||||
@@ -0,0 +1,16 @@
|
||||
[Match]
|
||||
Name=enp0s0
|
||||
|
||||
[Network]
|
||||
Bridge=br0
|
||||
|
||||
# If Jumbo frames are required
|
||||
#[Link]
|
||||
#MTUBytes=9000
|
||||
|
||||
[BridgeVLAN]
|
||||
VLAN=10
|
||||
|
||||
[BridgeVLAN]
|
||||
VLAN=20
|
||||
|
||||