On Thu, Jan 15, 2026 at 10:41 PM Mark Michelson <[email protected]> wrote:

> 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
> >
>
>
Thank you Mark,

I went ahead and merged this into main.

Regards,
Ales
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to