On Mon, Mar 17, 2014 at 05:08:22AM -0400, Kim, Hyojoon wrote:
> For example:
> Let's say there is a flow table entry whose action is "group table
> 10". And the group table entry with id 10 has an action as "output:
> 1". I generate flows that match the aforementioned flow table entry,
> so flows start to go out through output port 1.
>
> Now, if I modify the group table entry's action to have "output: 2",
> those flows should now go out through output port 2 instead of 1
> *immediately*, right after I send the group-mod OpenFlow command.
>
> However, it seems that this is not the case. I have to stop the flow,
> wait until the flow table entry times out, and then re-initiate the
> flow. Then, the modified group table entry finally seems to take
> effect.
It appears that this is a bug that has not been reported before. Can
you try this patch?
diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c
index 97eb2b8..f6383dd 100644
--- a/ofproto/ofproto-dpif.c
+++ b/ofproto/ofproto-dpif.c
@@ -3334,6 +3334,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_);
@@ -3344,6 +3345,8 @@ group_modify(struct ofgroup *group_, struct ofgroup
*victim_)
group_construct_stats(group);
ovs_mutex_unlock(&group->stats_mutex);
+ ofproto->backer->need_revalidate = REV_RECONFIGURE;
+
return 0;
}
_______________________________________________
discuss mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/discuss