diff options
| author | David Greenman <dg@FreeBSD.org> | 1997-09-30 12:29:00 +0000 |
|---|---|---|
| committer | David Greenman <dg@FreeBSD.org> | 1997-09-30 12:29:00 +0000 |
| commit | 8e609311ba3c750470fb665dcc2f67c036c97e7f (patch) | |
| tree | 935dc2d8aae73db406dca3624325e5f67a85f264 /sys/net | |
| parent | 4254a8549e2908b20afd18fcb2e49363682fbb1b (diff) | |
Notes
Diffstat (limited to 'sys/net')
| -rw-r--r-- | sys/net/if.h | 4 | ||||
| -rw-r--r-- | sys/net/if_ethersubr.c | 18 |
2 files changed, 17 insertions, 5 deletions
diff --git a/sys/net/if.h b/sys/net/if.h index 0359ab187be9..2cf3d7389afb 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: if.h,v 1.36 1996/10/21 23:05:57 fenner Exp $ + * $Id: if.h,v 1.36.2.1 1997/06/30 10:59:15 peter Exp $ */ #ifndef _NET_IF_H_ @@ -429,7 +429,7 @@ void ether_ifattach __P((struct ifnet *)); void ether_input __P((struct ifnet *, struct ether_header *, struct mbuf *)); int ether_output __P((struct ifnet *, struct mbuf *, struct sockaddr *, struct rtentry *)); -void ether_ioctl __P((struct ifnet *, int , caddr_t )); +int ether_ioctl __P((struct ifnet *, int , caddr_t )); void if_attach __P((struct ifnet *)); void if_down __P((struct ifnet *)); diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c index 42d2f1d7f5d6..4c721b24e781 100644 --- a/sys/net/if_ethersubr.c +++ b/sys/net/if_ethersubr.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)if_ethersubr.c 8.1 (Berkeley) 6/10/93 - * $Id: if_ethersubr.c,v 1.26.2.1 1996/11/21 16:43:55 phk Exp $ + * $Id: if_ethersubr.c,v 1.26.2.2 1997/06/28 09:22:07 jhay Exp $ */ #include <sys/param.h> @@ -856,11 +856,12 @@ ether_delmulti(ifr, ac) SYSCTL_NODE(_net_link, IFT_ETHER, ether, CTLFLAG_RW, 0, "Ethernet"); -void +int ether_ioctl(struct ifnet *ifp, int command, caddr_t data) { struct ifaddr *ifa = (struct ifaddr *) data; struct ifreq *ifr = (struct ifreq *) data; + int error = 0; switch (command) { case SIOCSIFADDR: @@ -939,6 +940,17 @@ ether_ioctl(struct ifnet *ifp, int command, caddr_t data) (caddr_t) sa->sa_data, ETHER_ADDR_LEN); } break; + + case SIOCSIFMTU: + /* + * Set the interface MTU. + */ + if (ifr->ifr_mtu > ETHERMTU) { + error = EINVAL; + } else { + ifp->if_mtu = ifr->ifr_mtu; + } + break; } - return; + return (error); } |
