diff options
-rw-r--r-- | sys/net/if_tun.c | 2 | ||||
-rw-r--r-- | sys/net/if_tun.h | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/sys/net/if_tun.c b/sys/net/if_tun.c index c66360b..6e21780 100644 --- a/sys/net/if_tun.c +++ b/sys/net/if_tun.c @@ -511,7 +511,7 @@ tunwrite(dev_t dev, struct uio *uio, int flag) TUNDEBUG("%s%d: tunwrite\n", ifp->if_name, ifp->if_unit); - if (uio->uio_resid < 0 || uio->uio_resid > ifp->if_mtu) { + if (uio->uio_resid < 0 || uio->uio_resid > TUNMRU) { TUNDEBUG("%s%d: len=%d!\n", ifp->if_name, ifp->if_unit, uio->uio_resid); return EIO; diff --git a/sys/net/if_tun.h b/sys/net/if_tun.h index 404a877..6c44fcd 100644 --- a/sys/net/if_tun.h +++ b/sys/net/if_tun.h @@ -38,9 +38,12 @@ struct tun_softc { struct selinfo tun_wsel; /* write select (not used) */ }; -/* Default maximum packet size */ +/* Maximum transmit packet size (default) */ #define TUNMTU 1500 +/* Maximum receive packet size (hard limit) */ +#define TUNMRU 16384 + struct tuninfo { int baudrate; /* linespeed */ short mtu; /* maximum transmission unit */ |