From 739e1050dcc320af88e7ab227a15d26eb63e5726 Mon Sep 17 00:00:00 2001 From: Ethan Jackson Date: Mon, 23 May 2011 11:37:15 -0700 Subject: [PATCH] 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. --- lib/bond.c | 4 ++-- vswitchd/vswitch.xml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/bond.c b/lib/bond.c index 9a688be69..85bb2da94 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 85bf16277..4288ee6b3 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 -- 2.39.5