On Nov 04, Felix Huettner via dev wrote:
> We previous relied on the fact the the southbound Port_Binding gets the
> same name as the Northbound port. However in all of the cases we use
> this we already know the name the southbound port will have. Therefor we
> just use this name, instead of getting it from northbound.
> 
> This is a prerequisite for later patches that use derived router ports.
> 
> Signed-off-by: Felix Huettner <felix.huettner@stackit.cloud>

Acked-by: Lorenzo Bianconi <lorenzo.bianc...@redhat.com>

> ---
>  northd/northd.c | 18 +++++++++++-------
>  1 file changed, 11 insertions(+), 7 deletions(-)
> 
> diff --git a/northd/northd.c b/northd/northd.c
> index 32a7c8509..fa3a8a882 100644
> --- a/northd/northd.c
> +++ b/northd/northd.c
> @@ -3305,11 +3305,18 @@ ovn_port_update_sbrec(struct ovsdb_idl_txn *ovnsb_txn,
>              if (router_port || chassis || is_cr_port(op)) {
>                  struct smap new;
>                  smap_init(&new);
> -
>                  if (is_cr_port(op)) {
>                      smap_add(&new, "distributed-port", op->nbsp->name);
>                  } else if (router_port) {
> -                    smap_add(&new, "peer", router_port);
> +                    /* op->peer can be null if the peer is disabed. In this
> +                     * case we fall back to the router_port string which
> +                     * might be wrong, but since the port does not exist that
> +                     * does not matter. */
> +                    if (op->peer) {
> +                        smap_add(&new, "peer", op->peer->key);
> +                    } else {
> +                        smap_add(&new, "peer", router_port);
> +                    }
>                  }
>                  if (chassis) {
>                      smap_add(&new, "l3gateway-chassis", chassis);
> @@ -4025,7 +4032,7 @@ sync_pb_for_lrp(struct ovn_port *op,
>              lr_stateful_table_find_by_index(lr_stateful_table, 
> op->od->index);
>          ovs_assert(lr_stateful_rec);
>  
> -        smap_add(&new, "distributed-port", op->nbrp->name);
> +        smap_add(&new, "distributed-port", op->primary_port->key);
>  
>          bool always_redirect =
>              !lr_stateful_rec->lrnat_rec->has_distributed_nat &&
> @@ -4050,10 +4057,7 @@ sync_pb_for_lrp(struct ovn_port *op,
>              smap_add(&new, "peer", op->peer->key);
>              if (op->nbrp->ha_chassis_group ||
>                  op->nbrp->n_gateway_chassis) {
> -                char *redirect_name =
> -                    ovn_chassis_redirect_name(op->nbrp->name);
> -                smap_add(&new, "chassis-redirect-port", redirect_name);
> -                free(redirect_name);
> +                smap_add(&new, "chassis-redirect-port", op->cr_port->key);
>              }
>          }
>          if (chassis_name) {
> -- 
> 2.47.0
> 
> 
> _______________________________________________
> dev mailing list
> d...@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
> 
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to