On Thu, Apr 10, 2025 at 4:13 AM Mark Michelson via dev <
ovs-dev@openvswitch.org> wrote:

> With the exception of two (pflow_output and lflow_output in
> ovn-controller), every engine_node in OVN uses the stringified form of
> the engine_node struct name as its NAME_STR argument.
>
> At this point, it's clear that this NAME_STR argument is redundant, so
> we may as well remove it and shrink the code down by a bit.
>
> A positive side effect of this change is that it takes the guesswork out
> of searching for an engine node input by name.
>
> The exception to this rule is the DB-related nodes. They still
> differentiate between the engine node struct name (e.g. "sb_chassis")
> and the engine node name string (e.g. "SB_chassis"). This isn't strictly
> necessary, but keeping it this way makes the diff much much smaller :)
>
> Signed-off-by: Mark Michelson <mmich...@redhat.com>
> ---
>  controller/ovn-controller.c | 126 ++++++++++++++---------------
>  lib/inc-proc-eng.h          |  23 +++---
>  northd/inc-proc-northd.c    | 155 ++++++++++++++++++------------------
>  tests/ovn-controller.at     |   6 +-
>  4 files changed, 155 insertions(+), 155 deletions(-)
>
> diff --git a/controller/ovn-controller.c b/controller/ovn-controller.c
> index 80e6b2b3f..e70aaec7b 100644
> --- a/controller/ovn-controller.c
> +++ b/controller/ovn-controller.c
> @@ -976,56 +976,56 @@ ctrl_register_ovs_idl(struct ovsdb_idl *ovs_idl)
>  }
>
>  #define SB_NODES \
> -    SB_NODE(sb_global, "sb_global") \
> -    SB_NODE(chassis, "chassis") \
> -    SB_NODE(ha_chassis_group, "ha_chassis_group") \
> -    SB_NODE(encap, "encap") \
> -    SB_NODE(address_set, "address_set") \
> -    SB_NODE(port_group, "port_group") \
> -    SB_NODE(multicast_group, "multicast_group") \
> -    SB_NODE(datapath_binding, "datapath_binding") \
> -    SB_NODE(logical_dp_group, "logical_dp_group") \
> -    SB_NODE(port_binding, "port_binding") \
> -    SB_NODE(mac_binding, "mac_binding") \
> -    SB_NODE(logical_flow, "logical_flow") \
> -    SB_NODE(dhcp_options, "dhcp_options") \
> -    SB_NODE(dhcpv6_options, "dhcpv6_options") \
> -    SB_NODE(dns, "dns") \
> -    SB_NODE(load_balancer, "load_balancer") \
> -    SB_NODE(fdb, "fdb") \
> -    SB_NODE(meter, "meter") \
> -    SB_NODE(static_mac_binding, "static_mac_binding") \
> -    SB_NODE(chassis_template_var, "chassis_template_var") \
> -    SB_NODE(acl_id, "acl_id") \
> -    SB_NODE(advertised_route, "advertised_route") \
> -    SB_NODE(learned_route, "learned_route")
> +    SB_NODE(sb_global) \
> +    SB_NODE(chassis) \
> +    SB_NODE(ha_chassis_group) \
> +    SB_NODE(encap) \
> +    SB_NODE(address_set) \
> +    SB_NODE(port_group) \
> +    SB_NODE(multicast_group) \
> +    SB_NODE(datapath_binding) \
> +    SB_NODE(logical_dp_group) \
> +    SB_NODE(port_binding) \
> +    SB_NODE(mac_binding) \
> +    SB_NODE(logical_flow) \
> +    SB_NODE(dhcp_options) \
> +    SB_NODE(dhcpv6_options) \
> +    SB_NODE(dns) \
> +    SB_NODE(load_balancer) \
> +    SB_NODE(fdb) \
> +    SB_NODE(meter) \
> +    SB_NODE(static_mac_binding) \
> +    SB_NODE(chassis_template_var) \
> +    SB_NODE(acl_id) \
> +    SB_NODE(advertised_route) \
> +    SB_NODE(learned_route)
>
>  enum sb_engine_node {
> -#define SB_NODE(NAME, NAME_STR) SB_##NAME,
> +#define SB_NODE(NAME) SB_##NAME,
>      SB_NODES
>  #undef SB_NODE
>  };
>
> -#define SB_NODE(NAME, NAME_STR) ENGINE_FUNC_SB(NAME);
> +#define SB_NODE(NAME) ENGINE_FUNC_SB(NAME);
>      SB_NODES
>  #undef SB_NODE
>
>  #define OVS_NODES \
> -    OVS_NODE(open_vswitch, "open_vswitch") \
> -    OVS_NODE(bridge, "bridge") \
> -    OVS_NODE(port, "port") \
> -    OVS_NODE(interface, "interface") \
> -    OVS_NODE(qos, "qos") \
> -    OVS_NODE(queue, "queue") \
> -    OVS_NODE(flow_sample_collector_set, "flow_sample_collector_set")
> +    OVS_NODE(open_vswitch) \
> +    OVS_NODE(bridge) \
> +    OVS_NODE(port) \
> +    OVS_NODE(interface) \
> +    OVS_NODE(qos) \
> +    OVS_NODE(queue) \
> +    OVS_NODE(flow_sample_collector_set)
>
>  enum ovs_engine_node {
> -#define OVS_NODE(NAME, NAME_STR) OVS_##NAME,
> +#define OVS_NODE(NAME) OVS_##NAME,
>      OVS_NODES
>  #undef OVS_NODE
>  };
>
> -#define OVS_NODE(NAME, NAME_STR) ENGINE_FUNC_OVS(NAME);
> +#define OVS_NODE(NAME) ENGINE_FUNC_OVS(NAME);
>      OVS_NODES
>  #undef OVS_NODE
>
> @@ -5597,38 +5597,38 @@ main(int argc, char *argv[])
>      stopwatch_create(VIF_PLUG_RUN_STOPWATCH_NAME, SW_MS);
>
>      /* Define inc-proc-engine nodes. */
> -    ENGINE_NODE(sb_ro, "sb_ro");
> -    ENGINE_NODE(template_vars, "template_vars", CLEAR_TRACKED_DATA);
> -    ENGINE_NODE(ct_zones, "ct_zones", CLEAR_TRACKED_DATA, IS_VALID);
> -    ENGINE_NODE(ovs_interface_shadow, "ovs_interface_shadow",
> CLEAR_TRACKED_DATA);
> -    ENGINE_NODE(runtime_data, "runtime_data", CLEAR_TRACKED_DATA);
> -    ENGINE_NODE(non_vif_data, "non_vif_data");
> -    ENGINE_NODE(mff_ovn_geneve, "mff_ovn_geneve");
> -    ENGINE_NODE(ofctrl_is_connected, "ofctrl_is_connected");
> -    ENGINE_NODE(activated_ports, "activated_ports", CLEAR_TRACKED_DATA);
> -    ENGINE_NODE(postponed_ports, "postponed_ports");
> -    ENGINE_NODE(pflow_output, "physical_flow_output");
> -    ENGINE_NODE(lflow_output, "logical_flow_output", CLEAR_TRACKED_DATA);
> -    ENGINE_NODE(controller_output, "controller_output");
> -    ENGINE_NODE(addr_sets, "addr_sets", CLEAR_TRACKED_DATA);
> -    ENGINE_NODE(port_groups, "port_groups", CLEAR_TRACKED_DATA);
> -    ENGINE_NODE(northd_options, "northd_options");
> -    ENGINE_NODE(dhcp_options, "dhcp_options");
> -    ENGINE_NODE(if_status_mgr, "if_status_mgr");
> -    ENGINE_NODE(lb_data, "lb_data", CLEAR_TRACKED_DATA);
> -    ENGINE_NODE(mac_cache, "mac_cache");
> -    ENGINE_NODE(bfd_chassis, "bfd_chassis");
> -    ENGINE_NODE(dns_cache, "dns_cache");
> -    ENGINE_NODE(acl_id, "acl_id", IS_VALID);
> -    ENGINE_NODE(route, "route");
> -    ENGINE_NODE(route_table_notify, "route_table_notify");
> -    ENGINE_NODE(route_exchange, "route_exchange");
> -
> -#define SB_NODE(NAME, NAME_STR) ENGINE_NODE_SB(NAME, NAME_STR);
> +    ENGINE_NODE(sb_ro);
> +    ENGINE_NODE(template_vars, CLEAR_TRACKED_DATA);
> +    ENGINE_NODE(ct_zones, CLEAR_TRACKED_DATA, IS_VALID);
> +    ENGINE_NODE(ovs_interface_shadow, CLEAR_TRACKED_DATA);
> +    ENGINE_NODE(runtime_data, CLEAR_TRACKED_DATA);
> +    ENGINE_NODE(non_vif_data);
> +    ENGINE_NODE(mff_ovn_geneve);
> +    ENGINE_NODE(ofctrl_is_connected);
> +    ENGINE_NODE(activated_ports, CLEAR_TRACKED_DATA);
> +    ENGINE_NODE(postponed_ports);
> +    ENGINE_NODE(pflow_output);
> +    ENGINE_NODE(lflow_output, CLEAR_TRACKED_DATA);
> +    ENGINE_NODE(controller_output);
> +    ENGINE_NODE(addr_sets, CLEAR_TRACKED_DATA);
> +    ENGINE_NODE(port_groups, CLEAR_TRACKED_DATA);
> +    ENGINE_NODE(northd_options);
> +    ENGINE_NODE(dhcp_options);
> +    ENGINE_NODE(if_status_mgr);
> +    ENGINE_NODE(lb_data, CLEAR_TRACKED_DATA);
> +    ENGINE_NODE(mac_cache);
> +    ENGINE_NODE(bfd_chassis);
> +    ENGINE_NODE(dns_cache);
> +    ENGINE_NODE(acl_id, IS_VALID);
> +    ENGINE_NODE(route);
> +    ENGINE_NODE(route_table_notify);
> +    ENGINE_NODE(route_exchange);
> +
> +#define SB_NODE(NAME) ENGINE_NODE_SB(NAME);
>      SB_NODES
>  #undef SB_NODE
>
> -#define OVS_NODE(NAME, NAME_STR) ENGINE_NODE_OVS(NAME, NAME_STR);
> +#define OVS_NODE(NAME) ENGINE_NODE_OVS(NAME);
>      OVS_NODES
>  #undef OVS_NODE
>
> diff --git a/lib/inc-proc-eng.h b/lib/inc-proc-eng.h
> index e4c71d773..49d6f7359 100644
> --- a/lib/inc-proc-eng.h
> +++ b/lib/inc-proc-eng.h
> @@ -408,8 +408,8 @@ void engine_ovsdb_node_add_index(struct engine_node *,
> const char *name,
>
>  #define ENGINE_NODE_DEF_END };
>
> -#define ENGINE_NODE2(NAME, NAME_STR) \
> -    ENGINE_NODE_DEF_START(NAME, NAME_STR) \
> +#define ENGINE_NODE1(NAME) \
> +    ENGINE_NODE_DEF_START(NAME, #NAME) \
>      ENGINE_NODE_DEF_END
>
>  #define CLEAR_TRACKED_DATA(NAME) \
> @@ -418,12 +418,12 @@ void engine_ovsdb_node_add_index(struct engine_node
> *, const char *name,
>  #define IS_VALID(NAME) \
>      .is_valid = en_##NAME##_is_valid
>
> -#define ENGINE_NODE3(NAME, NAME_STR, ARG1) \
> +#define ENGINE_NODE2(NAME, ARG1) \
>      ENGINE_NODE_DEF_START(NAME, #NAME) \
>      ARG1(NAME), \
>      ENGINE_NODE_DEF_END
>
> -#define ENGINE_NODE4(NAME, NAME_STR, ARG1, ARG2) \
> +#define ENGINE_NODE3(NAME, ARG1, ARG2) \
>      ENGINE_NODE_DEF_START(NAME, #NAME) \
>      ARG1(NAME), \
>      ARG2(NAME), \
> @@ -476,19 +476,20 @@ static void en_##DB_NAME##_##TBL_NAME##_cleanup(void
> *data OVS_UNUSED) \
>
>  /* Macro to define an engine node which represents a table of OVSDB */
>  #define ENGINE_NODE_OVSDB(DB_NAME, DB_NAME_STR, TBL_NAME, TBL_NAME_STR) \
> -    ENGINE_NODE(DB_NAME##_##TBL_NAME, DB_NAME_STR"_"TBL_NAME_STR)
> +    ENGINE_NODE_DEF_START(DB_NAME##_##TBL_NAME,
> DB_NAME_STR"_"TBL_NAME_STR) \
> +    ENGINE_NODE_DEF_END
>
>  /* Macro to define an engine node which represents a table of OVN SB DB */
> -#define ENGINE_NODE_SB(TBL_NAME, TBL_NAME_STR) \
> -    ENGINE_NODE_OVSDB(sb, "SB", TBL_NAME, TBL_NAME_STR);
> +#define ENGINE_NODE_SB(TBL_NAME) \
> +    ENGINE_NODE_OVSDB(sb, "SB", TBL_NAME, #TBL_NAME);
>
>  /* Macro to define an engine node which represents a table of OVN NB DB */
> -#define ENGINE_NODE_NB(TBL_NAME, TBL_NAME_STR) \
> -    ENGINE_NODE_OVSDB(nb, "NB", TBL_NAME, TBL_NAME_STR);
> +#define ENGINE_NODE_NB(TBL_NAME) \
> +    ENGINE_NODE_OVSDB(nb, "NB", TBL_NAME, #TBL_NAME);
>
>  /* Macro to define an engine node which represents a table of open_vswitch
>   * DB */
> -#define ENGINE_NODE_OVS(TBL_NAME, TBL_NAME_STR) \
> -    ENGINE_NODE_OVSDB(ovs, "OVS", TBL_NAME, TBL_NAME_STR);
> +#define ENGINE_NODE_OVS(TBL_NAME) \
> +    ENGINE_NODE_OVSDB(ovs, "OVS", TBL_NAME, #TBL_NAME);
>
>  #endif /* lib/inc-proc-eng.h */
> diff --git a/northd/inc-proc-northd.c b/northd/inc-proc-northd.c
> index 823593e7e..6683cc311 100644
> --- a/northd/inc-proc-northd.c
> +++ b/northd/inc-proc-northd.c
> @@ -55,23 +55,23 @@ VLOG_DEFINE_THIS_MODULE(inc_proc_northd);
>  static unixctl_cb_func chassis_features_list;
>
>  #define NB_NODES \
> -    NB_NODE(nb_global, "nb_global") \
> -    NB_NODE(logical_switch, "logical_switch") \
> -    NB_NODE(address_set, "address_set") \
> -    NB_NODE(port_group, "port_group") \
> -    NB_NODE(load_balancer, "load_balancer") \
> -    NB_NODE(load_balancer_group, "load_balancer_group") \
> -    NB_NODE(acl, "acl") \
> -    NB_NODE(logical_router, "logical_router") \
> -    NB_NODE(mirror, "mirror") \
> -    NB_NODE(meter, "meter") \
> -    NB_NODE(bfd, "bfd") \
> -    NB_NODE(static_mac_binding, "static_mac_binding") \
> -    NB_NODE(chassis_template_var, "chassis_template_var") \
> -    NB_NODE(sampling_app, "sampling_app")
> +    NB_NODE(nb_global) \
> +    NB_NODE(logical_switch) \
> +    NB_NODE(address_set) \
> +    NB_NODE(port_group) \
> +    NB_NODE(load_balancer) \
> +    NB_NODE(load_balancer_group) \
> +    NB_NODE(acl) \
> +    NB_NODE(logical_router) \
> +    NB_NODE(mirror) \
> +    NB_NODE(meter) \
> +    NB_NODE(bfd) \
> +    NB_NODE(static_mac_binding) \
> +    NB_NODE(chassis_template_var) \
> +    NB_NODE(sampling_app)
>
>      enum nb_engine_node {
> -#define NB_NODE(NAME, NAME_STR) NB_##NAME,
> +#define NB_NODE(NAME) NB_##NAME,
>      NB_NODES
>  #undef NB_NODE
>      };
> @@ -82,40 +82,40 @@ static unixctl_cb_func chassis_features_list;
>   * en_nb_<TABLE_NAME>_init()
>   * en_nb_<TABLE_NAME>_cleanup()
>   */
> -#define NB_NODE(NAME, NAME_STR) ENGINE_FUNC_NB(NAME);
> +#define NB_NODE(NAME) ENGINE_FUNC_NB(NAME);
>      NB_NODES
>  #undef NB_NODE
>
>  #define SB_NODES \
> -    SB_NODE(sb_global, "sb_global") \
> -    SB_NODE(chassis, "chassis") \
> -    SB_NODE(address_set, "address_set") \
> -    SB_NODE(port_group, "port_group") \
> -    SB_NODE(logical_flow, "logical_flow") \
> -    SB_NODE(multicast_group, "multicast_group") \
> -    SB_NODE(mirror, "mirror") \
> -    SB_NODE(meter, "meter") \
> -    SB_NODE(datapath_binding, "datapath_binding") \
> -    SB_NODE(port_binding, "port_binding") \
> -    SB_NODE(mac_binding, "mac_binding") \
> -    SB_NODE(dns, "dns") \
> -    SB_NODE(ha_chassis_group, "ha_chassis_group") \
> -    SB_NODE(ip_multicast, "ip_multicast") \
> -    SB_NODE(igmp_group, "igmp_group") \
> -    SB_NODE(service_monitor, "service_monitor") \
> -    SB_NODE(load_balancer, "load_balancer") \
> -    SB_NODE(bfd, "bfd") \
> -    SB_NODE(fdb, "fdb") \
> -    SB_NODE(static_mac_binding, "static_mac_binding") \
> -    SB_NODE(chassis_template_var, "chassis_template_var") \
> -    SB_NODE(logical_dp_group, "logical_dp_group") \
> -    SB_NODE(ecmp_nexthop, "ecmp_nexthop") \
> -    SB_NODE(acl_id, "acl_id") \
> -    SB_NODE(advertised_route, "advertised_route") \
> -    SB_NODE(learned_route, "learned_route")
> +    SB_NODE(sb_global) \
> +    SB_NODE(chassis) \
> +    SB_NODE(address_set) \
> +    SB_NODE(port_group) \
> +    SB_NODE(logical_flow) \
> +    SB_NODE(multicast_group) \
> +    SB_NODE(mirror) \
> +    SB_NODE(meter) \
> +    SB_NODE(datapath_binding) \
> +    SB_NODE(port_binding) \
> +    SB_NODE(mac_binding) \
> +    SB_NODE(dns) \
> +    SB_NODE(ha_chassis_group) \
> +    SB_NODE(ip_multicast) \
> +    SB_NODE(igmp_group) \
> +    SB_NODE(service_monitor) \
> +    SB_NODE(load_balancer) \
> +    SB_NODE(bfd) \
> +    SB_NODE(fdb) \
> +    SB_NODE(static_mac_binding) \
> +    SB_NODE(chassis_template_var) \
> +    SB_NODE(logical_dp_group) \
> +    SB_NODE(ecmp_nexthop) \
> +    SB_NODE(acl_id) \
> +    SB_NODE(advertised_route) \
> +    SB_NODE(learned_route)
>
>  enum sb_engine_node {
> -#define SB_NODE(NAME, NAME_STR) SB_##NAME,
> +#define SB_NODE(NAME) SB_##NAME,
>      SB_NODES
>  #undef SB_NODE
>  };
> @@ -126,7 +126,7 @@ enum sb_engine_node {
>   * en_sb_<TABLE_NAME>_init()
>   * en_sb_<TABLE_NAME>_cleanup()
>   */
> -#define SB_NODE(NAME, NAME_STR) ENGINE_FUNC_SB(NAME);
> +#define SB_NODE(NAME) ENGINE_FUNC_SB(NAME);
>      SB_NODES
>  #undef SB_NODE
>
> @@ -137,48 +137,47 @@ enum sb_engine_node {
>   *
>   * Define nodes as static to avoid sparse errors.
>   */
> -#define NB_NODE(NAME, NAME_STR) static ENGINE_NODE_NB(NAME, NAME_STR);
> +#define NB_NODE(NAME) static ENGINE_NODE_NB(NAME);
>      NB_NODES
>  #undef NB_NODE
>
> -#define SB_NODE(NAME, NAME_STR) static ENGINE_NODE_SB(NAME, NAME_STR);
> +#define SB_NODE(NAME) static ENGINE_NODE_SB(NAME);
>      SB_NODES
>  #undef SB_NODE
>
>  /* Define engine nodes for other nodes. They should be defined as static
> to
>   * avoid sparse errors. */
> -static ENGINE_NODE(northd, "northd", CLEAR_TRACKED_DATA);
> -static ENGINE_NODE(sync_from_sb, "sync_from_sb");
> -static ENGINE_NODE(sampling_app, "sampling_app");
> -static ENGINE_NODE(lflow, "lflow");
> -static ENGINE_NODE(mac_binding_aging, "mac_binding_aging");
> -static ENGINE_NODE(mac_binding_aging_waker, "mac_binding_aging_waker");
> -static ENGINE_NODE(northd_output, "northd_output");
> -static ENGINE_NODE(sync_meters, "sync_meters");
> -static ENGINE_NODE(sync_to_sb, "sync_to_sb");
> -static ENGINE_NODE(sync_to_sb_addr_set, "sync_to_sb_addr_set");
> -static ENGINE_NODE(port_group, "port_group", CLEAR_TRACKED_DATA);
> -static ENGINE_NODE(fdb_aging, "fdb_aging");
> -static ENGINE_NODE(fdb_aging_waker, "fdb_aging_waker");
> -static ENGINE_NODE(sync_to_sb_lb, "sync_to_sb_lb");
> -static ENGINE_NODE(sync_to_sb_pb, "sync_to_sb_pb");
> -static ENGINE_NODE(global_config, "global_config", CLEAR_TRACKED_DATA);
> -static ENGINE_NODE(lb_data, "lb_data", CLEAR_TRACKED_DATA);
> -static ENGINE_NODE(lr_nat, "lr_nat", CLEAR_TRACKED_DATA);
> -static ENGINE_NODE(lr_stateful, "lr_stateful", CLEAR_TRACKED_DATA);
> -static ENGINE_NODE(ls_stateful, "ls_stateful", CLEAR_TRACKED_DATA);
> -static ENGINE_NODE(route_policies, "route_policies");
> -static ENGINE_NODE(routes, "routes");
> -static ENGINE_NODE(bfd, "bfd");
> -static ENGINE_NODE(bfd_sync, "bfd_sync");
> -static ENGINE_NODE(ecmp_nexthop, "ecmp_nexthop");
> -static ENGINE_NODE(multicast_igmp, "multicast_igmp");
> -static ENGINE_NODE(acl_id, "acl_id");
> -static ENGINE_NODE(advertised_route_sync, "advertised_route_sync");
> -static ENGINE_NODE(learned_route_sync, "learned_route_sync",
> -                   CLEAR_TRACKED_DATA);
> -static ENGINE_NODE(dynamic_routes, "dynamic_routes");
> -static ENGINE_NODE(group_ecmp_route, "group_ecmp_route",
> CLEAR_TRACKED_DATA);
> +static ENGINE_NODE(northd, CLEAR_TRACKED_DATA);
> +static ENGINE_NODE(sync_from_sb);
> +static ENGINE_NODE(sampling_app);
> +static ENGINE_NODE(lflow);
> +static ENGINE_NODE(mac_binding_aging);
> +static ENGINE_NODE(mac_binding_aging_waker);
> +static ENGINE_NODE(northd_output);
> +static ENGINE_NODE(sync_meters);
> +static ENGINE_NODE(sync_to_sb);
> +static ENGINE_NODE(sync_to_sb_addr_set);
> +static ENGINE_NODE(port_group, CLEAR_TRACKED_DATA);
> +static ENGINE_NODE(fdb_aging);
> +static ENGINE_NODE(fdb_aging_waker);
> +static ENGINE_NODE(sync_to_sb_lb);
> +static ENGINE_NODE(sync_to_sb_pb);
> +static ENGINE_NODE(global_config, CLEAR_TRACKED_DATA);
> +static ENGINE_NODE(lb_data, CLEAR_TRACKED_DATA);
> +static ENGINE_NODE(lr_nat, CLEAR_TRACKED_DATA);
> +static ENGINE_NODE(lr_stateful, CLEAR_TRACKED_DATA);
> +static ENGINE_NODE(ls_stateful, CLEAR_TRACKED_DATA);
> +static ENGINE_NODE(route_policies);
> +static ENGINE_NODE(routes);
> +static ENGINE_NODE(bfd);
> +static ENGINE_NODE(bfd_sync);
> +static ENGINE_NODE(ecmp_nexthop);
> +static ENGINE_NODE(multicast_igmp);
> +static ENGINE_NODE(acl_id);
> +static ENGINE_NODE(advertised_route_sync);
> +static ENGINE_NODE(learned_route_sync, CLEAR_TRACKED_DATA);
> +static ENGINE_NODE(dynamic_routes);
> +static ENGINE_NODE(group_ecmp_route, CLEAR_TRACKED_DATA);
>
>  void inc_proc_northd_init(struct ovsdb_idl_loop *nb,
>                            struct ovsdb_idl_loop *sb)
> diff --git a/tests/ovn-controller.at b/tests/ovn-controller.at
> index fdd574c20..33656f68c 100644
> --- a/tests/ovn-controller.at
> +++ b/tests/ovn-controller.at
> @@ -10,7 +10,7 @@ m4_divert_push([PREPARE_TESTS])
>  # 4th argument is the expected compute state.
>  #   Possible values are - "nocompute" and "compute".
>  #
> -# Eg. 'check_controller_engine_stats hv1 logical_flow_output recompute
> nocompute'
> +# Eg. 'check_controller_engine_stats hv1 lflow_output recompute nocompute'
>  # will verify that if the lflow engine node recompute stat is > 0 and
>  # compute stat is equal to 0.  It fails otherwise.
>  check_controller_engine_stats() {
> @@ -24,7 +24,7 @@ $recompute : compute - $compute"
>
>    node_stat=$(as $hv ovn-appctl -t ovn-controller inc-engine/show-stats
> $node)
>    # node_stat will be of this format :
> -  #     - Node: logical_flow_output - recompute: 3 - compute: 0 - cancel:
> 0
> +  #     - Node: lflow_output - recompute: 3 - compute: 0 - cancel: 0
>    node_recompute_ct=$(echo $node_stat | cut -d '-' -f2 | cut -d ':' -f2)
>    node_compute_ct=$(echo $node_stat | cut -d '-' -f3 | cut -d ':' -f2)
>
> @@ -1014,7 +1014,7 @@ OVS_WAIT_UNTIL([as hv1 ovs-ofctl dump-flows br-int |
> grep table=OFTABLE_LOCAL_OU
>  # Check we have a full recompute if type column is updated
>  check as hv1 ovn-appctl -t ovn-controller inc-engine/clear-stats
>  check ovn-nbctl --wait=hv lsp-set-type ls0-rp localnet
> -check_controller_engine_stats hv1 physical_flow_output recompute nocompute
> +check_controller_engine_stats hv1 pflow_output recompute nocompute
>
>  OVN_CLEANUP([hv1])
>  AT_CLEANUP
> --
> 2.47.0
>
> _______________________________________________
> dev mailing list
> d...@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
>
Looks good to me, thanks.

Acked-by: Ales Musil <amu...@redhat.com>
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to