Acked-by: Daniele Venturino <daniele.ventur...@m3s.it>

2014-08-21 1:57 GMT+02:00 Jarno Rajahalme <jrajaha...@nicira.com>:

> Signed-off-by: Jarno Rajahalme <jrajaha...@nicira.com>
> ---
>  lib/rstp.c             |   39 ++++++++++++++++++++++++++-------------
>  ofproto/ofproto-dpif.c |    2 +-
>  2 files changed, 27 insertions(+), 14 deletions(-)
>
> diff --git a/lib/rstp.c b/lib/rstp.c
> index 3bec795..c674105 100644
> --- a/lib/rstp.c
> +++ b/lib/rstp.c
> @@ -872,7 +872,8 @@ OVS_REQUIRES(mutex)
>
>  /* Adds a RSTP port. */
>  struct rstp_port *
> -rstp_add_port(struct rstp *rstp) {
> +rstp_add_port(struct rstp *rstp)
> +{
>      struct rstp_port *p = xzalloc(sizeof *p);
>
>      ovs_mutex_lock(&mutex);
> @@ -896,7 +897,8 @@ rstp_add_port(struct rstp *rstp) {
>
>  /* Deletes a RSTP port. */
>  void
> -rstp_delete_port(struct rstp_port *p) {
> +rstp_delete_port(struct rstp_port *p)
> +{
>      struct rstp *rstp;
>
>      ovs_mutex_lock(&mutex);
> @@ -905,21 +907,21 @@ rstp_delete_port(struct rstp_port *p) {
>      list_remove(&p->node);
>      rstp->ports_count--;
>      VLOG_DBG("%s: removed port "RSTP_PORT_ID_FMT"", rstp->name,
> p->port_id);
> -    free(p);
>      ovs_mutex_unlock(&mutex);
> +    free(p);
>  }
>
>  /* Sets the port Admin Edge parameter. */
>  void
>  rstp_port_set_admin_edge(struct rstp_port *rstp_port, bool new_admin_edge)
>  {
> -    struct rstp *rstp;
> -
> -    rstp = rstp_port->rstp;
>      if (rstp_port->admin_edge != new_admin_edge) {
> +        struct rstp *rstp;
> +
> +        ovs_mutex_lock(&mutex);
> +        rstp = rstp_port->rstp;
>          VLOG_DBG("%s, port %u: set RSTP Admin Edge to %d", rstp->name,
>                   rstp_port->port_number, new_admin_edge);
> -        ovs_mutex_lock(&mutex);
>          rstp_port->admin_edge = new_admin_edge;
>          ovs_mutex_unlock(&mutex);
>      }
> @@ -929,13 +931,13 @@ rstp_port_set_admin_edge(struct rstp_port
> *rstp_port, bool new_admin_edge)
>  void
>  rstp_port_set_auto_edge(struct rstp_port *rstp_port, bool new_auto_edge)
>  {
> -    struct rstp *rstp;
> -
> -    rstp = rstp_port->rstp;
>      if (rstp_port->auto_edge != new_auto_edge) {
> +        struct rstp *rstp;
> +
> +        ovs_mutex_lock(&mutex);
> +        rstp = rstp_port->rstp;
>          VLOG_DBG("%s, port %u: set RSTP Auto Edge to %d", rstp->name,
>                   rstp_port->port_number, new_auto_edge);
> -        ovs_mutex_lock(&mutex);
>          rstp_port->auto_edge = new_auto_edge;
>          ovs_mutex_unlock(&mutex);
>      }
> @@ -959,9 +961,9 @@ rstp_port_set_mcheck(struct rstp_port *rstp_port, bool
> new_mcheck)
>      if (new_mcheck == true && rstp_port->rstp->force_protocol_version >=
> 2) {
>          rstp_port->mcheck = true;
>      }
> -    ovs_mutex_unlock(&mutex);
>      VLOG_DBG("%s, port %u: set RSTP mcheck to %d", rstp->name,
>               rstp_port->port_number, new_mcheck);
> +    ovs_mutex_unlock(&mutex);
>  }
>
>  /* Returns the designated bridge id. */
> @@ -973,6 +975,7 @@ rstp_get_designated_id(const struct rstp *rstp)
>      ovs_mutex_lock(&mutex);
>      designated_id = rstp->root_priority.designated_bridge_id;
>      ovs_mutex_unlock(&mutex);
> +
>      return designated_id;
>  }
>
> @@ -985,6 +988,7 @@ rstp_get_root_id(const struct rstp *rstp)
>      ovs_mutex_lock(&mutex);
>      root_id = rstp->root_priority.root_bridge_id;
>      ovs_mutex_unlock(&mutex);
> +
>      return root_id;
>  }
>
> @@ -997,6 +1001,7 @@ rstp_get_designated_port_id(const struct rstp *rstp)
>      ovs_mutex_lock(&mutex);
>      designated_port_id = rstp->root_priority.designated_port_id;
>      ovs_mutex_unlock(&mutex);
> +
>      return designated_port_id;
>  }
>
> @@ -1009,6 +1014,7 @@ rstp_get_bridge_port_id(const struct rstp *rstp)
>      ovs_mutex_lock(&mutex);
>      bridge_port_id = rstp->root_priority.bridge_port_id;
>      ovs_mutex_unlock(&mutex);
> +
>      return bridge_port_id;
>  }
>
> @@ -1024,6 +1030,7 @@ rstp_is_root_bridge(const struct rstp *rstp)
>      is_root = rstp->bridge_identifier ==
>                  rstp->root_priority.designated_bridge_id;
>      ovs_mutex_unlock(&mutex);
> +
>      return is_root;
>  }
>
> @@ -1036,6 +1043,7 @@ rstp_get_designated_root(const struct rstp *rstp)
>      ovs_mutex_lock(&mutex);
>      designated_root = rstp->root_priority.designated_bridge_id;
>      ovs_mutex_unlock(&mutex);
> +
>      return designated_root;
>  }
>
> @@ -1069,6 +1077,7 @@ rstp_port_get_id(const struct rstp_port *p)
>      ovs_mutex_lock(&mutex);
>      port_id = p->port_id;
>      ovs_mutex_unlock(&mutex);
> +
>      return port_id;
>  }
>
> @@ -1081,6 +1090,7 @@ rstp_port_get_state(const struct rstp_port *p)
>      ovs_mutex_lock(&mutex);
>      state = p->rstp_state;
>      ovs_mutex_unlock(&mutex);
> +
>      return state;
>  }
>
> @@ -1093,6 +1103,7 @@ rstp_port_get_role(const struct rstp_port *p)
>      ovs_mutex_lock(&mutex);
>      role = p->role;
>      ovs_mutex_unlock(&mutex);
> +
>      return role;
>  }
>
> @@ -1125,6 +1136,7 @@ rstp_port_get_aux(struct rstp_port *p)
>      ovs_mutex_lock(&mutex);
>      aux = p->aux;
>      ovs_mutex_unlock(&mutex);
> +
>      return aux;
>  }
>
> @@ -1164,7 +1176,8 @@ rstp_learn_in_state(enum rstp_state state)
>
>  /* Unixctl. */
>  static struct rstp *
> -rstp_find(const char *name) OVS_REQUIRES(mutex)
> +rstp_find(const char *name)
> +    OVS_REQUIRES(mutex)
>  {
>      struct rstp *rstp;
>
> diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c
> index b2942f5..5d5aa09 100644
> --- a/ofproto/ofproto-dpif.c
> +++ b/ofproto/ofproto-dpif.c
> @@ -2318,7 +2318,7 @@ stp_wait(struct ofproto_dpif *ofproto)
>   * there are no duplicates. */
>  static void
>  set_rstp_port(struct ofport *ofport_,
> -        const struct ofproto_port_rstp_settings *s)
> +              const struct ofproto_port_rstp_settings *s)
>  {
>      struct ofport_dpif *ofport = ofport_dpif_cast(ofport_);
>      struct ofproto_dpif *ofproto = ofproto_dpif_cast(ofport->up.ofproto);
> --
> 1.7.10.4
>
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
>
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to