Thanks, I applied this fix to master, and I'll look at other branches now.
On Mon, Mar 17, 2014 at 02:41:37PM -0400, Kim, Hyojoon wrote: > Hi Ben, > > The patch works, and solves the problem. Now it updates immediately :-) > > Seems like you can make it an official patch. Thanks for your prompt response > and solution! > > Thanks, > Joon > > ----- Original Message ----- > From: "Ben Pfaff" <[email protected]> > To: "Hyojoon Kim" <[email protected]> > Cc: [email protected] > Sent: Monday, March 17, 2014 8:47:46 AM > Subject: Re: [ovs-discuss] Immediate reaction to group-mod > > 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
