ofproto-bond: do not allow recirculation when we failed to allocate recirc_id
authorAndy Zhou <azhou@nicira.com>
Fri, 25 Apr 2014 02:21:40 +0000 (19:21 -0700)
committerAndy Zhou <azhou@nicira.com>
Tue, 29 Apr 2014 00:37:05 +0000 (17:37 -0700)
When recirc pool is exhausted, a new bond won't be allocate a new
recirc_id. The bond->recirc_id will remain zero. This condition
should prevent the bond from use recirculation. This check was missing
before this patch.

Signed-off-by: Andy Zhou <azhou@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
ofproto/bond.c

index 630e535..2fa65a9 100644 (file)
@@ -888,7 +888,7 @@ bool
 bond_may_recirc(const struct bond *bond, uint32_t *recirc_id,
                 uint32_t *hash_bias)
 {
-    if (bond->balance == BM_TCP) {
+    if (bond->balance == BM_TCP && recirc_id) {
         if (recirc_id) {
             *recirc_id = bond->recirc_id;
         }