From: Ben Pfaff Date: Mon, 17 Mar 2014 20:25:19 +0000 (-0700) Subject: ofproto-dpif: Revalidate flows when the group table changes. X-Git-Tag: v2.1.0~2 X-Git-Url: http://git.cascardo.eti.br/?p=cascardo%2Fovs.git;a=commitdiff_plain;h=64d3297ba61f0dce8656e9bb53b421c8f8434e7c ofproto-dpif: Revalidate flows when the group table changes. Otherwise group table modifications won't be immediately reflected in the treatment of flows already passing through the switch. Reported-by: Hyojoon Kim Signed-off-by: Ben Pfaff Tested-by: Hyojoon Kim --- diff --git a/AUTHORS b/AUTHORS index 80756b2aa..7b6739f08 100644 --- a/AUTHORS +++ b/AUTHORS @@ -171,6 +171,7 @@ Hector Oron hector.oron@gmail.com Henrik Amren henrik@nicira.com Hiroshi Tanaka htanaka@nicira.com Hiroshi Miyata miyahiro.dazu@gmail.com +Hyojoon Kim joonk@gatech.edu Igor Ganichev iganichev@nicira.com Igor Sever igor@xorops.com Jacob Cherkas jcherkas@nicira.com diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c index ca7c0b131..c6a4c5858 100644 --- a/ofproto/ofproto-dpif.c +++ b/ofproto/ofproto-dpif.c @@ -3152,6 +3152,7 @@ group_destruct(struct ofgroup *group_) static enum ofperr group_modify(struct ofgroup *group_, struct ofgroup *victim_) { + struct ofproto_dpif *ofproto = ofproto_dpif_cast(group_->ofproto); struct group_dpif *group = group_dpif_cast(group_); struct group_dpif *victim = group_dpif_cast(victim_); @@ -3162,6 +3163,8 @@ group_modify(struct ofgroup *group_, struct ofgroup *victim_) group_construct_stats(group); ovs_mutex_unlock(&group->stats_mutex); + ofproto->backer->need_revalidate = REV_FLOW_TABLE; + return 0; }