On Mon, Oct 16, 2023 at 09:23:12AM +0200, Claudio Jeker wrote:
> This diff fixes a few more things when establishing connections with
> link-local IPv6 addresses. In get_alternate_addr() the interface scope
> of the connection is recovered and then passed to the RDE. The RDE can
> then use this scope id to insert link-local addresses with the correct
> scope.

I like this.

> I built a regress test for this which passes with this diff.

Looks great.

> Now probably more is needed because IPv6 link-local addresses are a gift
> that keep on giving. One thing to implement on top of this is template
> matching for link local -- which allows to auto-configure sessions more
> easily. This will probably follow soon.

A minor cosmetic nit, otherwise ok.

> Index: logmsg.c

This part was already committed.

> Index: rde_rib.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/bgpd/rde_rib.c,v
> retrieving revision 1.260
> diff -u -p -r1.260 rde_rib.c
> --- rde_rib.c 23 Apr 2023 11:39:10 -0000      1.260
> +++ rde_rib.c 9 Oct 2023 14:05:30 -0000
> @@ -1910,7 +1910,7 @@ nexthop_compare(struct nexthop *na, stru
>       case AID_INET6:
>               return (memcmp(&a->v6, &b->v6, sizeof(struct in6_addr)));
>       default:
> -             fatalx("nexthop_cmp: unknown af");
> +             fatalx("nexthop_cmp: unknown aid %s", aid2str(a->aid));


if a->aid is bogus this will print 'nexthop_cmp: unknown aid unknown AID'

                fatalx("nexthop_cmp: %s is unsupported", aid2str(a->aid));

or reuse the similar log_warnx() from get_alternate_addr()


>       }
>       return (-1);
>  }

Reply via email to