Thanks Ales! Acked-by: Mark Michelson <[email protected]>
On Thu, Jan 15, 2026 at 12:59 PM Ales Musil via dev <[email protected]> wrote: > > The nexthop column was deprecated for a long time. Stop using it > completely in northd. > > Reported-at: https://issues.redhat.com/browse/FDP-1807 > Signed-off-by: Ales Musil <[email protected]> > --- > v2: Rebase on top of main. > Add extra warning and update the documentation. > --- > northd/northd.c | 21 +++++++++++++-------- > ovn-nb.xml | 3 ++- > 2 files changed, 15 insertions(+), 9 deletions(-) > > diff --git a/northd/northd.c b/northd/northd.c > index 88b912122..d305f5806 100644 > --- a/northd/northd.c > +++ b/northd/northd.c > @@ -14708,6 +14708,15 @@ build_route_policies(struct ovn_datapath *od, const > struct hmap *lr_ports, > > for (int i = 0; i < od->nbr->n_policies; i++) { > const struct nbrec_logical_router_policy *rule = > od->nbr->policies[i]; > + > + if (rule->nexthop && rule->nexthop[0]) { > + static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(1, 1); > + VLOG_WARN_RL(&rl, "Logical router: %s, policy uses deprecated" > + " column \"nexthop\", this column is ignored. > Please" > + "use \"nexthops\" column instead.", od->nbr->name); > + continue; > + } > + > size_t n_valid_nexthops = 0; > char **valid_nexthops = NULL; > uint32_t chain_id = 0; > @@ -14748,9 +14757,7 @@ build_route_policies(struct ovn_datapath *od, const > struct hmap *lr_ports, > } > > if (!strcmp(rule->action, "reroute")) { > - size_t n_nexthops = rule->n_nexthops ? rule->n_nexthops : 1; > - > - if (rule->output_port && n_nexthops != 1) { > + if (rule->output_port && rule->n_nexthops != 1) { > static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(5, > 1); > VLOG_WARN_RL(&rl, > "Logical router: %s, policy " > @@ -14763,11 +14770,9 @@ build_route_policies(struct ovn_datapath *od, const > struct hmap *lr_ports, > continue; > } > > - valid_nexthops = xcalloc(n_nexthops, sizeof *valid_nexthops); > - for (size_t j = 0; j < n_nexthops; j++) { > - char *nexthop = rule->n_nexthops > - ? rule->nexthops[j] : rule->nexthop; > - > + valid_nexthops = xcalloc(rule->n_nexthops, sizeof > *valid_nexthops); > + for (size_t j = 0; j < rule->n_nexthops; j++) { > + char *nexthop = rule->nexthops[j]; > if (!nexthop || !nexthop[0]) { > continue; > } > diff --git a/ovn-nb.xml b/ovn-nb.xml > index a1edd8d35..e74c0d010 100644 > --- a/ovn-nb.xml > +++ b/ovn-nb.xml > @@ -4923,7 +4923,8 @@ or > > <column name="nexthop"> > <p> > - Note: This column is deprecated in favor of <ref column="nexthops"/>. > + Note: This column is deprecated in favor of <ref column="nexthops"/> > + and is ignored by northd. > </p> > <p> > Next-hop IP address for this route, which should be the IP > -- > 2.52.0 > > _______________________________________________ > dev mailing list > [email protected] > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
