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