Currently, GARP/RARP broadcast is sent for VIFs (part of logical switch with localnet port) after iface-id is set. This fix is to avoid packet loss during migration if iface-id is set even before the VM migration is completed.
Signed-off-by: Shibir Basak <[email protected]> Acked-by: Naveen Yerramneni <[email protected]> --- controller/ovn-controller.c | 1 + controller/pinctrl.c | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/controller/ovn-controller.c b/controller/ovn-controller.c index 6b38f113d..982378a50 100644 --- a/controller/ovn-controller.c +++ b/controller/ovn-controller.c @@ -1128,6 +1128,7 @@ ctrl_register_ovs_idl(struct ovsdb_idl *ovs_idl) ovsdb_idl_add_table(ovs_idl, &ovsrec_table_queue); ovsdb_idl_add_column(ovs_idl, &ovsrec_queue_col_other_config); ovsdb_idl_add_column(ovs_idl, &ovsrec_queue_col_external_ids); + ovsdb_idl_add_column(ovs_idl, &ovsrec_interface_col_link_state); chassis_register_ovs_idl(ovs_idl); encaps_register_ovs_idl(ovs_idl); diff --git a/controller/pinctrl.c b/controller/pinctrl.c index 6a2c3dc68..b5d3162b8 100644 --- a/controller/pinctrl.c +++ b/controller/pinctrl.c @@ -6375,6 +6375,10 @@ get_localnet_vifs_l3gwports( if (!pb || pb->chassis != chassis) { continue; } + if (!iface_rec->link_state || + strcmp(iface_rec->link_state, "up")) { + continue; + } struct local_datapath *ld = get_local_datapath(local_datapaths, pb->datapath->tunnel_key); -- 2.22.3 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
