Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4885a50476b95fa0f4caad179a80783508c2fe86
Commit:     4885a50476b95fa0f4caad179a80783508c2fe86
Parent:     0b69d4bd263c75b3e2ec94f1c72f338b84be817e
Author:     Ed Swierk <[EMAIL PROTECTED]>
AuthorDate: Sun Sep 16 12:21:38 2007 -0700
Committer:  David S. Miller <[EMAIL PROTECTED]>
CommitDate: Wed Oct 10 16:51:19 2007 -0700

    [TAP]: Configurable interface MTU.
    
    Signed-off-by: David S. Miller <[EMAIL PROTECTED]>
---
 drivers/net/tun.c |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/drivers/net/tun.c b/drivers/net/tun.c
index d279151..d8b8e68 100644
--- a/drivers/net/tun.c
+++ b/drivers/net/tun.c
@@ -172,6 +172,18 @@ tun_net_mclist(struct net_device *dev)
        }
 }
 
+#define MIN_MTU 68
+#define MAX_MTU 65535
+
+static int
+tun_net_change_mtu(struct net_device *dev, int new_mtu)
+{
+       if (new_mtu < MIN_MTU || new_mtu + dev->hard_header_len > MAX_MTU)
+               return -EINVAL;
+       dev->mtu = new_mtu;
+       return 0;
+}
+
 /* Initialize net device. */
 static void tun_net_init(struct net_device *dev)
 {
@@ -183,6 +195,7 @@ static void tun_net_init(struct net_device *dev)
                dev->hard_header_len = 0;
                dev->addr_len = 0;
                dev->mtu = 1500;
+               dev->change_mtu = tun_net_change_mtu;
 
                /* Zero header length */
                dev->type = ARPHRD_NONE;
@@ -195,6 +208,7 @@ static void tun_net_init(struct net_device *dev)
                dev->set_multicast_list = tun_net_mclist;
 
                ether_setup(dev);
+               dev->change_mtu = tun_net_change_mtu;
 
                /* random address already created for us by tun_set_iff, use it 
*/
                memcpy(dev->dev_addr, tun->dev_addr, min(sizeof(tun->dev_addr), 
sizeof(dev->dev_addr)) );
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to