Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1506711

[PATCH net-next 2/2] firewire: net: set initial MTU = 1500 unconditionally, fix IPv6 on some CardBus cards

From Stefan Richter <stefanr@s5r6.in-berlin.de>
Newsgroups linux.kernel
Subject [PATCH net-next 2/2] firewire: net: set initial MTU = 1500 unconditionally, fix IPv6 on some CardBus cards
Date 2016-10-23 16:40 +0200
Message-ID <svs6m-2am-11@gated-at.bofh.it> (permalink)
References (2 earlier) <supNg-2j8-41@gated-at.bofh.it> <sv9ZL-7vE-3@gated-at.bofh.it> <sva9r-7yQ-11@gated-at.bofh.it> <svfC9-2Bw-5@gated-at.bofh.it> <svrWF-273-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


firewire-net, like the older eth1394 driver, reduced the initial MTU to
less than 1500 octets if the local link layer controller's asynchronous
packet reception limit was lower.

This is bogus, since this reception limit does not have anything to do
with the transmission limit.  Neither did this reduction affect the TX
path positively, nor could it prevent link fragmentation at the RX path.

Many FireWire CardBus cards have a max_rec of 9, causing an initial MTU
of 1024 - 16 = 1008.  RFC 2734 and RFC 3146 allow a minimum max_rec = 8,
which would result in an initial MTU of 512 - 16 = 496.  On such cards,
IPv6 could only be employed if the MTU was manually increased to 1280 or
more, i.e. IPv6 would not work without intervention from userland.

We now always initialize the MTU to 1500, which is the default according
to RFC 2734 and RFC 3146.

On a VIA VT6316 based CardBus card which was affected by this, changing
the MTU from 1008 to 1500 also increases TX bandwidth by 6 %.
RX remains unaffected.

CC: netdev@vger.kernel.org
CC: linux1394-devel@lists.sourceforge.net
CC: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
---
 drivers/firewire/net.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/drivers/firewire/net.c b/drivers/firewire/net.c
