diff --git a/sys/net/if.c b/sys/net/if.c index c82aafc1f2c9..975bf780761d 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)if.c 8.3 (Berkeley) 1/4/94 - * $Id$ + * $Id: if.c,v 1.2 1994/08/02 07:46:05 davidg Exp $ */ #include @@ -486,6 +486,10 @@ ifioctl(so, cmd, data, p) ifr->ifr_metric = ifp->if_metric; break; + case SIOCGIFMTU: + ifr->ifr_mtu = ifp->if_mtu; + break; + case SIOCSIFFLAGS: if (error = suser(p->p_ucred, &p->p_acflag)) return (error); @@ -511,6 +515,13 @@ ifioctl(so, cmd, data, p) ifp->if_metric = ifr->ifr_metric; break; + case SIOCSIFMTU: + if (error = suser(p->p_ucred, &p->p_acflag)) + return (error); + if (ifp->if_ioctl == NULL) + return (EOPNOTSUPP); + return ((*ifp->if_ioctl)(ifp, cmd, data)); + case SIOCADDMULTI: case SIOCDELMULTI: if (error = suser(p->p_ucred, &p->p_acflag)) diff --git a/sys/net/if.h b/sys/net/if.h index b1b7de913abf..107d7e705a8c 100644 --- a/sys/net/if.h +++ b/sys/net/if.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)if.h 8.1 (Berkeley) 6/10/93 - * $Id$ + * $Id: if.h,v 1.3 1994/08/02 07:46:07 davidg Exp $ */ /* @@ -282,6 +282,7 @@ struct ifreq { struct sockaddr ifru_broadaddr; short ifru_flags; int ifru_metric; + int ifru_mtu; caddr_t ifru_data; } ifr_ifru; #define ifr_addr ifr_ifru.ifru_addr /* address */ @@ -289,6 +290,7 @@ struct ifreq { #define ifr_broadaddr ifr_ifru.ifru_broadaddr /* broadcast address */ #define ifr_flags ifr_ifru.ifru_flags /* flags */ #define ifr_metric ifr_ifru.ifru_metric /* metric */ +#define ifr_mtu ifr_ifru.ifru_mtu /* mtu */ #define ifr_data ifr_ifru.ifru_data /* for use by interface */ }; diff --git a/sys/sys/sockio.h b/sys/sys/sockio.h index ab696b1675c9..b253044fc0d1 100644 --- a/sys/sys/sockio.h +++ b/sys/sys/sockio.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)sockio.h 8.1 (Berkeley) 3/28/94 - * $Id$ + * $Id: sockio.h,v 1.2 1994/08/02 07:53:37 davidg Exp $ */ #ifndef _SYS_SOCKIO_H_ @@ -74,5 +74,7 @@ #define SIOCADDMULTI _IOW('i', 49, struct ifreq) /* add m'cast addr */ #define SIOCDELMULTI _IOW('i', 50, struct ifreq) /* del m'cast addr */ +#define SIOCGIFMTU _IOWR('i', 51, struct ifreq) /* get IF mtu */ +#define SIOCSIFMTU _IOW('i', 52, struct ifreq) /* set IF mtu */ #endif /* !_SYS_SOCKIO_H_ */