Johannes Berg wrote:
On Wed, 2006-09-27 at 15:57 +0200, [EMAIL PROTECTED] wrote:
Also I wonder what should be the max mtu.
2304, I think, as that's
synonym sMaxMsduLng Integer = 2304; /* max octets in an MSDU */
Yes but if it is bigger the frame get framented at the 802.11 layer : in
theory we could put mtu (IP max packet size) a big as we want [1].
Also if I understand it correctly if encryption is used there is less
space for IP data ?
If people want to play with it, I attach the current version of my
(trivial) patch.
Matthieu
[1]
if mtu > 2304, (struct ieee80211_txb*)->nr_frags is bigger than one ;)
Index: linux/net/ieee80211/ieee80211_module.c
===================================================================
--- linux.orig/net/ieee80211/ieee80211_module.c 2006-09-25 22:37:20.000000000
+0200
+++ linux/net/ieee80211/ieee80211_module.c 2006-09-25 22:39:07.000000000
+0200
@@ -118,6 +118,14 @@
&ieee->network_free_list);
}
+static int ieee80211_change_mtu(struct net_device *dev, int new_mtu)
+{
+ if ((new_mtu < 68) || (new_mtu > 2400))
+ return -EINVAL;
+ dev->mtu = new_mtu;
+ return 0;
+}
+
struct net_device *alloc_ieee80211(int sizeof_priv)
{
struct ieee80211_device *ieee;
@@ -133,6 +141,7 @@
}
ieee = netdev_priv(dev);
dev->hard_start_xmit = ieee80211_xmit;
+ dev->change_mtu = ieee80211_change_mtu;
ieee->dev = dev;