Alexander Bluhm(alexander.bl...@gmx.net) on 2019.11.18 16:31:05 +0100: > On Thu, Nov 14, 2019 at 11:14:45PM +0100, Sebastian Benoit wrote: > > The alternative is to not allow netmask for ipv6 and only /<prefixlen> and > > prefixlen > > <prefixlen>. Why support such a crazy way of specifying the mask? > > We can also do it the other way around and forbid ifconfig inet6 > netmask.
sorry, thats what i meant. > > In route we removed a few quirks like that with notice in current.html , > > why not here? > > route(8) still accepts netmask. Yes, i wrote too fast. The quirks were problematic ordering of arguments. > route add -inet6 1234:: -netmask ffff:: ::1 > > Ignoring options silently is bad. So either use or reject netmask. > If ifconfig(8) uses it, it would be consistent to route(8). Right. Probably better to be consistent and not break peoples configs then. ok for both diffs with a preference for the first ;) > > bluhm > > Index: sbin/ifconfig/ifconfig.8 > =================================================================== > RCS file: /data/mirror/openbsd/cvs/src/sbin/ifconfig/ifconfig.8,v > retrieving revision 1.343 > diff -u -p -r1.343 ifconfig.8 > --- sbin/ifconfig/ifconfig.8 10 Nov 2019 09:10:44 -0000 1.343 > +++ sbin/ifconfig/ifconfig.8 18 Nov 2019 13:57:18 -0000 > @@ -429,7 +429,7 @@ output from > .Cm hwfeatures > shows the maximum supported MTU. > .It Cm netmask Ar mask > -(inet and inet6 only) > +(inet only) > Specify how much of the address to reserve for subdividing > networks into subnetworks. > The mask includes the network part of the local address > Index: sbin/ifconfig/ifconfig.c > =================================================================== > RCS file: /data/mirror/openbsd/cvs/src/sbin/ifconfig/ifconfig.c,v > retrieving revision 1.414 > diff -u -p -r1.414 ifconfig.c > --- sbin/ifconfig/ifconfig.c 24 Oct 2019 18:54:10 -0000 1.414 > +++ sbin/ifconfig/ifconfig.c 18 Nov 2019 13:56:31 -0000 > @@ -6151,6 +6151,9 @@ in6_getaddr(const char *s, int which) > char buf[HOST_NAME_MAX+1 + sizeof("/128")], *pfxlen; > int error; > > + if (which == MASK) > + errx(1, "inet6 needs prefixlen, not netmask"); > + > memset(&hints, 0, sizeof(hints)); > hints.ai_family = AF_INET6; > hints.ai_socktype = SOCK_DGRAM; /*dummy*/ >