There are two groups of feature flags, first group are feature flags
that were deprecated before the 26.03, those were still advertised so
older northd can pick them up. But newer northd didn't act upon them
anymore. We can safely remove those now.

The second group are feature flags that were introduced before 24.03
so they can now be removed from northd and mark as deprecated in
ovn-controller, still advertised. They will follow the same
path after 28.03 release.

Signed-off-by: Ales Musil <[email protected]>
---
 NEWS                             |  4 +++
 TODO.rst                         | 12 +++++++
 controller/chassis.c             | 23 -------------
 include/ovn/features.h           | 11 +++----
 northd/aging.c                   | 10 ++----
 northd/en-global-config.c        | 42 ------------------------
 northd/en-global-config.h        |  3 --
 northd/en-sync-sb.c              | 55 +++++++++-----------------------
 northd/inc-proc-northd.c         |  8 -----
 ovn-sb.xml                       |  5 ---
 tests/ovn-controller.at          |  6 ----
 tests/ovn-inc-proc-graph-dump.at |  1 -
 tests/ovn-northd.at              | 12 +++----
 13 files changed, 43 insertions(+), 149 deletions(-)

diff --git a/NEWS b/NEWS
index 5f67556cb..8d88a9a9b 100644
--- a/NEWS
+++ b/NEWS
@@ -47,6 +47,10 @@ Post v26.03.0
      The DHCP and unbound-router ARP/ND drop lflows for external
      ports were updated to key on the external LSP's inport
      accordingly.
+   - Removed deprecated "port-up-notif", "ct-no-masked-label" and
+     "ovn-ct-lb-related" feature flags. At the same time mark
+     "mac-binding-timestamp", "fdb-timestamp" and "ls-dpg-column" feature
+     flags as deprecated.
 
 OVN v26.03.0 - xxx xx xxxx
 --------------------------
diff --git a/TODO.rst b/TODO.rst
index 75bd2d13b..75a99601d 100644
--- a/TODO.rst
+++ b/TODO.rst
@@ -202,6 +202,18 @@ but it will still be parsed and processed. There should be 
also clearly stated
 when the feature/action will move from ``Deprecated`` to ``Removed``.
 ``Removed`` will print a warning and won't be processed further.
 
+* 26.09 Removed
+
+  * ``OVN_FEATURE_PORT_UP_NOTIF`` feature.
+  * ``OVN_FEATURE_CT_NO_MASKED_LABEL`` feature.
+  * ``OVN_FEATURE_CT_LB_RELATED`` feature.
+
+* 26.09 Deprecated
+
+  * ``OVN_FEATURE_MAC_BINDING_TIMESTAMP`` feature, should be removed in 28.09.
+  * ``OVN_FEATURE_FDB_TIMESTAMP`` feature, should be removed in 28.09.
+  * ``OVN_FEATURE_LS_DPG_COLUMN`` feature, should be removed in 28.09.
+
 * 26.03 Deprecated
 
   * ``ct_lb`` action, should be removed in 26.09.
diff --git a/controller/chassis.c b/controller/chassis.c
index ea64c9f81..0e3bd37d8 100644
--- a/controller/chassis.c
+++ b/controller/chassis.c
@@ -413,10 +413,7 @@ chassis_build_other_config(const struct ovs_chassis_cfg 
*ovs_cfg,
     smap_replace(config, "ovn-evpn-local-ip", ovs_cfg->evpn_local_ip);
     smap_replace(config, "is-interconn",
                  ovs_cfg->is_interconn ? "true" : "false");
-    smap_replace(config, OVN_FEATURE_PORT_UP_NOTIF, "true");
-    smap_replace(config, OVN_FEATURE_CT_NO_MASKED_LABEL, "true");
     smap_replace(config, OVN_FEATURE_MAC_BINDING_TIMESTAMP, "true");
-    smap_replace(config, OVN_FEATURE_CT_LB_RELATED, "true");
     smap_replace(config, OVN_FEATURE_FDB_TIMESTAMP, "true");
     smap_replace(config, OVN_FEATURE_LS_DPG_COLUMN, "true");
     smap_replace(config, OVN_FEATURE_CT_COMMIT_NAT_V2, "true");
@@ -543,29 +540,12 @@ chassis_other_config_changed(const struct ovs_chassis_cfg 
*ovs_cfg,
         return true;
     }
 
-    if (!smap_get_bool(&chassis_rec->other_config, OVN_FEATURE_PORT_UP_NOTIF,
-                       false)) {
-        return true;
-    }
-
-    if (!smap_get_bool(&chassis_rec->other_config,
-                       OVN_FEATURE_CT_NO_MASKED_LABEL,
-                       false)) {
-        return true;
-    }
-
     if (!smap_get_bool(&chassis_rec->other_config,
                        OVN_FEATURE_MAC_BINDING_TIMESTAMP,
                        false)) {
         return true;
     }
 
-    if (!smap_get_bool(&chassis_rec->other_config,
-                       OVN_FEATURE_CT_LB_RELATED,
-                       false)) {
-        return true;
-    }
-
     if (!smap_get_bool(&chassis_rec->other_config,
                        OVN_FEATURE_FDB_TIMESTAMP,
                        false)) {
@@ -790,10 +770,7 @@ update_supported_sset(struct sset *supported)
     /* Internal options. */
     sset_add(supported, "is-vtep");
     sset_add(supported, "is-remote");
-    sset_add(supported, OVN_FEATURE_PORT_UP_NOTIF);
-    sset_add(supported, OVN_FEATURE_CT_NO_MASKED_LABEL);
     sset_add(supported, OVN_FEATURE_MAC_BINDING_TIMESTAMP);
-    sset_add(supported, OVN_FEATURE_CT_LB_RELATED);
     sset_add(supported, OVN_FEATURE_FDB_TIMESTAMP);
     sset_add(supported, OVN_FEATURE_LS_DPG_COLUMN);
     sset_add(supported, OVN_FEATURE_CT_COMMIT_NAT_V2);
diff --git a/include/ovn/features.h b/include/ovn/features.h
index 3caeaea25..7207da67f 100644
--- a/include/ovn/features.h
+++ b/include/ovn/features.h
@@ -21,9 +21,6 @@
 #include "smap.h"
 
 /* ovn-controller supported feature names. */
-#define OVN_FEATURE_MAC_BINDING_TIMESTAMP "mac-binding-timestamp"
-#define OVN_FEATURE_FDB_TIMESTAMP "fdb-timestamp"
-#define OVN_FEATURE_LS_DPG_COLUMN "ls-dpg-column"
 #define OVN_FEATURE_CT_COMMIT_NAT_V2 "ct-commit-nat-v2"
 #define OVN_FEATURE_CT_COMMIT_TO_ZONE "ct-commit-to-zone"
 #define OVN_FEATURE_SAMPLE_WITH_REGISTERS "ovn-sample-with-registers"
@@ -31,11 +28,11 @@
 #define OVN_FEATURE_CT_LABEL_FLUSH "ct-label-flush"
 #define OVN_FEATURE_CT_STATE_SAVE "ct-state-save"
 
-/* DEPRACATED: The following features can be removed
+/* DEPRECATED: The following features can be removed
  * after the next LTS version release. */
-#define OVN_FEATURE_PORT_UP_NOTIF      "port-up-notif"
-#define OVN_FEATURE_CT_NO_MASKED_LABEL "ct-no-masked-label"
-#define OVN_FEATURE_CT_LB_RELATED "ovn-ct-lb-related"
+#define OVN_FEATURE_MAC_BINDING_TIMESTAMP "mac-binding-timestamp"
+#define OVN_FEATURE_FDB_TIMESTAMP "fdb-timestamp"
+#define OVN_FEATURE_LS_DPG_COLUMN "ls-dpg-column"
 
 /* OVS datapath supported features.  Based on availability OVN might generate
  * different types of openflows.
diff --git a/northd/aging.c b/northd/aging.c
index 58582a01e..3fe58ed14 100644
--- a/northd/aging.c
+++ b/northd/aging.c
@@ -390,14 +390,11 @@ enum engine_node_state
 en_mac_binding_aging_run(struct engine_node *node, void *data OVS_UNUSED)
 {
     struct northd_data *northd_data = engine_get_input_data("northd", node);
-    struct ed_type_global_config *global_config =
-        engine_get_input_data("global_config", node);
 
     struct aging_waker *waker =
         engine_get_input_data("mac_binding_aging_waker", node);
 
-    if (!global_config->features.mac_binding_timestamp ||
-        time_msec() < waker->next_wake_msec) {
+    if (time_msec() < waker->next_wake_msec) {
         return EN_STALE;
     }
 
@@ -525,11 +522,8 @@ en_fdb_aging_run(struct engine_node *node, void *data 
OVS_UNUSED)
 {
     struct northd_data *northd_data = engine_get_input_data("northd", node);
     struct aging_waker *waker = engine_get_input_data("fdb_aging_waker", node);
-    struct ed_type_global_config *global_config =
-        engine_get_input_data("global_config", node);
 
-    if (!global_config->features.fdb_timestamp ||
-        time_msec() < waker->next_wake_msec) {
+    if (time_msec() < waker->next_wake_msec) {
         return EN_STALE;
     }
 
diff --git a/northd/en-global-config.c b/northd/en-global-config.c
index afc559160..f02f50e93 100644
--- a/northd/en-global-config.c
+++ b/northd/en-global-config.c
@@ -514,9 +514,6 @@ static void
 northd_enable_all_features(struct ed_type_global_config *data)
 {
     data->features = (struct chassis_features) {
-        .mac_binding_timestamp = true,
-        .fdb_timestamp = true,
-        .ls_dpg_column = true,
         .ct_commit_nat_v2 = true,
         .ct_commit_to_zone = true,
         .sample_with_reg = true,
@@ -540,33 +537,6 @@ build_chassis_features(const struct sbrec_chassis_table 
*sbrec_chassis_table,
             continue;
         }
 
-        bool mac_binding_timestamp =
-            smap_get_bool(&chassis->other_config,
-                          OVN_FEATURE_MAC_BINDING_TIMESTAMP,
-                          false);
-        if (!mac_binding_timestamp &&
-            chassis_features->mac_binding_timestamp) {
-            chassis_features->mac_binding_timestamp = false;
-        }
-
-        bool fdb_timestamp =
-            smap_get_bool(&chassis->other_config,
-                          OVN_FEATURE_FDB_TIMESTAMP,
-                          false);
-        if (!fdb_timestamp &&
-            chassis_features->fdb_timestamp) {
-            chassis_features->fdb_timestamp = false;
-        }
-
-        bool ls_dpg_column =
-            smap_get_bool(&chassis->other_config,
-                          OVN_FEATURE_LS_DPG_COLUMN,
-                          false);
-        if (!ls_dpg_column &&
-            chassis_features->ls_dpg_column) {
-            chassis_features->ls_dpg_column = false;
-        }
-
         bool ct_commit_nat_v2 =
                 smap_get_bool(&chassis->other_config,
                               OVN_FEATURE_CT_COMMIT_NAT_V2,
@@ -761,18 +731,6 @@ static bool
 chassis_features_changed(const struct chassis_features *present,
                          const struct chassis_features *updated)
 {
-    if (present->mac_binding_timestamp != updated->mac_binding_timestamp) {
-        return true;
-    }
-
-    if (present->fdb_timestamp != updated->fdb_timestamp) {
-        return true;
-    }
-
-    if (present->ls_dpg_column != updated->ls_dpg_column) {
-        return true;
-    }
-
     if (present->ct_commit_nat_v2 != updated->ct_commit_nat_v2) {
         return true;
     }
diff --git a/northd/en-global-config.h b/northd/en-global-config.h
index 0c75ab246..5a7b7ecda 100644
--- a/northd/en-global-config.h
+++ b/northd/en-global-config.h
@@ -14,9 +14,6 @@ struct nbrec_nb_global;
 struct sbrec_sb_global;
 
 struct chassis_features {
-    bool mac_binding_timestamp;
-    bool fdb_timestamp;
-    bool ls_dpg_column;
     bool ct_commit_nat_v2;
     bool ct_commit_to_zone;
     bool sample_with_reg;
diff --git a/northd/en-sync-sb.c b/northd/en-sync-sb.c
index 0b2a85b3b..c00e91764 100644
--- a/northd/en-sync-sb.c
+++ b/northd/en-sync-sb.c
@@ -251,22 +251,19 @@ static void sb_lb_table_build_and_sync(struct sb_lb_table 
*,
                                 const struct sbrec_load_balancer_table *,
                                 const struct sbrec_logical_dp_group_table *,
                                 struct hmap *lb_dps_map,
-                                const struct ovn_synced_datapaths dps[DP_MAX],
-                                struct chassis_features *);
+                                const struct ovn_synced_datapaths dps[DP_MAX]);
 static bool sync_sb_lb_record(struct sb_lb_record *,
                               const struct sbrec_load_balancer *,
                               const struct sbrec_logical_dp_group_table *,
                               struct sb_lb_table *,
                               struct ovsdb_idl_txn *ovnsb_txn,
-                              const struct ovn_synced_datapaths dps[DP_MAX],
-                              struct chassis_features *);
+                              const struct ovn_synced_datapaths dps[DP_MAX]);
 static bool sync_changed_lbs(struct sb_lb_table *,
                              struct ovsdb_idl_txn *ovnsb_txn,
                              const struct sbrec_load_balancer_table *,
                              const struct sbrec_logical_dp_group_table *,
                              struct tracked_lbs *,
-                             const struct ovn_synced_datapaths dps[DP_MAX],
-                             struct chassis_features *);
+                             const struct ovn_synced_datapaths dps[DP_MAX]);
 
 void *
 en_sync_to_sb_lb_init(struct engine_node *node OVS_UNUSED,
@@ -286,8 +283,6 @@ en_sync_to_sb_lb_run(struct engine_node *node, void *data_)
         EN_OVSDB_GET(engine_get_input("SB_load_balancer", node));
     const struct sbrec_logical_dp_group_table *sb_dpgrp_table =
         EN_OVSDB_GET(engine_get_input("SB_logical_dp_group", node));
-    struct ed_type_global_config *global_config =
-        engine_get_input_data("global_config", node);
     const struct all_synced_datapaths *all_dps =
         engine_get_input_data("datapath_sync", node);
     const struct engine_context *eng_ctx = engine_get_context();
@@ -298,8 +293,7 @@ en_sync_to_sb_lb_run(struct engine_node *node, void *data_)
                                sb_load_balancer_table,
                                sb_dpgrp_table,
                                &northd_data->lb_datapaths_map,
-                               all_dps->synced_dps,
-                               &global_config->features);
+                               all_dps->synced_dps);
 
     return EN_UPDATED;
 }
@@ -330,16 +324,13 @@ sync_to_sb_lb_northd_handler(struct engine_node *node, 
void *data_)
         EN_OVSDB_GET(engine_get_input("SB_logical_dp_group", node));
     const struct sbrec_load_balancer_table *sb_lb_table =
         EN_OVSDB_GET(engine_get_input("SB_load_balancer", node));
-    struct ed_type_global_config *global_config =
-        engine_get_input_data("global_config", node);
     const struct all_synced_datapaths *all_dps =
         engine_get_input_data("datapath_sync", node);
     struct ed_type_sync_to_sb_lb_data *data = data_;
 
     if (!sync_changed_lbs(&data->sb_lbs, eng_ctx->ovnsb_idl_txn, sb_lb_table,
                           sb_dpgrp_table, &nd->trk_data.trk_lbs,
-                          all_dps->synced_dps,
-                          &global_config->features)) {
+                          all_dps->synced_dps)) {
         return EN_UNHANDLED;
     }
 
@@ -692,8 +683,7 @@ sb_lb_table_build_and_sync(
     const struct sbrec_load_balancer_table *sb_lb_table,
     const struct sbrec_logical_dp_group_table *sb_dpgrp_table,
     struct hmap *lb_dps_map,
-    const struct ovn_synced_datapaths dps[DP_MAX],
-    struct chassis_features *chassis_features)
+    const struct ovn_synced_datapaths dps[DP_MAX])
 {
     struct hmap tmp_sb_lbs = HMAP_INITIALIZER(&tmp_sb_lbs);
     struct ovn_lb_datapaths *lb_dps;
@@ -718,8 +708,7 @@ sb_lb_table_build_and_sync(
         if (sb_lb) {
             sb_lb->sbrec_lb = sbrec_lb;
             bool success = sync_sb_lb_record(sb_lb, sbrec_lb, sb_dpgrp_table,
-                                             sb_lbs, ovnsb_txn, dps,
-                                             chassis_features);
+                                             sb_lbs, ovnsb_txn, dps);
             /* Since we are rebuilding and syncing,  sync_sb_lb_record should
              * not return false. */
             ovs_assert(success);
@@ -734,7 +723,7 @@ sb_lb_table_build_and_sync(
 
     HMAP_FOR_EACH_POP (sb_lb, key_node, &tmp_sb_lbs) {
         bool success = sync_sb_lb_record(sb_lb, NULL, sb_dpgrp_table, sb_lbs,
-                                         ovnsb_txn, dps, chassis_features);
+                                         ovnsb_txn, dps);
         /* Since we are rebuilding and syncing,  sync_sb_lb_record should not
          * return false. */
         ovs_assert(success);
@@ -752,8 +741,7 @@ sync_sb_lb_record(struct sb_lb_record *sb_lb,
                   const struct sbrec_logical_dp_group_table *sb_dpgrp_table,
                   struct sb_lb_table *sb_lbs,
                   struct ovsdb_idl_txn *ovnsb_txn,
-                  const struct ovn_synced_datapaths dps[DP_MAX],
-                  struct chassis_features *chassis_features)
+                  const struct ovn_synced_datapaths dps[DP_MAX])
 {
     struct sbrec_logical_dp_group *sbrec_ls_dp_group = NULL;
     struct sbrec_logical_dp_group *sbrec_lr_dp_group = NULL;
@@ -769,11 +757,7 @@ sync_sb_lb_record(struct sb_lb_record *sb_lb,
         const struct uuid *nb_uuid = &lb_dps->lb->nlb->header_.uuid;
         sbrec_lb = sbrec_load_balancer_insert_persist_uuid(ovnsb_txn, nb_uuid);
     } else {
-        sbrec_ls_dp_group =
-            chassis_features->ls_dpg_column
-            ? sbrec_lb->ls_datapath_group
-            : sbrec_lb->datapath_group; /* deprecated */
-
+        sbrec_ls_dp_group = sbrec_lb->ls_datapath_group;
         sbrec_lr_dp_group = sbrec_lb->lr_datapath_group;
     }
 
@@ -813,17 +797,9 @@ sync_sb_lb_record(struct sb_lb_record *sb_lb,
                 &lb_dps->nb_ls_map, &dps[DP_SWITCH]);
         }
 
-        if (chassis_features->ls_dpg_column) {
-            sbrec_load_balancer_set_ls_datapath_group(sbrec_lb,
-                                                      sb_lb->ls_dpg->dp_group);
-            sbrec_load_balancer_set_datapath_group(sbrec_lb, NULL);
-        } else {
-            /* datapath_group column is deprecated. */
-            sbrec_load_balancer_set_ls_datapath_group(sbrec_lb, NULL);
-            sbrec_load_balancer_set_datapath_group(sbrec_lb,
-                                                   sb_lb->ls_dpg->dp_group);
-
-        }
+        sbrec_load_balancer_set_ls_datapath_group(sbrec_lb,
+                                                  sb_lb->ls_dpg->dp_group);
+        sbrec_load_balancer_set_datapath_group(sbrec_lb, NULL);
     } else {
         sbrec_load_balancer_set_ls_datapath_group(sbrec_lb, NULL);
         sbrec_load_balancer_set_datapath_group(sbrec_lb, NULL);
@@ -908,8 +884,7 @@ sync_changed_lbs(struct sb_lb_table *sb_lbs,
                  const struct sbrec_load_balancer_table *sb_lb_table,
                  const struct sbrec_logical_dp_group_table *sb_dpgrp_table,
                  struct tracked_lbs *trk_lbs,
-                 const struct ovn_synced_datapaths dps[DP_MAX],
-                 struct chassis_features *chassis_features)
+                 const struct ovn_synced_datapaths dps[DP_MAX])
 {
     struct ovn_lb_datapaths *lb_dps;
     struct hmapx_node *hmapx_node;
@@ -967,7 +942,7 @@ sync_changed_lbs(struct sb_lb_table *sb_lbs,
         }
 
         if (!sync_sb_lb_record(sb_lb, sb_lb->sbrec_lb, sb_dpgrp_table, sb_lbs,
-                               ovnsb_txn, dps, chassis_features)) {
+                               ovnsb_txn, dps)) {
             return false;
         }
     }
