X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Fbond.c;h=3834774d4b385670883193214367c326f8f0a663;hb=6b900de4efd368be88ef3db88b1eff8f835a7cf7;hp=06dd3627f5821ef2bf3dacda88501a3ce18b7d26;hpb=4a1b8f30e5956655b59200d673964b9f3f9ad711;p=sliver-openvswitch.git diff --git a/lib/bond.c b/lib/bond.c index 06dd3627f..3834774d4 100644 --- a/lib/bond.c +++ b/lib/bond.c @@ -475,7 +475,7 @@ bond_wait(struct bond *bond) poll_timer_wait_until(bond->next_fake_iface_update); } - if (!bond->bond_revalidate) { + if (bond->bond_revalidate) { poll_immediate_wake(); } ovs_rwlock_unlock(&rwlock); @@ -661,11 +661,14 @@ bond_choose_output_slave(struct bond *bond, const struct flow *flow, struct flow_wildcards *wc, uint16_t vlan) { struct bond_slave *slave; + void *aux; ovs_rwlock_rdlock(&rwlock); slave = choose_output_slave(bond, flow, wc, vlan); + aux = slave ? slave->aux : NULL; ovs_rwlock_unlock(&rwlock); - return slave; + + return aux; } /* Rebalancing. */