[ovs-dev] [PATCH 13/16] ofproto: Additional simplifications.

Ben Pfaff blp at nicira.com
Thu Jun 12 21:30:29 UTC 2014


On Tue, Jun 10, 2014 at 12:06:11AM +0100, Thomas Graf wrote:
> On 06/05/14 at 10:02pm, Ben Pfaff wrote:
> > This commit finishes the removal of asynchronous flow table operations
> > begun in the previous commit, by removing ofoperation and ofopgroup
> > entirely and all of the code that depended on them.  Following this commit,
> > all the internal documentation and comments should again be consistent and
> > correct.
> > 
> > Signed-off-by: Ben Pfaff <blp at nicira.com>
> 
> Looks sane, minor comment below. I suggest someone else with better
> understanding of this code does a review as well.
> 
> > ---
> >  ofproto/connmgr.c          |   4 +
> >  ofproto/ofproto-provider.h | 124 ++------
> >  ofproto/ofproto.c          | 690 ++++++++++-----------------------------------
> >  3 files changed, 170 insertions(+), 648 deletions(-)
> 
> > @@ -1263,17 +1180,9 @@ void
> >  ofproto_rule_delete(struct ofproto *ofproto, struct rule *rule)
> >      OVS_EXCLUDED(ofproto_mutex)
> >  {
> > -    struct ofopgroup *group;
> > -    struct ofoperation *op;
> > -
> >      ovs_mutex_lock(&ofproto_mutex);
> > -    group = ofopgroup_create_unattached(ofproto);
> > -    op = ofoperation_create(group, rule, OFOPERATION_DELETE, OFPRR_DELETE);
> >      oftable_remove_rule__(ofproto, rule);
> >      ofproto->ofproto_class->rule_delete(rule);
> > -    ofoperation_complete(op, 0);
> > -    ofopgroup_submit(group);
> > -
> >      ovs_mutex_unlock(&ofproto_mutex);
> 
> Does this need a ofmonitor_flush() as in ofproto_rule_delete__()?

I skipped the bits for OpenFlow notifications in this case
intentionally, since the switch is doomed.  This is not obvious, so
I'll add a comment:

    /* This skips the ofmonitor and flow-removed notifications because the
     * switch is being deleted and any OpenFlow channels have been or soon will
     * be killed. */

Thanks,

Ben.



More information about the dev mailing list