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.s...@ericsson.com>
Co-authored-by: Jan Scheurich <jan.scheur...@ericsson.com>
Signed-off-by: Jan Scheurich <jan.scheur...@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;
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to