[ovs-dev] [PATCH] ofproto-dpif-xlate: fix for group liveness propagation

László Sürü laszlo.suru at ericsson.com
Wed May 11 08:46:33 UTC 2016


Hi,

According to OpenFlow v1.3.5 specification a group is considered live, if it has at least one live bucket in it.
(6.5 Group Table Modification Messages: ". A group is considered live if a least one of its buckets is live.")

However, OVS 2.5 implementation incorrectly returns back group liveness when a live bucket found in
group_is_alive() function of ofproto-dpif-xlate.c.

Instead it should return true only if a live bucket is found (that is != NULL).

Signed-off-by: László Sűrű <laszlo.suru at ericsson.com>
Co-authored-by: Jan Scheurich <jan.scheurich at ericsson.com>
Signed-off-by: Jan Scheurich <jan.scheurich at ericsson.com>

---

diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c
index 2321802..4ffd8ac 100644
--- a/ofproto/ofproto-dpif-xlate.c
+++ b/ofproto/ofproto-dpif-xlate.c
@@ -1502,7 +1502,7 @@ group_is_alive(const struct xlate_ctx *ctx, uint32_t group_id, int depth)

         bucket = group_first_live_bucket(ctx, group, depth);
         group_dpif_unref(group);
-        return bucket == NULL;
+        return bucket != NULL;
     }

     return false;



More information about the dev mailing list