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