summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/net/if_tun.c2
-rw-r--r--sys/net/if_tun.h5
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 */
OpenPOWER on IntegriCloud