When a logical switch port changes to no longer use "dynamic" addresses, then the dynamic_addresses should be cleared.
Reported-by: Girish Moodalbail <[email protected]> Signed-off-by: Mark Michelson <[email protected]> Signed-off-by: Ben Pfaff <[email protected]> --- 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 404927195..fc178f2dc 100644 --- a/ovn/northd/ovn-northd.c +++ b/ovn/northd/ovn-northd.c @@ -1401,7 +1401,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 ed132d06b..6612b43e9 100644 --- a/tests/ovn.at +++ b/tests/ovn.at @@ -11295,3 +11295,22 @@ as hv2 start_daemon ovn-controller OVN_CLEANUP([hv1],[hv2]) 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:00:00:01 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 [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
