Browse Source

[PATCH] ieee80211: allow mtu bigger than 1500

Hi

this patch allow to set the mtu between 1500 and 2304 (max octets in an
MSDU) for devices using ieee80211 linux stack.

Signed-off-by: Matthieu CASTET <castet.matthieu@free.fr>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
matthieu castet 18 years ago
parent
commit
42a4cf9576
1 changed files with 9 additions and 0 deletions
  1. 9 0
      net/ieee80211/ieee80211_module.c

+ 9 - 0
net/ieee80211/ieee80211_module.c

@@ -118,6 +118,14 @@ static void ieee80211_networks_initialize(struct ieee80211_device *ieee)
 			      &ieee->network_free_list);
 			      &ieee->network_free_list);
 }
 }
 
 
+static int ieee80211_change_mtu(struct net_device *dev, int new_mtu)
+{
+	if ((new_mtu < 68) || (new_mtu > IEEE80211_DATA_LEN))
+		return -EINVAL;
+	dev->mtu = new_mtu;
+	return 0;
+}
+
 struct net_device *alloc_ieee80211(int sizeof_priv)
 struct net_device *alloc_ieee80211(int sizeof_priv)
 {
 {
 	struct ieee80211_device *ieee;
 	struct ieee80211_device *ieee;
@@ -133,6 +141,7 @@ struct net_device *alloc_ieee80211(int sizeof_priv)
 	}
 	}
 	ieee = netdev_priv(dev);
 	ieee = netdev_priv(dev);
 	dev->hard_start_xmit = ieee80211_xmit;
 	dev->hard_start_xmit = ieee80211_xmit;
+	dev->change_mtu = ieee80211_change_mtu;
 
 
 	ieee->dev = dev;
 	ieee->dev = dev;