On Sat, Jun 24, 2017 at 07:09:20AM +0200, Stefan Sperling wrote: > ok? OK bluhm@
> > Index: ifconfig.c > =================================================================== > RCS file: /cvs/src/sbin/ifconfig/ifconfig.c,v > retrieving revision 1.344 > diff -u -p -r1.344 ifconfig.c > --- ifconfig.c 8 Jun 2017 19:23:39 -0000 1.344 > +++ ifconfig.c 24 Jun 2017 04:54:17 -0000 > @@ -803,9 +803,13 @@ nextarg: > /* > * Aggregatable address architecture defines all prefixes > * are 64. So, it is convenient to set prefixlen to 64 if > - * it is not specified. > + * it is not specified. If we are setting a destination > + * address on a point-to-point interface, 128 is required. > */ > - setifprefixlen("64", 0); > + if (setipdst && (flags & IFF_POINTOPOINT)) > + setifprefixlen("128", 0); > + else > + setifprefixlen("64", 0); > /* in6_getprefix("64", MASK) if MASK is available here... */ > } > > @@ -1241,6 +1245,7 @@ void > setifdstaddr(const char *addr, int param) > { > setaddr++; > + setipdst++; > afp->af_getaddr(addr, DSTADDR); > } >