Bug #353

possible ipv6 multicast issue

Added by David Taht on Apr 6, 2012. Updated on Apr 19, 2012.
Closed Normal David Taht

Description

See item 5.

———- Forwarded message ———-
From: David Miller davem@davemloft.net
Date: Fri, Apr 6, 2012 at 10:35 AM
Subject: [GIT] Networking
To: torvalds@linux-foundation.org
Cc: akpm@linux-foundation.org, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org

1) Fix inaccuracies in network driver interface documentation, from
  Ben Hutchings.

2) Fix handling of negative offsets in BPF JITs, from Jan Seiffert.

3) Compile warning, locking, and refcounting fixes in netfilter’s
  xt_CT, from Pablo Neira Ayuso.

4) phonet sendmsg needs to validate user length just like any
  other datagram protocol, fix from Sasha Levin.

5) Ipv6 multicast code uses wrong loop index, from RongQing Li.

6) Link handling and firmware fixes in bnx2x driver from Yaniv
  Rosner and Yuval Mintz.

7) mlx4 erroneously allocates 4 pages at a time, regardless of page
  size, fix from Thadeu Lima de Souza Cascardo.

8) SCTP socket option wasn’t extended in a backwards compatible
  way, fix from Thomas Graf.

9) Add missing address change event emissions to bonding, from
  Shlomo Pongratz.

10) /proc/net/dev regressed because it uses a private offset to
   track where we are in the hash table, but this doesn’t
   track the offset pullback that the seq_file code does
   resulting in some entries being missed in large dumps.

   Fix from Eric Dumazet.

11) do_tcp_sendpage() unloads the send queue way too fast, because
   it invokes tcp_push() when it shouldn’t.  Let the natural sequence
   generated by the splice paths, and the assosciated MSG_MORE
   settings, guide the tcp_push() calls.

   Otherwise what goes out of TCP is spaghetti and doesn’t batch
   effectively into GSO/TSO clusters.

   From Eric Dumazet.

12) Once we put a SKB into either the netlink receiver’s queue
   or a socket error queue, it can be consumed and freed up,
   therefore we cannot touch it after queueing it like that.

   Fixes from Eric Dumazet.

13) PPP has this annoying behavior in that for every transmit
   call it immediately stops the TX queue, then calls down
   into the next layer to transmit the PPP frame.

   But if that next layer can take it immediately, it just
   un-stops the TX queue right before returning from the
   transmit method.

   Besides being useless work, it makes several facilities
   unusable, in particular things like the equalizers.  Well
   behaved devices should only stop the TX queue when they
   really are full, and in PPP’s case when it gets backlogged
   to the downstream device.

   David Woodhouse therefore fixed PPP to not stop the TX
   queue until it’s downstream can’t take data any more.

14) IFF_UNICAST_FLT got accidently lost in some recent stmmac
   driver changes, re-add.  From Marc Kleine-Budde.

15) Fix link flaps in ixgbe, from Eric W. Multanen.

16) Descriptor writeback fixes in e1000e from Matthew Vick.

Please pull, thanks a lot!

The following changes since commit 314489bd4c7780fde6a069783d5128f6cef52919:

 Merge tag ‘fixes-for-linus’ of
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc (2012-04-05
22:13:39 -0700)

are available in the git repository at:

 git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git master

Artem Savkov (1):
     r8169: enable napi on resume.

Ben Hutchings (6):
     ethtool: Remove exception to the requirement of holding RTNL lock
     doc, net: Remove obsolete reference to dev->poll
     doc, net: Update documentation of synchronisation for TX multiqueue
     doc, net: Update netdev operation names
     doc, net: Remove instruction to set net_device::trans_start
     doc, net: Update ndo_start_xmit return type and values

Bruce Allan (1):
     e1000e: prevent oops when adapter is being closed and reset simultaneously

David S. Miller (2):
     Merge branch ‘master’ of git://git.kernel.org/…/jkirsher/net
     Merge branch ‘master’ of git://1984.lsi.us.es/net

David Woodhouse (1):
     ppp: Don’t stop and restart queue on every TX packet

Eric Dumazet (5):
     net: fix /proc/net/dev regression
     tcp: allow splice() to build full TSO packets
     tcp: tcp_sendpages() should call tcp_push() once
     netlink: fix races after skb queueing
     net: fix a race in sock_queue_err_skb()

Fernando Luis Vazquez Cao (1):
     TCP: update ip_local_port_range documentation

Jan Beulich (1):
     netfilter: xt_LOG: don’t use xchg() for simple assignment

Jan Engelhardt (1):
     netfilter: ipset: avoid use of kernel-only types

Jan Seiffert (2):
     bpf jit: Make the filter.c::__load_pointer helper non-static for the jits
     bpf jit: Let the x86 jit handle negative offsets

Marc Kleine-Budde (1):
     stmmac: re-add IFF_UNICAST_FLT for dwmac1000

Matthew Vick (1):
     e1000e: Guarantee descriptor writeback flush success.

Multanen, Eric W (1):
     ixgbe: driver fix for link flap

Pablo Neira Ayuso (4):
     netfilter: xt_CT: remove a compile warning
     netfilter: xt_CT: allocation has to be GFP_ATOMIC under
rcu_read_lock section
     netfilter: xt_CT: fix missing put timeout object in error path
     netfilter: nf_conntrack: fix count leak in error path of
