On Wed, Aug 10, 2022 at 03:59:12PM +0200, Theo Buehler wrote: > The below matches the VPN4 code and makes more sense given that we deref > kr6 in the else block. > > Index: kroute.c > =================================================================== > RCS file: /cvs/src/usr.sbin/bgpd/kroute.c,v > retrieving revision 1.287 > diff -u -p -U5 -r1.287 kroute.c > --- kroute.c 3 Aug 2022 08:16:05 -0000 1.287 > +++ kroute.c 10 Aug 2022 13:56:28 -0000 > @@ -619,11 +619,11 @@ krVPN6_change(struct ktable *kt, struct > /* for blackhole and reject routes nexthop needs to be ::1 */ > if (kf->flags & (F_BLACKHOLE|F_REJECT)) > bcopy(&lo6, &kf->nexthop.v6, sizeof(kf->nexthop.v6)); > > if ((kr6 = kroute6_find(kt, &kf->prefix, kf->prefixlen, > - kf->priority)) != NULL) { > + kf->priority)) == NULL) { > if (kroute_insert(kt, kf) == -1) > return (-1); > } else { > kr6->mplslabel = mplslabel; > kr6->ifindex = kf->ifindex; >
Nice find. This is indeed wrong. OK claudio@ -- :wq Claudio