When a logical switch port changes to no longer use "dynamic" addresses, then the dynamic_addresses should be cleared.
Reported-by: Girish Moodalbail <gmoodalb...@nvidia.com> Signed-off-by: Mark Michelson <mmich...@redhat.com> --- ovn/northd/ovn-northd.c | 2 +- tests/ovn.at | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/ovn/northd/ovn-northd.c b/ovn/northd/ovn-northd.c index 3fd8a8757..7c91d5385 100644 --- a/ovn/northd/ovn-northd.c +++ b/ovn/northd/ovn-northd.c @@ -1471,7 +1471,7 @@ build_ipam(struct hmap *datapaths, struct hmap *ports) } } - if (!nbsp->n_addresses && nbsp->dynamic_addresses) { + if (!num_dynamic_addresses && nbsp->dynamic_addresses) { nbrec_logical_switch_port_set_dynamic_addresses(nbsp, NULL); } } diff --git a/tests/ovn.at b/tests/ovn.at index 8bada3241..0c7f3ba64 100644 --- a/tests/ovn.at +++ b/tests/ovn.at @@ -12015,3 +12015,22 @@ AT_CHECK([sort hv1/br-phys-tx4.pcap], [0], [expout]) OVN_CLEANUP([hv1]) AT_CLEANUP + +AT_SETUP([ovn -- ipam to non-ipam]) +ovn_start + +ovn-nbctl ls-add sw0 +ovn-nbctl lsp-add sw0 p0 -- lsp-set-addresses p0 dynamic +ovn-nbctl --wait=sb add Logical-Switch sw0 other_config subnet=192.168.1.0/24 + +AT_CHECK([ovn-nbctl get Logical-Switch-Port p0 dynamic_addresses], [0], + ["0a:00:00:a8:01:03 192.168.1.2" +]) + +ovn-nbctl lsp-set-addresses p0 router + +ovn-nbctl get Logical-Switch-Port p0 dynamic_addresses + +AT_CHECK([ovn-nbctl get Logical-Switch-Port p0 dynamic_addresses], [0], [[[]] +]) +AT_CLEANUP -- 2.14.5 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev