diff options
Diffstat (limited to 'sys')
-rw-r--r-- | sys/net/if.c | 5 | ||||
-rw-r--r-- | sys/net/if.h | 8 | ||||
-rw-r--r-- | sys/sys/sockio.h | 6 |
3 files changed, 16 insertions, 3 deletions
diff --git a/sys/net/if.c b/sys/net/if.c index 5c9d1773d4a..0823badc37f 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if.c,v 1.426 2016/02/28 15:46:19 naddy Exp $ */ +/* $OpenBSD: if.c,v 1.427 2016/03/02 00:00:16 dlg Exp $ */ /* $NetBSD: if.c,v 1.35 1996/05/07 05:26:04 thorpej Exp $ */ /* @@ -1754,6 +1754,8 @@ ifioctl(struct socket *so, u_long cmd, caddr_t data, struct proc *p) case SIOCSIFMEDIA: case SIOCSVNETID: case SIOCSIFPAIR: + case SIOCSIFPARENT: + case SIOCDIFPARENT: if ((error = suser(p, 0)) != 0) return (error); /* FALLTHROUGH */ @@ -1765,6 +1767,7 @@ ifioctl(struct socket *so, u_long cmd, caddr_t data, struct proc *p) case SIOCGIFMEDIA: case SIOCGVNETID: case SIOCGIFPAIR: + case SIOCGIFPARENT: if (ifp->if_ioctl == 0) return (EOPNOTSUPP); error = (*ifp->if_ioctl)(ifp, cmd, data); diff --git a/sys/net/if.h b/sys/net/if.h index 8d7e3906e69..3d3569d960e 100644 --- a/sys/net/if.h +++ b/sys/net/if.h @@ -1,4 +1,4 @@ -/* $OpenBSD: if.h,v 1.175 2015/12/05 19:04:37 deraadt Exp $ */ +/* $OpenBSD: if.h,v 1.176 2016/03/02 00:00:16 dlg Exp $ */ /* $NetBSD: if.h,v 1.23 1996/05/07 02:40:27 thorpej Exp $ */ /* @@ -444,6 +444,12 @@ struct if_afreq { sa_family_t ifar_af; }; +/* SIOC[SG]IFPARENT */ +struct if_parent { + char ifp_name[IFNAMSIZ]; + char ifp_parent[IFNAMSIZ]; +}; + #include <net/if_arp.h> #ifdef _KERNEL diff --git a/sys/sys/sockio.h b/sys/sys/sockio.h index 1e9739c9418..cd7f83ad491 100644 --- a/sys/sys/sockio.h +++ b/sys/sys/sockio.h @@ -1,4 +1,4 @@ -/* $OpenBSD: sockio.h,v 1.62 2015/10/24 10:52:05 reyk Exp $ */ +/* $OpenBSD: sockio.h,v 1.63 2016/03/02 00:00:16 dlg Exp $ */ /* $NetBSD: sockio.h,v 1.5 1995/08/23 00:40:47 thorpej Exp $ */ /*- @@ -199,6 +199,10 @@ #define SIOCSIFPAIR _IOW('i', 176, struct ifreq) /* set paired if */ #define SIOCGIFPAIR _IOWR('i', 177, struct ifreq) /* get paired if */ +#define SIOCSIFPARENT _IOW('i', 178, struct if_parent) /* set parent if */ +#define SIOCGIFPARENT _IOWR('i', 179, struct if_parent) /* get parent if */ +#define SIOCDIFPARENT _IOW('i', 180, struct ifreq) /* del parent if */ + #define SIOCSVH _IOWR('i', 245, struct ifreq) /* set carp param */ #define SIOCGVH _IOWR('i', 246, struct ifreq) /* get carp param */ |