__nf_conntrack_alloc

RongQing.Li (1):
     ipv6: fix array index in ip6_mc_add_src()

Sasha Levin (1):
     phonet: Check input from user before allocating

Shlomo Pongratz (2):
     net/bonding: emit address change event also in bond_release
     net/bonding: correctly proxy slave neigh param setup ndo function

Srinivas Kandagatla (1):
     phy:icplus:fix Auto Power Saving in ip101a_config_init.

Thadeu Lima de Souza Cascardo (1):
     mlx4: allocate just enough pages instead of always 4 pages

Thomas Graf (1):
     sctp: Allow struct sctp_event_subscribe to grow without breaking binaries

Veaceslav Falico (1):
     bonding: properly unset current_arp_slave on slave link up

Yaniv Rosner (10):
     bnx2x: PFC fix
     bnx2x: Fix BCM57810-KR FC
     bnx2x: Fix BCM57810-KR AN speed transition
     bnx2x: Fix BCM578x0-SFI pre-emphasis settings
     bnx2x: Restore 1G LED on BCM57712+BCM8727 designs.
     bnx2x: Fix link issue for BCM8727 boards.
     bnx2x: Fix BCM84833 PHY FW version presentation
     bnx2x: Clear BCM84833 LED after fan failure
     bnx2x: Fix BCM57711+BCM84823 link issue
     bnx2x: Clear MDC/MDIO warning message

Yuval Mintz (1):
     bnx2x: correction to firmware interface

stephen hemminger (2):
     sky2: copy received packets on inefficient unaligned architecture
     MAINTAINERS: update for Marvell Ethernet drivers

 Documentation/networking/driver.txt                |   31 **–
 Documentation/networking/ip-sysctl.txt             |   11 +-
 Documentation/networking/netdevices.txt            |   25 **–
 MAINTAINERS                                        |   19 +–
 arch/x86/net/bpf_jit.S                             |  122 **+—-
 arch/x86/net/bpf_jit_comp.c                        |   41 **+–
 drivers/net/bonding/bond_main.c                    |   60 **-
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c    |    1 -
 …/net/ethernet/broadcom/bnx2x/bnx2x_fw_defs.h    |  110 **+——-
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c   |  147 **+—-
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_reg.h    |    8 +
 drivers/net/ethernet/intel/e1000e/e1000.h          |    6 +
 drivers/net/ethernet/intel/e1000e/netdev.c         |   26 **+
 drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c    |  164 **———-
 drivers/net/ethernet/marvell/sky2.c                |   13 **-
 drivers/net/ethernet/mellanox/mlx4/mlx4_en.h       |    5 +-
 drivers/net/ethernet/realtek/r8169.c               |    3 +
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c  |    6 +-
 drivers/net/phy/icplus.c                           |    3 +-
 drivers/net/ppp/ppp_generic.c                      |   14 +-
 fs/splice.c                                        |    5 +-
 include/linux/ethtool.h                            |    3 +-
 include/linux/netdevice.h                          |    2 -
 include/linux/netfilter/xt_set.h                   |    4 +-
 include/linux/socket.h                             |    2 +-
 include/net/netfilter/xt_log.h                     |    2 +-
 net/core/dev.c                                     |   58 **——
 net/core/dev_addr_lists.c                          |    3 +-
 net/core/filter.c                                  |    9 +-
 net/core/skbuff.c                                  |    4 +-
 net/ipv4/tcp.c                                     |    2 +-
 net/ipv6/mcast.c                                   |    2 +-
 net/netfilter/nf_conntrack_core.c                  |    1 +
 net/netfilter/xt_CT.c                              |   28 **+-
 net/netlink/af_netlink.c                           |   24 **–
 net/phonet/pep.c                                   |    3 +
 net/sctp/socket.c                                  |    5 +-
 net/socket.c                                       |    6 +-
 38 files changed, 602 insertions(+), 376 deletions(-)

History

Updated by Dave Täht on Apr 19, 2012.
fix went into stable, not sure when, but basically before 3.3.2

This is a static export of the original bufferbloat.net issue database. As such, no further commenting is possible; the information is solely here for archival purposes.
RSS feed

Recent Updates

Oct 20, 2023 Wiki page
What Can I Do About Bufferbloat?
Dec 3, 2022 Wiki page
Codel Wiki
Jun 11, 2022 Wiki page
More about Bufferbloat
Jun 11, 2022 Wiki page
Tests for Bufferbloat
Dec 7, 2021 Wiki page
Getting SQM Running Right

Find us elsewhere

Bufferbloat Mailing Lists
#bufferbloat on Twitter
Google+ group
Archived Bufferbloat pages from the Wayback Machine

Sponsors

Comcast Research Innovation Fund
Nlnet Foundation
Shuttleworth Foundation
GoFundMe

Bufferbloat Related Projects

OpenWrt Project
Congestion Control Blog
Flent Network Test Suite
Sqm-Scripts
The Cake shaper
AQMs in BSD
IETF AQM WG
CeroWrt (where it all started)

Network Performance Related Resources


Jim Gettys' Blog - The chairman of the Fjord
Toke's Blog - Karlstad University's work on bloat
Voip Users Conference - Weekly Videoconference mostly about voip
Candelatech - A wifi testing company that "gets it".