Set the stp port name before enabling it, so that debugging messages have the name to print out.
Do not treat the first state initialization as a state change. Zero is not a valid state, so changing from zero to STP_DISABLED is not a state change. Signed-off-by: Jarno Rajahalme <jrajaha...@nicira.com> --- lib/stp.c | 7 ++++++- ofproto/ofproto-dpif.c | 5 ++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/stp.c b/lib/stp.c index 1bf1f89..8f904c0 100644 --- a/lib/stp.c +++ b/lib/stp.c @@ -1469,7 +1469,12 @@ stp_initialize_port(struct stp_port *p, enum stp_state state) { ovs_assert(state & (STP_DISABLED | STP_BLOCKING)); stp_become_designated_port(p); - stp_set_port_state(p, state); + + if (!p->state && state == STP_DISABLED) { + p->state = state; /* Do not trigger state change when initializing. */ + } else { + stp_set_port_state(p, state); + } p->topology_change_ack = false; p->config_pending = false; p->change_detection_enabled = true; diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c index 4da16f4..953b8d1 100644 --- a/ofproto/ofproto-dpif.c +++ b/ofproto/ofproto-dpif.c @@ -2218,9 +2218,12 @@ set_stp_port(struct ofport *ofport_, } sp = ofport->stp_port = stp_get_port(ofproto->stp, s->port_num); - stp_port_enable(sp); + /* Set name before enabling the port so that debugging messages can print + * the name. */ stp_port_set_name(sp, netdev_get_name(ofport->up.netdev)); + stp_port_enable(sp); + stp_port_set_aux(sp, ofport); stp_port_set_priority(sp, s->priority); stp_port_set_path_cost(sp, s->path_cost); -- 1.7.10.4 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev