diff options
Diffstat (limited to 'sys/net/if_loop.c')
-rw-r--r-- | sys/net/if_loop.c | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/sys/net/if_loop.c b/sys/net/if_loop.c index f09295e..871202c 100644 --- a/sys/net/if_loop.c +++ b/sys/net/if_loop.c @@ -31,6 +31,7 @@ * SUCH DAMAGE. * * @(#)if_loop.c 8.1 (Berkeley) 6/10/93 + * $Id: if_loop.c,v 1.5 1994/08/02 07:46:17 davidg Exp $ */ /* @@ -72,20 +73,20 @@ #include "bpfilter.h" +#ifdef TINY_LOMTU #define LOMTU (1024+512) +#else +#define LOMTU 65532 +#endif struct ifnet loif; /* ARGSUSED */ void -loopattach(n) - int n; +loopattach(void) { register struct ifnet *ifp = &loif; -#ifdef lint - n = n; /* Highlander: there can only be one... */ -#endif ifp->if_name = "lo"; ifp->if_mtu = LOMTU; ifp->if_flags = IFF_LOOPBACK | IFF_MULTICAST; @@ -100,6 +101,8 @@ loopattach(n) #endif } +TEXT_SET(pseudo_set, loopattach); + int looutput(ifp, m, dst, rt) struct ifnet *ifp; @@ -205,7 +208,7 @@ loioctl(ifp, cmd, data) caddr_t data; { register struct ifaddr *ifa; - register struct ifreq *ifr; + register struct ifreq *ifr = (struct ifreq *)data; register int error = 0; switch (cmd) { @@ -222,7 +225,6 @@ loioctl(ifp, cmd, data) case SIOCADDMULTI: case SIOCDELMULTI: - ifr = (struct ifreq *)data; if (ifr == 0) { error = EAFNOSUPPORT; /* XXX */ break; @@ -240,6 +242,10 @@ loioctl(ifp, cmd, data) } break; + case SIOCSIFMTU: + ifp->if_mtu = ifr->ifr_mtu; + break; + default: error = EINVAL; } |