[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20161029221658.03942ff6@kant>
Date: Sat, 29 Oct 2016 22:16:58 +0200
From: Stefan Richter <stefanr@...6.in-berlin.de>
To: "David S. Miller" <davem@...emloft.net>
Cc: netdev@...r.kernel.org, linux1394-devel@...ts.sourceforge.net,
Jarod Wilson <jarod@...hat.com>, linux-kernel@...r.kernel.org
Subject: [PATCH net-next] firewire: net: really fix maximum possible MTU
The maximum unicast datagram size /without/ link fragmentation is
4096 - 4 = 4092 (max IEEE 1394 async payload size at >= S800 bus speed,
minus unfragmented encapssulation header). Max broadcast datagram size
without fragmentation is 8 bytes less than that (due to GASP header).
The maximum datagram size /with/ link fragmentation is 0xfff = 4095
for unicast and broadcast. This is because the RFC 2734 fragment
encapsulation header field for datagram size is only 12 bits wide.
Fixes: 5d48f00d836a('firewire: net: fix maximum possible MTU')
Signed-off-by: Stefan Richter <stefanr@...6.in-berlin.de>
---
drivers/firewire/net.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/firewire/net.c b/drivers/firewire/net.c
index 03715e7d9d92..363fc5ec1a4e 100644
--- a/drivers/firewire/net.c
+++ b/drivers/firewire/net.c
@@ -1465,7 +1465,7 @@ static int fwnet_probe(struct fw_unit *unit,
net->mtu = 1500U;
net->min_mtu = ETH_MIN_MTU;
- net->max_mtu = ETH_MAX_MTU;
+ net->max_mtu = 0xfff;
/* Set our hardware address while we're at it */
ha = (union fwnet_hwaddr *)net->dev_addr;
--
Stefan Richter
-======----- =-=- ===-=
http://arcgraph.de/sr/
Powered by blists - more mailing lists