From: Ethan Jackson Date: Mon, 23 May 2011 18:37:15 +0000 (-0700) Subject: bond: Always use L4 hash for stable bonds. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=739e1050dcc320af88e7ab227a15d26eb63e5726;p=openvswitch bond: Always use L4 hash for stable bonds. Stable bonds are used in such specialized cases that it doesn't make sense to require LACP negotiations to use L4 hashing. --- diff --git a/lib/bond.c b/lib/bond.c index 9a688be6..85bb2da9 100644 --- a/lib/bond.c +++ b/lib/bond.c @@ -1305,8 +1305,8 @@ bond_link_status_update(struct bond_slave *slave, struct tag_set *tags) static bool bond_is_tcp_hash(const struct bond *bond) { - return (bond->balance == BM_TCP || bond->balance == BM_STABLE) - && bond->lacp_negotiated; + return (bond->balance == BM_TCP && bond->lacp_negotiated) + || bond->balance == BM_STABLE; } static unsigned int diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml index 85bf1627..4288ee6b 100644 --- a/vswitchd/vswitch.xml +++ b/vswitchd/vswitch.xml @@ -536,8 +536,8 @@

Attempts to always assign a given flow to the same slave consistently. In an effort to maintain stability, no load balancing is done. Uses a similar hashing strategy to - balance-tcp, falling back to balance-slb - style hashing when LACP negotiations are unsuccessful.

+ balance-tcp, always taking into account L3 and L4 + fields even if LACP negotiations are unsuccessful.

Slave selection decisions are made based on bond-stable-id if set. Otherwise, OpenFlow port number is used. Decisions are consistent across all ovs-vswitchd