The thing is, that at least in my installation(the default on ubuntu
16.04), it does not learn the new location. It just drops any package when
it comes in on a port where it's not expected. I have to wait until the old
cached mac disappears (seems to be something like 300 seconds), as shown
when running "ovs-appctl fdb/show".

Carp works by sending a multicast packet once every second(by default).
Once an interface has established itself as a slave it will stop sending
packets until the master stops sending. So it's not very often. I expect
VRRP works in a similar manner, but I don't have much experience with it.

More info on carp:https://www.openbsd.org/faq/pf/carp.html

On Tue, Sep 6, 2016 at 4:55 PM, Ben Pfaff <b...@ovn.org> wrote:

> On Tue, Sep 06, 2016 at 11:50:13AM +0200, Fredrik Dahlberg wrote:
> > On Mon, Sep 5, 2016 at 5:33 AM Ben Pfaff <b...@ovn.org> wrote:
> >
> > > On Sun, Sep 04, 2016 at 07:12:43PM +0000, Fredrik Dahlberg wrote:
> > > > I am trying to get carp to work with ovs(2.5.0, ubuntu 16.04).
> > > >
> > > > Carp is set up with the same mac address on the carp interfaces,
> trying
> > > to
> > > > determine who is master like this:
> > > > 20:55:56.326841 00:00:5e:00:01:19 (oui Unknown) > 01:00:5e:00:00:12
> (oui
> > > > Unknown), ethertype IPv4 (0x0800), length 70: 192.168.43.2 >
> > > vrrp.mcast.net:
> > > > CARPv2-advertise 36: vhid=25 advbase=1 advskew=50 authlen=7
> > > > counter=4581652178833997382
> > > > 20:55:56.382550 00:00:5e:00:01:19 (oui Unknown) > 01:00:5e:00:00:12
> (oui
> > > > Unknown), ethertype IPv4 (0x0800), length 70: 192.168.43.4 >
> > > vrrp.mcast.net:
> > > > CARPv2-advertise 36: vhid=25 advbase=1 advskew=100 authlen=7
> > > > counter=11630556296063315122
> > > > (The difference in advskew here shows they are different sources.)
> > > >
> > > > However, ovs won't let any frames through if they arrive on the
> "wrong"
> > > > port according to the fdb. When sniffing on the bridge I can only see
> > > > packets from the source that started first. This easily leads to a
> > > > situation where I end up with multiple carp masters, and even if it
> > > didn't,
> > > > we have to wait for the entry in the fdb to time out before the new
> > > master
> > > > is visible to the network.
> > > >
> > > > Any suggestions on how to solve this? Any way to allow frames on the
> > > > "wrong" port to update the fdb?
> > >
> > > I don't understand what you mean by the "wrong" port.  Open vSwitch
> > > implements a conventional MAC learning algorithm.  What's carp trying
> to
> > > do, and why doesn't it work with MAC learning?
> > >
> >
> > As far as I have learned, normally a switch will behave like this: If it
> > receives a packet on a certain port, it will learn that the source mac
> > address resides on that port, and send packets destined for that mac out
> > only on that port. If it receives a packet from the same mac address on a
> > different port, it will update what it has learned and start sending out
> > packets destined for that mac address on the new port. Ovs however, at
> > least in my installation, will not update the mac address table when it
> > receives a packet from a mac address it has already learn, instead
> dropping
> > that packet.
> >
> > Since carp uses the same mac address on different hosts, I can't get it
> to
> > work over ovs. The host that starts announcing itself first will get
> > learned by ovs, and the other one will just have it's packets dropped,
> > leading to a situation where one of them can't see the other. One
> solution
> > would be if it was possible to make ovs behave more like a normal switch
> > and update the mac addresses instead of dropping the packets.
>
> OVS should learn changes in MAC address locations in the same way as any
> other switch.
>
> How frequently does carp move MAC addresses?  If it's moving a single
> MAC address multiple times per second, OVS might have some trouble with
> that; it's never been a use case that we've looked into.
>
_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to