Thanks for the patch set, this is a really good catch. There is a test
checking how the config values effect max_dp_tunnel_id in tests/
ovn-northd.at. Could you add to the "check VXLAN encap in IC-mode" test to
check if setting a switches other-config:ic-vxlan_mode=false and to some
other string value does what we expect?

Thanks

On Wed, Aug 12, 2026 at 10:56 PM Paulo Guilherme Silva
<[email protected]> wrote:

> en-global-config.c decided IC VXLAN mode (and therefore the datapath
> tunnel-id range) using smap_get(), which is true whenever the key EXISTS.
> ovn-ic stamps other_config:ic-vxlan_mode on every transit switch,
> including the literal value "false".  As a result northd treated plain
> Geneve deployments as VXLAN-IC and capped max_dp_tunnel_id at
> OVN_MAX_DP_VXLAN_KEY_LOCAL (1023); past ~1023 local datapaths northd
> fails datapath tunnel-id allocation and the SB never converges.
>
> Read the boolean value with smap_get_bool() instead.
>
> Assisted-by: Claude Opus 4.8, Claude Code
> Signed-off-by: Paulo Guilherme Silva <[email protected]>
> ---
>  northd/en-global-config.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/northd/en-global-config.c b/northd/en-global-config.c
> index 4e6b07ebe..f31e7d3f2 100644
> --- a/northd/en-global-config.c
> +++ b/northd/en-global-config.c
> @@ -187,7 +187,7 @@ en_global_config_run(struct engine_node *node , void
> *data)
>      bool ic_vxlan_mode = false;
>      const struct nbrec_logical_switch *nbs;
>      NBREC_LOGICAL_SWITCH_TABLE_FOR_EACH (nbs, nbrec_ls_table) {
> -        if (smap_get(&nbs->other_config, "ic-vxlan_mode")) {
> +        if (smap_get_bool(&nbs->other_config, "ic-vxlan_mode", false)) {
>              ic_vxlan_mode = true;
>              break;
>          }
> @@ -478,7 +478,7 @@ global_config_nb_logical_switch_handler(struct
> engine_node *node,
>      bool ic_vxlan_mode = false;
>      const struct nbrec_logical_switch *nbs;
>      NBREC_LOGICAL_SWITCH_TABLE_FOR_EACH (nbs, nbrec_ls_table) {
> -        if (smap_get(&nbs->other_config, "ic-vxlan_mode")) {
> +        if (smap_get_bool(&nbs->other_config, "ic-vxlan_mode", false)) {
>              ic_vxlan_mode = true;
>              break;
>          }
> --
> 2.34.1
>
>
> --
>
>
>
>
> _'Esta mensagem é direcionada apenas para os endereços constantes no
> cabeçalho inicial. Se você não está listado nos endereços constantes no
> cabeçalho, pedimos-lhe que desconsidere completamente o conteúdo dessa
> mensagem e cuja cópia, encaminhamento e/ou execução das ações citadas
> estão
> imediatamente anuladas e proibidas'._
>
>
> * **'Apesar do Magazine Luiza tomar
> todas as precauções razoáveis para assegurar que nenhum vírus esteja
> presente nesse e-mail, a empresa não poderá aceitar a responsabilidade por
> quaisquer perdas ou danos causados por esse e-mail ou por seus anexos'.*
>
>
>
> _______________________________________________
> dev mailing list
> [email protected]
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to