diff --git a/northd/inc-proc-northd.c b/northd/inc-proc-northd.c
index a2b464411..8376c2e1d 100644
--- a/northd/inc-proc-northd.c
+++ b/northd/inc-proc-northd.c
@@ -441,8 +441,6 @@ void inc_proc_northd_init(struct ovsdb_idl_loop *nb,
      * table too (because of the explicit dependency in the schema). */
     engine_add_input(&en_port_group, &en_northd, engine_noop_handler);
 
-    engine_add_input(&en_sync_to_sb_lb, &en_global_config,
-                     node_global_config_handler);
     engine_add_input(&en_sync_to_sb_lb, &en_datapath_sync,
                      engine_noop_handler);
     engine_add_input(&en_sync_to_sb_lb, &en_northd,
@@ -671,12 +669,6 @@ chassis_features_list(struct unixctl_conn *conn, int argc 
OVS_UNUSED,
     struct chassis_features *features = features_;
     struct ds ds = DS_EMPTY_INITIALIZER;
 
-    ds_put_format(&ds, "mac_binding_timestamp: %s\n",
-                  features->mac_binding_timestamp ? "true" : "false");
-    ds_put_format(&ds, "fdb_timestamp: %s\n",
-                  features->fdb_timestamp ? "true" : "false");
-    ds_put_format(&ds, "ls_dpg_column: %s\n",
-                  features->ls_dpg_column ? "true" : "false");
     ds_put_format(&ds, "ct_commit_nat_v2: %s\n",
                   features->ct_commit_nat_v2 ? "true" : "false");
     ds_put_format(&ds, "ct_commit_to_zone: %s\n",
diff --git a/ovn-sb.xml b/ovn-sb.xml
index 881b53ad1..2bb375f89 100644
--- a/ovn-sb.xml
+++ b/ovn-sb.xml
@@ -397,11 +397,6 @@
       table. See <code>ovn-controller</code>(8) for more information.
     </column>
 
-    <column name="other_config" key="port-up-notif">
-      <code>ovn-controller</code> populates this key with <code>true</code>
-      when it supports <code>Port_Binding.up</code>.
-    </column>
-
     <group title="Common Columns">
       The overall purpose of these columns is described under <code>Common
       Columns</code> at the beginning of this document.
diff --git a/tests/ovn-controller.at b/tests/ovn-controller.at
index 225709a76..2ddf39c8e 100644
--- a/tests/ovn-controller.at
+++ b/tests/ovn-controller.at
@@ -726,9 +726,6 @@ ovn_attach n1 br-phys 192.168.0.1
 
 # Wait for ovn-controller to register in the SB.
 wait_row_count Chassis 1 name=hv1 other_config:mac-binding-timestamp="true"
-check_row_count Chassis 1 name=hv1 other_config:port-up-notif="true"
-check_row_count Chassis 1 name=hv1 other_config:ct-no-masked-label="true"
-check_row_count Chassis 1 name=hv1 other_config:ovn-ct-lb-related="true"
 check_row_count Chassis 1 name=hv1 other_config:ls-dpg-column="true"
 check_row_count Chassis 1 name=hv1 other_config:ct-commit-nat-v2="true"
 check_row_count Chassis 1 name=hv1 other_config:ct-commit-to-zone="true"
@@ -743,9 +740,6 @@ ct_commit_nat_v2: true
 ct_commit_to_zone: true
 ct_next_zone: true
 ct_state_save: true
-fdb_timestamp: true
-ls_dpg_column: true
-mac_binding_timestamp: true
 ])
 
 OVN_CLEANUP([hv1])
diff --git a/tests/ovn-inc-proc-graph-dump.at b/tests/ovn-inc-proc-graph-dump.at
index 3750339d0..bec11bdf0 100644
--- a/tests/ovn-inc-proc-graph-dump.at
+++ b/tests/ovn-inc-proc-graph-dump.at
@@ -130,7 +130,6 @@ digraph "Incremental-Processing-Engine" {
        SB_load_balancer [[style=filled, shape=box, fillcolor=white, 
label="SB_load_balancer"]];
        SB_logical_dp_group [[style=filled, shape=box, fillcolor=white, 
label="SB_logical_dp_group"]];
        sync_to_sb_lb [[style=filled, shape=box, fillcolor=white, 
label="sync_to_sb_lb"]];
-       global_config -> sync_to_sb_lb [[label="node_global_config_handler"]];
        datapath_sync -> sync_to_sb_lb [[label="engine_noop_handler"]];
        northd -> sync_to_sb_lb [[label="sync_to_sb_lb_northd_handler"]];
        SB_load_balancer -> sync_to_sb_lb 
[[label="sync_to_sb_lb_sb_load_balancer"]];
diff --git a/tests/ovn-northd.at b/tests/ovn-northd.at
index 7d008a8fc..6c84311ed 100644
--- a/tests/ovn-northd.at
+++ b/tests/ovn-northd.at
@@ -11240,23 +11240,23 @@ ovn_start
 
 AS_BOX([Local chassis])
 check ovn-sbctl chassis-add hv1 geneve 127.0.0.1 \
-  -- set chassis hv1 other_config:mac-binding-timestamp=true
+  -- set chassis hv1 other_config:ct-state-save=true
 
 check ovn-nbctl --wait=sb sync
 
-AT_CHECK([as northd ovn-appctl -t ovn-northd debug/chassis-features-list | 
grep "mac_binding_timestamp"], [0], [dnl
-mac_binding_timestamp: true
+AT_CHECK([as northd ovn-appctl -t ovn-northd debug/chassis-features-list | 
grep "ct_state_save"], [0], [dnl
+ct_state_save: true
 ])
 
 AS_BOX([Remote chassis])
 check ovn-sbctl chassis-add hv2 geneve 127.0.0.2 \
   -- set chassis hv2 other_config:is-remote=true \
-  -- set chassis hv2 other_config:mac-binding-timestamp=false
+  -- set chassis hv2 other_config:ct-state-save=false
 
 check ovn-nbctl --wait=sb sync
 
-AT_CHECK([as northd ovn-appctl -t ovn-northd debug/chassis-features-list | 
grep "mac_binding_timestamp"], [0], [dnl
-mac_binding_timestamp: true
+AT_CHECK([as northd ovn-appctl -t ovn-northd debug/chassis-features-list | 
grep "ct_state_save"], [0], [dnl
+ct_state_save: true
 ])
 
 OVN_CLEANUP_NORTHD
-- 
2.54.0

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to