Hi Ales. I did a `git blame` and found that the nexthop column has been marked deprecated for over 5 years now, so I agree with this change.
However, if ovn-northd is not going to use the value, then I think that at a minimum, documentation for the value should be removed from ovn-nb.xml. I also think we should remove the column from the schema as well. My reasoning is that if the column remains in the schema, then people will still be able to successfully set the value, but setting the value won't do anything. This can lead to confusing situations for users since it won't be clear why OVN is not behaving as they think it should. However, if the column is removed from the schema, then attempting to set the column to a value will result in an immediate error. On Wed, Jan 14, 2026 at 2:29 AM 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]> > --- > northd/northd.c | 12 ++++-------- > 1 file changed, 4 insertions(+), 8 deletions(-) > > diff --git a/northd/northd.c b/northd/northd.c > index 9c3fa8735..b79ae709c 100644 > --- a/northd/northd.c > +++ b/northd/northd.c > @@ -14779,9 +14779,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 " > @@ -14794,11 +14792,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; > } > -- > 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
