[ovs-discuss] Issue with multiple port in single Br

Ben Pfaff blp at nicira.com
Thu Sep 27 16:09:44 UTC 2012


Your bond is set up as a trunk port over all VLANs.  So anything
coming in on eth2 is going to be sent back out eth0 or eth1 on VLAN
30.  This certainly sounds like a potential loop.

If you only want VLANs 10 and 20 on bond0 then configure it that way:
        ovs-vsctl set port bond0 trunks=10,20

On Thu, Sep 27, 2012 at 05:57:14PM +0200, r po wrote:
> Hi again,
> 
> I have already à bond on vlan 10 and 20. On physical switch side i only tag theses two vlan.
> My eth2 is connected to the same physical switch but tagged in vlan 30.
> 
> So it's not a looping for me.
> 
> It is not possible to attach two interface with différent tag on same bridge ??
> And then for mirroring, the output port shouldn't be on the same bridge ?
> 
> > Date: Thu, 27 Sep 2012 07:58:51 -0700
> > From: blp at nicira.com
> > To: r2.d2 at live.fr
> > CC: discuss at openvswitch.org
> > Subject: Re: [ovs-discuss] Issue with multiple port in single Br
> > 
> > On Thu, Sep 27, 2012 at 04:29:12PM +0200, r po wrote:
> > > I test ovs since few weeks, and I notice a strange thing (maybe it's normal but it's seems wrong to me )
> > > 
> > > this is my ovs's config
> > > 
> > >     Bridge PROD
> > >         Port "virt1_eth0"
> > >             tag: 10
> > >             Interface "virt1_eth0"
> > >         Port "prod1"
> > >             tag: 10
> > >             Interface "prod1"
> > >                 type: internal
> > >         Port PROD
> > >             Interface PROD
> > >                 type: internal
> > >         Port "prod2"
> > >             tag: 20
> > >             Interface "prod2"
> > >                 type: internal
> > >         Port "virt2_eth0"
> > >             tag: 20
> > >             Interface "virt2_eth0"
> > >         Port "bond0"
> > >             Interface "eth0"
> > >             Interface "eth1"
> > >     ovs_version: "1.4.0+build0"
> > > 
> > > all work. it's fine. Now i would add a new physical interface to a specific vlan on bridge PROD.
> > > 
> > > ovs-vsctl add-port PROD eth2 tag=300
> > > 
> > > then, I lost connection for few minutes before it will work again.
> > 
> > This sounds like a FAQ.
> > 
> > Q: I created a bridge and added a couple of Ethernet ports to it,
> >    using commands like these:
> > 
> >        ovs-vsctl add-br br0
> >        ovs-vsctl add-port br0 eth0
> >        ovs-vsctl add-port br0 eth1
> > 
> >    and now my network seems to have melted: connectivity is unreliable
> >    (even connectivity that doesn't go through Open vSwitch), all the
> >    LEDs on my physical switches are blinking, wireshark shows
> >    duplicated packets, and CPU usage is very high.
> > 
> > A: More than likely, you've looped your network.  Probably, eth0 and
> >    eth1 are connected to the same physical Ethernet switch.  This
> >    yields a scenario where OVS receives a broadcast packet on eth0 and
> >    sends it out on eth1, then the physical switch connected to eth1
> >    sends the packet back on eth0, and so on forever.  More complicated
> >    scenarios, involving a loop through multiple switches, are possible
> >    too.
> > 
> >    The solution depends on what you are trying to do:
> > 
> >        - If you added eth0 and eth1 to get higher bandwidth or higher
> >          reliability between OVS and your physical Ethernet switch,
> >          use a bond.  The following commands create br0 and then add
> >          eth0 and eth1 as a bond:
> > 
> >              ovs-vsctl add-br br0
> >              ovs-vsctl add-bond br0 bond0 eth0 eth1
> > 
> >          Bonds have tons of configuration options.  Please read the
> >          documentation on the Port table in ovs-vswitchd.conf.db(5)
> >          for all the details.
> > 
> >        - Perhaps you don't actually need eth0 and eth1 to be on the
> >          same bridge.  For example, if you simply want to be able to
> >          connect each of them to virtual machines, then you can put
> >          each of them on a bridge of its own:
> > 
> >              ovs-vsctl add-br br0
> >              ovs-vsctl add-port br0 eth0
> > 
> >              ovs-vsctl add-br br1
> >              ovs-vsctl add-port br1 eth1
> > 
> >          and then connect VMs to br0 and br1.  (A potential
> >          disadvantage is that traffic cannot directly pass between br0
> >          and br1.  Instead, it will go out eth0 and come back in eth1,
> >          or vice versa.)
> > 
> >        - If you have a redundant or complex network topology and you
> >          want to prevent loops, turn on spanning tree protocol (STP).
> >          The following commands create br0, enable STP, and add eth0
> >          and eth1 to the bridge.  The order is important because you
> >          don't want have to have a loop in your network even
> >          transiently:
> > 
> >              ovs-vsctl add-br br0
> >              ovs-vsctl set bridge br0 stp_enable=true
> >              ovs-vsctl add-port br0 eth0
> >              ovs-vsctl add-port br0 eth1
> > 
> >          The Open vSwitch implementation of STP is not well tested.
> >          Please report any bugs you observe, but if you'd rather avoid
> >          acting as a beta tester then another option might be your
> >          best shot.
>  		 	   		  



More information about the discuss mailing list