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
