summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Greenman <dg@FreeBSD.org>1994-08-08 10:49:26 +0000
committerDavid Greenman <dg@FreeBSD.org>1994-08-08 10:49:26 +0000
commita7028af7f080f67ae0c8b23b2ce88ee37da57c4f (patch)
tree59c98fc4f46f16f5251e142716651a079843678f
parent4db32b036d7656c4a5053feee33b72687a83e909 (diff)
Notes
-rw-r--r--sys/net/if.c13
-rw-r--r--sys/net/if.h4
-rw-r--r--sys/sys/sockio.h4
3 files changed, 18 insertions, 3 deletions
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 <sys/param.h>
@@ -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_ */