Since OpenBSD 6.7 npppd(8) can't work over tun(4) anymore. I propose to
remove dummy TUNSIFMODE ioctl(2) call.

Index: sys/net/if_pppx.c
===================================================================
RCS file: /cvs/src/sys/net/if_pppx.c,v
retrieving revision 1.106
diff -u -p -r1.106 if_pppx.c
--- sys/net/if_pppx.c   25 Dec 2020 12:59:53 -0000      1.106
+++ sys/net/if_pppx.c   29 Jan 2021 11:10:40 -0000
@@ -920,12 +920,6 @@ pppx_if_ioctl(struct ifnet *ifp, u_long 
 RBT_GENERATE(pppx_ifs, pppx_if, pxi_entry, pppx_if_cmp);
 
 /*
- * pppac(4) - PPP Access Concentrator interface
- */
-
-#include <net/if_tun.h>
-
-/*
  * Locks used to protect struct members and global data
  *       I       immutable after creation
  *       K       kernel lock
@@ -1188,9 +1182,6 @@ pppacioctl(dev_t dev, u_long cmd, caddr_
 
        NET_LOCK();
        switch (cmd) {
-       case TUNSIFMODE: /* make npppd happy */
-               break;
-
        case FIONBIO:
                break;
        case FIONREAD:
Index: usr.sbin/npppd/npppd/npppd_iface.c
===================================================================
RCS file: /cvs/src/usr.sbin/npppd/npppd/npppd_iface.c,v
retrieving revision 1.14
diff -u -p -r1.14 npppd_iface.c
--- usr.sbin/npppd/npppd/npppd_iface.c  2 Jan 2021 13:15:15 -0000       1.14
+++ usr.sbin/npppd/npppd/npppd_iface.c  29 Jan 2021 11:10:41 -0000
@@ -275,7 +275,6 @@ npppd_iface_reinit(npppd_iface *_this, s
 int
 npppd_iface_start(npppd_iface *_this)
 {
-       int             x;
        char            buf[PATH_MAX];
 
        NPPPD_IFACE_ASSERT(_this != NULL);
@@ -285,16 +284,6 @@ npppd_iface_start(npppd_iface *_this)
        if ((_this->devf = priv_open(buf, O_RDWR | O_NONBLOCK)) < 0) {
                npppd_iface_log(_this, LOG_ERR, "open(%s) failed: %m", buf);
                goto fail;
-       }
-
-       if (_this->using_pppx == 0) {
-               x = IFF_BROADCAST;
-               if (ioctl(_this->devf, TUNSIFMODE, &x) != 0) {
-                       npppd_iface_log(_this, LOG_ERR,
-                           "ioctl(TUNSIFMODE=IFF_BROADCAST) failed "
-                           "in %s(): %m", __func__);
-                       goto fail;
-               }
        }
 
        event_set(&_this->ev, _this->devf, EV_READ | EV_PERSIST,

Reply via email to