diff --recursive --unified --new-file kernel-source-2.6.8/drivers/net/tun.c kernel-source-2.6.8-tunmtu/drivers/net/tun.c --- kernel-source-2.6.8/drivers/net/tun.c 2004-08-14 07:36:57.000000000 +0200 +++ kernel-source-2.6.8-tunmtu/drivers/net/tun.c 2004-12-14 13:15:35.000000000 +0100 @@ -117,6 +117,14 @@ return &tun->stats; } +static int tuntap_change_mtu(struct net_device *dev, int new_mtu) +{ + if ((new_mtu < 68) || (new_mtu > 3000)) + return -EINVAL; + dev->mtu = new_mtu; + return 0; +} + /* Initialize net device. */ static void tun_net_init(struct net_device *dev) { @@ -144,6 +152,7 @@ get_random_bytes(dev->dev_addr + sizeof(u16), 4); ether_setup(dev); + dev->change_mtu = tuntap_change_mtu; break; } }