On Tue, Oct 02, 2018 at 10:31:50AM -0700, [email protected] wrote:
> I have an environment with multiple ovs bridges, each containing a
> real ethernet interface and one or more virtual interfaces belonging to
> xen guests. I want to try and figure out how or if it's possible to
> allow trunks containing distinct sets of 8021q tags, on a single
> physical interface, to be set into different ovs bridges.
>
> For example:
>
> Lets say ixgbe0 is a 10gig interface, and it has vlans 100 - 399
> present on it. What I may want is to say, ovs-bridge 'public', to have
> ixgbe0 vlans 100 - 102, and ovs-bridge 'private' to have ixgbe0 vlans
> 200 - 202, and ovs-bridge 'dev' to have ixgbe0 300 - 302.
>
> I think I can create vlan subinterfaces:
>
> ip link add link ixgbe0 name vlan100 type vlan id 100
> ip link add link ixgbe0 name vlan101 type vlan id 101
> ip link add link ixgbe0 name vlan102 type vlan id 102
> ip link add link ixgbe0 name vlan200 type vlan id 200
> ip link add link ixgbe0 name vlan201 type vlan id 201
> ip link add link ixgbe0 name vlan202 type vlan id 202
> ip link add link ixgbe0 name vlan300 type vlan id 300
> ip link add link ixgbe0 name vlan301 type vlan id 301
> ip link add link ixgbe0 name vlan302 type vlan id 302
>
> and then individually put each into the ovs-bridge, but this is
> really ugly.
>
> It would be far more efficient to instead tell ovs to simply trunk
> the required vlans in each of the ovs-bridges. This would cut down on
> configuration effort, errors, and be far easier to maintain. Can anyone
> suggest how this might be possible?
That's not possible directly.
You can come close in a couple of ways. One would be to create a third
bridge, e.g. br-dist, and use patch ports to connect to your other
bridges, e.g.:
ovs-vsctl \
-- add-br br-dist \
-- add-port br-dist ixgbe0 \
-- add-port br-dist to-public \
-- set port to-public trunks=100,101,102 \
-- set interface to-public type=patch options:peer=from-public \
-- add-port public from-public \
-- set interface from-public type=patch options:peer=to-public \
-- add-port br-dist to-private \
-- set port to-private trunks=200,201,202 \
-- set interface to-private type=patch options:peer=from-private \
-- add-port private from-private \
-- set interface from-private type=patch options:peer=to-private \
-- add-port br-dist to-dev \
-- set port to-dev trunks=300,301,302 \
-- set interface to-dev type=patch options:peer=from-dev \
-- add-port dev from-dev \
-- set interface from-dev type=patch options:peer=to-dev
Another way would be to just use a single bridge and set trunks or tag
properly on each port.
_______________________________________________
discuss mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss