Recheck-request: github-robot-_Build_and_Test
On Friday, June 12th, 2026 at 6:35 AM, Dmitrii Shcherbakov
<[email protected]> wrote:
> parsed_route_lookup() is supposed to find an existing route that
> matches a new route by comparing all fields. The nexthop comparison
> uses ipv6_addr_equals() to check whether two non-NULL nexthops differ,
> but the condition skips the candidate on equal nexthops instead of
> on unequal ones. The continue should fire when the nexthops do not
> match, so negate the equality test.
>
> Before this fix, any two routes with non-NULL but equal nexthops would
> never be considered a match, causing the caller to treat unchanged
> routes as deleted and re-created on every rebuild.
>
> Fixes: f8924740f26e ("northd: Move connected routes to route engine.")
> Signed-off-by: Dmitrii Shcherbakov <[email protected]>
> ---
> northd/northd.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/northd/northd.c b/northd/northd.c
> index 66b26e657..264cdd7a6 100644
> --- a/northd/northd.c
> +++ b/northd/northd.c
> @@ -12315,7 +12315,7 @@ parsed_route_lookup(struct hmap *routes, size_t hash,
> continue;
> }
>
> - if (pr->nexthop && ipv6_addr_equals(pr->nexthop, new_pr->nexthop)) {
> + if (pr->nexthop && !ipv6_addr_equals(pr->nexthop, new_pr->nexthop)) {
> continue;
> }
>
> --
> 2.53.0
>
>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev