X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fbond.c;h=71784160acf4fa64afff1a51ef3847b1a375907e;hb=5b289eaf9f880c5284510a45db8e13f55f4968f3;hp=3b86ee486f05de10685835fc9f85f921ef82e9d6;hpb=bde9f75de100e3801735bf69f605320f4db65cba;p=openvswitch diff --git a/lib/bond.c b/lib/bond.c index 3b86ee48..71784160 100644 --- a/lib/bond.c +++ b/lib/bond.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2009, 2010, 2011 Nicira Networks. + * Copyright (c) 2008, 2009, 2010, 2011, 2012 Nicira, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -488,7 +488,7 @@ static bool may_send_learning_packets(const struct bond *bond) { return bond->lacp_status == LACP_DISABLED - && bond->balance != BM_AB + && bond->balance != BM_STABLE && bond->active_slave; } @@ -498,8 +498,9 @@ may_send_learning_packets(const struct bond *bond) * is located. For each MAC that has been learned on a port other than 'bond', * it should call bond_compose_learning_packet(). * - * This function will only return true if 'bond' is in SLB mode and LACP is not - * negotiated. Otherwise sending learning packets isn't necessary. + * This function will only return true if 'bond' is in SLB or active-backup + * mode and LACP is not negotiated. Otherwise sending learning packets isn't + * necessary. * * Calling this function resets the state that it checks. */ bool @@ -531,8 +532,7 @@ bond_compose_learning_packet(struct bond *bond, slave = choose_output_slave(bond, &flow, vlan); packet = ofpbuf_new(0); - compose_benign_packet(packet, "Open vSwitch Bond Failover", 0xf177, - eth_src); + compose_rarp(packet, eth_src); if (vlan) { eth_push_vlan(packet, htons(vlan)); }