On Mon, Oct 16, 2017 at 12:35:35PM +0200, Martin Pieuchot wrote: > The following ioctl(2)s are deprecated since 2001. I'd like to > remove our kernel support for them: > - SIOCSIFPHYADDR > - SIOCSIFPHYADDR_IN6 > - SIOCGIFPSRCADDR > - SIOCGIFPSRCADDR_IN6 > - SIOCGIFPDSTADDR > - SIOCGIFPDSTADDR_IN6
grep /usr/src found them also in etherip(4) and gif(4). Please remove. share/man/man4/etherip.4:.Dv SIOCSIFPHYADDR share/man/man4/gif.4:.Dv SIOCSIFPHYADDR > ok? OK bluhm@ > Index: net/if.c > =================================================================== > RCS file: /cvs/src/sys/net/if.c,v > retrieving revision 1.517 > diff -u -p -r1.517 if.c > --- net/if.c 16 Oct 2017 08:19:15 -0000 1.517 > +++ net/if.c 16 Oct 2017 10:30:05 -0000 > @@ -2008,11 +2008,7 @@ ifioctl(struct socket *so, u_long cmd, c > rtm_ifchg(ifp); > break; > > - case SIOCSIFPHYADDR: > case SIOCDIFPHYADDR: > -#ifdef INET6 > - case SIOCSIFPHYADDR_IN6: > -#endif > case SIOCSLIFPHYADDR: > case SIOCSLIFPHYRTABLE: > case SIOCSLIFPHYTTL: > @@ -2026,8 +2022,6 @@ ifioctl(struct socket *so, u_long cmd, c > if ((error = suser(p, 0)) != 0) > return (error); > /* FALLTHROUGH */ > - case SIOCGIFPSRCADDR: > - case SIOCGIFPDSTADDR: > case SIOCGLIFPHYADDR: > case SIOCGLIFPHYRTABLE: > case SIOCGLIFPHYTTL: > Index: net/if_gif.c > =================================================================== > RCS file: /cvs/src/sys/net/if_gif.c,v > retrieving revision 1.99 > diff -u -p -r1.99 if_gif.c > --- net/if_gif.c 11 Aug 2017 21:24:19 -0000 1.99 > +++ net/if_gif.c 16 Oct 2017 10:30:00 -0000 > @@ -335,33 +335,9 @@ gif_ioctl(struct ifnet *ifp, u_long cmd, > case SIOCDELMULTI: > break; > > - case SIOCSIFPHYADDR: > -#ifdef INET6 > - case SIOCSIFPHYADDR_IN6: > -#endif /* INET6 */ > case SIOCSLIFPHYADDR: > - switch (cmd) { > - case SIOCSIFPHYADDR: > - src = sintosa( > - &(((struct in_aliasreq *)data)->ifra_addr)); > - dst = sintosa( > - &(((struct in_aliasreq *)data)->ifra_dstaddr)); > - break; > -#ifdef INET6 > - case SIOCSIFPHYADDR_IN6: > - src = sin6tosa( > - &(((struct in6_aliasreq *)data)->ifra_addr)); > - dst = sin6tosa( > - &(((struct in6_aliasreq *)data)->ifra_dstaddr)); > - break; > -#endif > - case SIOCSLIFPHYADDR: > - src = sstosa(&(((struct if_laddrreq *)data)->addr)); > - dst = sstosa(&(((struct if_laddrreq *)data)->dstaddr)); > - break; > - default: > - return (EINVAL); > - } > + src = sstosa(&(((struct if_laddrreq *)data)->addr)); > + dst = sstosa(&(((struct if_laddrreq *)data)->dstaddr)); > > /* sa_family must be equal */ > if (src->sa_family != dst->sa_family) > @@ -397,23 +373,6 @@ gif_ioctl(struct ifnet *ifp, u_long cmd, > return (EAFNOSUPPORT); > } > > - /* check sa_family looks sane for the cmd */ > - switch (cmd) { > - case SIOCSIFPHYADDR: > - if (src->sa_family == AF_INET) > - break; > - return (EAFNOSUPPORT); > -#ifdef INET6 > - case SIOCSIFPHYADDR_IN6: > - if (src->sa_family == AF_INET6) > - break; > - return (EAFNOSUPPORT); > -#endif /* INET6 */ > - case SIOCSLIFPHYADDR: > - /* checks done in the above */ > - break; > - } > - > LIST_FOREACH(sc2, &gif_softc_list, gif_list) { > if (sc2 == sc) > continue; > @@ -470,7 +429,6 @@ gif_ioctl(struct ifnet *ifp, u_long cmd, > error = 0; > break; > > -#ifdef SIOCDIFPHYADDR > case SIOCDIFPHYADDR: > if (sc->gif_psrc) { > free((caddr_t)sc->gif_psrc, M_IFADDR, 0); > @@ -481,66 +439,6 @@ gif_ioctl(struct ifnet *ifp, u_long cmd, > sc->gif_pdst = NULL; > } > /* change the IFF_{UP, RUNNING} flag as well? */ > - break; > -#endif > - > - case SIOCGIFPSRCADDR: > -#ifdef INET6 > - case SIOCGIFPSRCADDR_IN6: > -#endif /* INET6 */ > - if (sc->gif_psrc == NULL) { > - error = EADDRNOTAVAIL; > - goto bad; > - } > - src = sc->gif_psrc; > - switch (cmd) { > - case SIOCGIFPSRCADDR: > - dst = &ifr->ifr_addr; > - size = sizeof(ifr->ifr_addr); > - break; > -#ifdef INET6 > - case SIOCGIFPSRCADDR_IN6: > - dst = sin6tosa( > - &(((struct in6_ifreq *)data)->ifr_addr)); > - size = sizeof(((struct in6_ifreq *)data)->ifr_addr); > - break; > -#endif /* INET6 */ > - default: > - error = EADDRNOTAVAIL; > - goto bad; > - } > - if (src->sa_len > size) > - return (EINVAL); > - bcopy((caddr_t)src, (caddr_t)dst, src->sa_len); > - break; > - > - case SIOCGIFPDSTADDR: > -#ifdef INET6 > - case SIOCGIFPDSTADDR_IN6: > -#endif /* INET6 */ > - if (sc->gif_pdst == NULL) { > - error = EADDRNOTAVAIL; > - goto bad; > - } > - src = sc->gif_pdst; > - switch (cmd) { > - case SIOCGIFPDSTADDR: > - dst = &ifr->ifr_addr; > - size = sizeof(ifr->ifr_addr); > - break; > -#ifdef INET6 > - case SIOCGIFPDSTADDR_IN6: > - dst = sin6tosa(&(((struct in6_ifreq *)data)->ifr_addr)); > - size = sizeof(((struct in6_ifreq *)data)->ifr_addr); > - break; > -#endif /* INET6 */ > - default: > - error = EADDRNOTAVAIL; > - goto bad; > - } > - if (src->sa_len > size) > - return (EINVAL); > - bcopy((caddr_t)src, (caddr_t)dst, src->sa_len); > break; > > case SIOCGLIFPHYADDR: > Index: netinet6/in6.c > =================================================================== > RCS file: /cvs/src/sys/netinet6/in6.c,v > retrieving revision 1.211 > diff -u -p -r1.211 in6.c > --- netinet6/in6.c 15 Aug 2017 06:08:52 -0000 1.211 > +++ netinet6/in6.c 16 Oct 2017 10:30:08 -0000 > @@ -250,15 +250,12 @@ in6_ioctl(u_long cmd, caddr_t data, stru > */ > switch (cmd) { > case SIOCAIFADDR_IN6: > - case SIOCSIFPHYADDR_IN6: > sa6 = &ifra->ifra_addr; > break; > case SIOCGIFADDR_IN6: > case SIOCGIFDSTADDR_IN6: > case SIOCGIFNETMASK_IN6: > case SIOCDIFADDR_IN6: > - case SIOCGIFPSRCADDR_IN6: > - case SIOCGIFPDSTADDR_IN6: > case SIOCGIFAFLAG_IN6: > case SIOCSNDFLUSH_IN6: > case SIOCSPFXFLUSH_IN6: