Replace all open-coded vector_is_empty(&od->localnet_ports) checks with a single ls_has_localnet_port() predicate. This makes the intent clearer and provides a single place to change if the localnet port tracking ever moves to a different data structure.
No functional change. Assisted-by: Claude Opus 4.6, Claude Code Signed-off-by: Dumitru Ceara <[email protected]> --- northd/en-multicast.c | 2 +- northd/northd.c | 16 ++++++++-------- northd/northd.h | 6 ++++++ 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/northd/en-multicast.c b/northd/en-multicast.c index a7dfd71c47..b2775516a9 100644 --- a/northd/en-multicast.c +++ b/northd/en-multicast.c @@ -710,7 +710,7 @@ ovn_igmp_group_aggregate_ports(struct ovn_igmp_group *igmp_group, free(entry); } - if (!vector_is_empty(&igmp_group->datapath->localnet_ports)) { + if (ls_has_localnet_port(igmp_group->datapath)) { ovn_multicast_add_ports(mcast_groups, igmp_group->datapath, &igmp_group->mcgroup, vector_get_array(&igmp_group->datapath->localnet_ports), diff --git a/northd/northd.c b/northd/northd.c index 0b52db6cf6..02c7e7e54e 100644 --- a/northd/northd.c +++ b/northd/northd.c @@ -1788,7 +1788,7 @@ peer_needs_cr_port_creation(struct ovn_port *op) { if ((op->nbrp->n_gateway_chassis || op->nbrp->ha_chassis_group) && vector_len(&op->od->l3dgw_ports) == 1 && op->peer && op->peer->nbsp - && vector_is_empty(&op->peer->od->localnet_ports)) { + && !ls_has_localnet_port(op->peer->od)) { return true; } @@ -2837,7 +2837,7 @@ ovn_port_update_sbrec(struct ovsdb_idl_txn *ovnsb_txn, smap_clone(&options, &op->nbsp->options); if (queue_id) { - if (!vector_is_empty(&op->od->localnet_ports)) { + if (ls_has_localnet_port(op->od)) { struct ovn_port *port = vector_get(&op->od->localnet_ports, 0, struct ovn_port *); const char *physical_network = smap_get( @@ -3954,7 +3954,7 @@ should_add_router_port_garp(const struct ovn_port *op, const char *chassis) vector_len(&op->peer->od->l3dgw_ports)); } } - } else if (chassis && !vector_is_empty(&op->od->localnet_ports)) { + } else if (chassis && ls_has_localnet_port(op->od)) { add_router_port_garp = true; } @@ -6263,7 +6263,7 @@ build_lswitch_port_sec_op(struct ovn_port *op, struct lflow_table *lflows, WITH_IO_PORT(op->key), WITH_HINT(&op->nbsp->header_)); if (!lsp_is_localnet(op->nbsp) && - vector_is_empty(&op->od->localnet_ports)) { + !ls_has_localnet_port(op->od)) { return; } @@ -6277,7 +6277,7 @@ build_lswitch_port_sec_op(struct ovn_port *op, struct lflow_table *lflows, ds_cstr(match), ds_cstr(actions), op->lflow_ref, WITH_IO_PORT(op->key), WITH_HINT(&op->nbsp->header_)); - } else if (!vector_is_empty(&op->od->localnet_ports)) { + } else if (ls_has_localnet_port(op->od)) { const struct ovn_port *lp = vector_get(&op->od->localnet_ports, 0, struct ovn_port *); ds_put_format(match, "outport == %s && inport == %s", @@ -10897,7 +10897,7 @@ build_lswitch_dhcp_options_and_response(struct ovn_port *op, } bool is_external = lsp_is_external(op->nbsp); - if (is_external && (vector_is_empty(&op->od->localnet_ports) || + if (is_external && (!ls_has_localnet_port(op->od) || !op->nbsp->ha_chassis_group)) { /* If it's an external port and there are no localnet ports * and if it doesn't belong to an HA chassis group ignore it. */ @@ -11322,7 +11322,7 @@ build_lswitch_ip_unicast_lookup(struct ovn_port *op, if (peer_lrp_is_centralized && !vector_is_empty(&op->peer->od->l3dgw_ports) && - !vector_is_empty(&op->od->localnet_ports)) { + ls_has_localnet_port(op->od)) { add_lrp_chassis_resident_check(op->peer, match); } else if (op->cr_port) { /* If the op has a chassis resident port, it means @@ -17226,7 +17226,7 @@ build_lrouter_ipv4_ip_input(struct ovn_port *op, if (od_is_centralized(op->od) && !vector_is_empty(&op->od->l3dgw_ports) && op->peer - && !vector_is_empty(&op->peer->od->localnet_ports)) { + && ls_has_localnet_port(op->peer->od)) { add_lrp_chassis_resident_check(op, match); } diff --git a/northd/northd.h b/northd/northd.h index e86d39f9aa..80f8e76870 100644 --- a/northd/northd.h +++ b/northd/northd.h @@ -507,6 +507,12 @@ ovn_datapath_is_stale(const struct ovn_datapath *od) return !od->nbr && !od->nbs; }; +static inline bool +ls_has_localnet_port(const struct ovn_datapath *od) +{ + return !vector_is_empty(&od->localnet_ports); +} + /* Pipeline stages. */ #define PIPELINE_STAGES \ /* Logical switch ingress stages. */ \ -- 2.53.0 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