index 99379542b263..03715e7d9d92 100644
--- a/drivers/firewire/net.c
+++ b/drivers/firewire/net.c
@@ -1463,13 +1463,7 @@ static int fwnet_probe(struct fw_unit *unit,
 		goto out;
 	dev->local_fifo = dev->handler.offset;
 
-	/*
-	 * Use the RFC 2734 default 1500 octets or the maximum payload
-	 * as initial MTU
-	 */
-	net->mtu = min(1500U,
-		       (1U << (card->max_receive + 1))
-		       - RFC2374_FRAG_HDR_SIZE - IEEE1394_GASP_HDR_SIZE);
+	net->mtu = 1500U;
 	net->min_mtu = ETH_MIN_MTU;
 	net->max_mtu = ETH_MAX_MTU;
 
-- 
Stefan Richter
-======----- =-=- =-===
http://arcgraph.de/sr/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH net-next 0/6] net: use core MTU range checking everywhere Jarod Wilson <jarod@redhat.com> - 2016-10-19 04:40 +0200
  [PATCH net-next 6/6] net: use core MTU range checking in misc drivers Jarod Wilson <jarod@redhat.com> - 2016-10-19 04:40 +0200
    Re: [PATCH net-next 6/6] net: use core MTU range checking in misc drivers Robin Holt <robinmholt@gmail.com> - 2016-10-19 16:40 +0200
    Re: [PATCH net-next 6/6] net: use core MTU range checking in misc  drivers Sabrina Dubroca <sd@queasysnail.net> - 2016-10-19 18:10 +0200
      Re: [PATCH net-next 6/6] net: use core MTU range checking in misc  drivers Stefan Richter <stefanr@s5r6.in-berlin.de> - 2016-10-20 00:50 +0200
        Re: [PATCH net-next 6/6] net: use core MTU range checking in misc  drivers Jarod Wilson <jarod@redhat.com> - 2016-10-20 05:20 +0200
          Re: [PATCH net-next 6/6] net: use core MTU range checking in misc  drivers Stefan Richter <stefanr@s5r6.in-berlin.de> - 2016-10-22 11:40 +0200
            Re: [PATCH net-next 6/6] net: use core MTU range checking in misc  drivers Stefan Richter <stefanr@s5r6.in-berlin.de> - 2016-10-22 21:00 +0200
  Re: [PATCH net-next 0/6] net: use core MTU range checking  everywhere David Miller <davem@davemloft.net> - 2016-10-19 21:20 +0200
    Re: [PATCH net-next 0/6] net: use core MTU range checking everywhere Jarod Wilson <jarod@redhat.com> - 2016-10-19 21:30 +0200
  [PATCH net-next v2 9/9] ipv4/6: use core net MTU range checking Jarod Wilson <jarod@redhat.com> - 2016-10-20 20:00 +0200
  [PATCH net-next v2 3/9] net: use core MTU range checking in wireless drivers Jarod Wilson <jarod@redhat.com> - 2016-10-20 20:00 +0200
    Re: [PATCH net-next v2 3/9] net: use core MTU range checking in  wireless drivers Johannes Berg <johannes@sipsolutions.net> - 2016-10-20 20:30 +0200
      Re: [PATCH net-next v2 3/9] net: use core MTU range checking in  wireless drivers David Miller <davem@davemloft.net> - 2016-10-20 20:50 +0200
  [PATCH net-next v2 1/9] ethernet: use net core MTU range checking in more drivers Jarod Wilson <jarod@redhat.com> - 2016-10-20 20:00 +0200
  [PATCH net-next v2 4/9] net: use core MTU range checking in WAN drivers Jarod Wilson <jarod@redhat.com> - 2016-10-20 20:00 +0200
  [PATCH net-next v2 2/9] net: use core MTU range checking in USB NIC drivers Jarod Wilson <jarod@redhat.com> - 2016-10-20 20:00 +0200
  [PATCH net-next v2 0/9] net: use core MTU range checking everywhere Jarod Wilson <jarod@redhat.com> - 2016-10-20 20:00 +0200
    [PATCH net-next v2 5/9] net: use core MTU range checking in core net infra Jarod Wilson <jarod@redhat.com> - 2016-10-20 20:00 +0200
    [PATCH net-next v2 6/9] net: use core MTU range checking in virt drivers Jarod Wilson <jarod@redhat.com> - 2016-10-20 20:00 +0200
      RE: [PATCH net-next v2 6/9] net: use core MTU range checking in virt  drivers Haiyang Zhang <haiyangz@microsoft.com> - 2016-10-20 20:10 +0200
        RE: [PATCH net-next v2 6/9] net: use core MTU range checking in virt  drivers "Kershner, David A" <David.Kershner@unisys.com> - 2016-10-20 22:50 +0200
      Re: [PATCH net-next v2 6/9] net: use core MTU range checking in virt  drivers "Michael S. Tsirkin" <mst@redhat.com> - 2016-10-20 22:30 +0200
        Re: [PATCH net-next v2 6/9] net: use core MTU range checking in virt  drivers Jarod Wilson <jarod@redhat.com> - 2016-10-21 04:40 +0200
          Re: [PATCH net-next v2 6/9] net: use core MTU range checking in virt  drivers "Michael S. Tsirkin" <mst@redhat.com> - 2016-10-21 05:40 +0200
            Re: [PATCH net-next v2 6/9] net: use core MTU range checking in virt drivers Aaron Conole <aconole@bytheb.org> - 2016-10-21 15:30 +0200
      Re: [PATCH net-next v2 6/9] net: use core MTU range checking in virt  drivers Wei Liu <wei.liu2@citrix.com> - 2016-10-21 12:10 +0200
    [PATCH net-next v2 8/9] s390/net: use net core MTU range checking Jarod Wilson <jarod@redhat.com> - 2016-10-20 20:00 +0200
    [PATCH net-next v2 7/9] net: use core MTU range checking in misc drivers Jarod Wilson <jarod@redhat.com> - 2016-10-20 20:00 +0200
      Re: [PATCH net-next v2 7/9] net: use core MTU range checking in misc drivers Rémi Denis-Courmont <remi@remlab.net> - 2016-10-21 09:00 +0200
      Re: [PATCH net-next v2 7/9] net: use core MTU range checking in misc  drivers Sebastian Reichel <sre@kernel.org> - 2016-10-21 18:30 +0200
      Re: [net-next,v2,7/9] net: use core MTU range checking in misc drivers Sven Eckelmann <sven@narfation.org> - 2016-10-22 09:30 +0200
      Re: [PATCH net-next v2 7/9] net: use core MTU range checking in  misc drivers Stefan Richter <stefanr@s5r6.in-berlin.de> - 2016-10-22 21:20 +0200
        Re: [PATCH net-next v2 7/9] net: use core MTU range checking in  misc drivers Stefan Richter <stefanr@s5r6.in-berlin.de> - 2016-10-22 21:30 +0200
          Re: [PATCH net-next v2 7/9] net: use core MTU range checking in misc  drivers Jarod Wilson <jarod@redhat.com> - 2016-10-23 03:20 +0200
            [PATCH net-next 1/2] firewire: net: fix maximum possible MTU Stefan Richter <stefanr@s5r6.in-berlin.de> - 2016-10-23 16:30 +0200
              [PATCH net-next 2/2] firewire: net: set initial MTU = 1500  unconditionally, fix IPv6 on some CardBus cards Stefan Richter <stefanr@s5r6.in-berlin.de> - 2016-10-23 16:40 +0200
                Re: [PATCH net-next 2/2] firewire: net: set initial MTU = 1500  unconditionally, fix IPv6 on some CardBus cards Jarod Wilson <jarod@redhat.com> - 2016-10-24 04:00 +0200
                [PATCH net-next 2/2 v2] firewire: net: set initial MTU = 1500  unconditionally, fix IPv6 on some CardBus cards Stefan Richter <stefanr@s5r6.in-berlin.de> - 2016-10-24 14:30 +0200
                Re: [PATCH net-next 2/2 v2] firewire: net: set initial MTU = 1500  unconditionally, fix IPv6 on some CardBus cards Jarod Wilson <jarod@redhat.com> - 2016-10-25 05:10 +0200
                Re: [PATCH net-next 2/2] firewire: net: set initial MTU = 1500  unconditionally, fix IPv6 on some CardBus cards David Miller <davem@davemloft.net> - 2016-10-26 23:40 +0200
              Re: [PATCH net-next 1/2] firewire: net: fix maximum possible MTU Jarod Wilson <jarod@redhat.com> - 2016-10-24 04:00 +0200
              Re: [PATCH net-next 1/2] firewire: net: fix maximum possible MTU David Miller <davem@davemloft.net> - 2016-10-26 23:40 +0200
    Re: [PATCH net-next v2 0/9] net: use core MTU range checking  everywhere David Miller <davem@davemloft.net> - 2016-10-20 21:00 +0200

csiph-web