On Wed, Jan 14, 2026 at 10:46 PM Mark Michelson <[email protected]> wrote:
> 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. Hi Mark, thank you for the review. The ovn-nb.xml says it's deprecated in favor of nexthops. I could add a note that this column is now ignored. However, we cannot remove the column. That would cause issues during database upgrade, in other words we are stuck with it and the only thing we can do is to ignore it in the code. Let me know if I should update the ovn-nb.xml note, I could do that during merge. > 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 > > > > Regards, Ales _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
