|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [RFC PATCH v2 0/5] Add bridge VLAN support
Hi Andrew, On 2024-05-09 16:53, Andrew Cooper wrote: On 08/05/2024 10:38 pm, Leigh Brown wrote:Hello all,I realised over the weekend that there is a valid use case for providing a VIF to a domain that has access to multiple VLANs, e.g. a router. Yes, you can create a VIF per VLAN, but if you start having several VLANs (as I do), it would be nicer to create a single interface that has access toall the relevant VLANs (e.g. enX0.10, enX0.20, etc.).So, version 2 changes the name and type of the parameter from an integercalled `vid' to a string called `vlan'. The vlan parameter is thenparsed by the vif-bridge script (actually, the functions called by it inxen-network-common.sh).As it quite a common practice to allocate VLANs in round numbers, I also implemented the ability to specify contiguous or non-contiguous ranges. You can specify whether a VLAN is tagged or untagged, and which VLAN isthe PVID (only one PVID is allowed). For example, vif = [ 'mac=xx:xx:xx:xx:xx:xx, bridge=br0, vlan=10p/20-29' ] will setup the VIF so that 10 is the PVID and VLAN IDs 20 through 29 are permitted with tags. Another example: vif = [ 'mac=xx:xx:xx:xx:xx:xx, bridge=br0, vlan=1p/10+10x9' ] will setup the bridge to set 1 as the PVID and permit access with tags for VLAN IDs 10, 20, 30, 40, 50, 60, 70, 80 and 90. This patch set enables this capability as follows: 1. Adds `vlan' as a new member of the libxl_device_nic structure;2. Adds support to read and write the vlan parameter from the xenstore;3. Adds `vlan' as a new keyword for the vif configuration option;4. Adds support to assign the bridge VLANs in the Linux hotplug scripts;5. Updated xl-network-configuration(5) manpage and example configs. Original blurb below: For many years I have been configuring VLANs on my Linux Dom0 by creating VLAN interfaces for each VLAN I wanted to connect a domain to and then a corresponding bridge. So I would tend to have things like: enp0s0 -> br0 -> vif1, vif2 enp0s0.10 -> br0vl10 -> vif3, vif4 enp0s0.20 -> br0vl20 -> vif5 dummy0 -> br1 -> vif6I recently discovered that iproute2 supports creating bridge VLANs thatallows you to assign a VLAN to each of the interfaces associated to a bridge. This allows a greatly simplified configuration where a singlebridge can support all the domains, and the iproute2 bridge command can From my own perspective, I know this is an enhancement and am more than happy to maintain it locally for the time being, so no problem if it has to wait. Still happy for any feedback though :-) Anthony is OoO for a month now, so if this is to get in for 4.19, thenit will need reviewing by others. I've CC'd a few plausible candidates...~Andrew Regards, Leigh,
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |