Thanks, I'll push this soon.

On Thu, Jul 05, 2012 at 03:20:28PM -0700, Justin Pettit wrote:
> Looks good to me.
> 
> --Justin
> 
> 
> On Jun 26, 2012, at 2:43 PM, Ben Pfaff wrote:
> 
> > The layering between ofproto and ovs-vswitchd caused the datapath ID to be
> > logged in a needlessly confusing way.  First, ofproto would log its
> > default datapath ID:
> > 
> >     using datapath ID 0000505400000004
> > 
> > then the bridge code would immediately determine the datapath ID that it
> > wanted and call ofproto_set_datapath_id(), which would log the change
> > 
> >     datapath ID changed to 0000111122223333
> > 
> > This commit stops logging the default datapath ID, which is never actually
> > visible in OpenFlow.  This should make the log files easier to understand.
> > 
> > Bug #12164.
> > Reported-by: Jacob Cherkas <[email protected]>
> > Signed-off-by: Ben Pfaff <[email protected]>
> > ---
> > ofproto/ofproto.c |   11 ++++++-----
> > ofproto/ofproto.h |    1 +
> > vswitchd/bridge.c |    5 ++++-
> > 3 files changed, 11 insertions(+), 6 deletions(-)
> > 
> > diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c
> > index 68bd485..dfc8db4 100644
> > --- a/ofproto/ofproto.c
> > +++ b/ofproto/ofproto.c
> > @@ -404,8 +404,6 @@ ofproto_create(const char *datapath_name, const char 
> > *datapath_type,
> >     assert(ofproto->n_tables);
> > 
> >     ofproto->datapath_id = pick_datapath_id(ofproto);
> > -    VLOG_INFO("%s: using datapath ID %016"PRIx64,
> > -              ofproto->name, ofproto->datapath_id);
> >     init_ports(ofproto);
> > 
> >     *ofprotop = ofproto;
> > @@ -427,15 +425,18 @@ ofproto_init_tables(struct ofproto *ofproto, int 
> > n_tables)
> >     }
> > }
> > 
> > +uint64_t
> > +ofproto_get_datapath_id(const struct ofproto *ofproto)
> > +{
> > +    return ofproto->datapath_id;
> > +}
> > +
> > void
> > ofproto_set_datapath_id(struct ofproto *p, uint64_t datapath_id)
> > {
> >     uint64_t old_dpid = p->datapath_id;
> >     p->datapath_id = datapath_id ? datapath_id : pick_datapath_id(p);
> >     if (p->datapath_id != old_dpid) {
> > -        VLOG_INFO("%s: datapath ID changed to %016"PRIx64,
> > -                  p->name, p->datapath_id);
> > -
> >         /* Force all active connections to reconnect, since there is no way 
> > to
> >          * notify a controller that the datapath ID has changed. */
> >         ofproto_reconnect_controllers(p);
> > diff --git a/ofproto/ofproto.h b/ofproto/ofproto.h
> > index ea988e7..0919d81 100644
> > --- a/ofproto/ofproto.h
> > +++ b/ofproto/ofproto.h
> > @@ -201,6 +201,7 @@ int ofproto_port_query_by_name(const struct ofproto *, 
> > const char *devname,
> >                                struct ofproto_port *);
> > 
> > /* Top-level configuration. */
> > +uint64_t ofproto_get_datapath_id(const struct ofproto *);
> > void ofproto_set_datapath_id(struct ofproto *, uint64_t datapath_id);
> > void ofproto_set_controllers(struct ofproto *,
> >                              const struct ofproto_controller *, size_t n);
> > diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c
> > index 67e29d2..3a3e58b 100644
> > --- a/vswitchd/bridge.c
> > +++ b/vswitchd/bridge.c
> > @@ -754,7 +754,10 @@ bridge_configure_datapath_id(struct bridge *br)
> >     memcpy(br->ea, ea, ETH_ADDR_LEN);
> > 
> >     dpid = bridge_pick_datapath_id(br, ea, hw_addr_iface);
> > -    ofproto_set_datapath_id(br->ofproto, dpid);
> > +    if (dpid != ofproto_get_datapath_id(br->ofproto)) {
> > +        VLOG_INFO("bridge %s: using datapath ID %016"PRIx64, br->name, 
> > dpid);
> > +        ofproto_set_datapath_id(br->ofproto, dpid);
> > +    }
> > 
> >     dpid_string = xasprintf("%016"PRIx64, dpid);
> >     ovsrec_bridge_set_datapath_id(br->cfg, dpid_string);
> > -- 
> > 1.7.2.5
> > 
> > _______________________________________________
> > dev mailing list
> > [email protected]
> > http://openvswitch.org/mailman/listinfo/dev
> 
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev

Reply via email to