<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/net/bonding, branch v4.3.1</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v4.3.1</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v4.3.1'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2015-12-09T19:34:10+00:00</updated>
<entry>
<title>bonding: fix panic on non-ARPHRD_ETHER enslave failure</title>
<updated>2015-12-09T19:34:10+00:00</updated>
<author>
<name>Jay Vosburgh</name>
<email>jay.vosburgh@canonical.com</email>
</author>
<published>2015-11-07T01:23:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=1c88ba236f4040530a98ca81d0316bd03fb5a41f'/>
<id>urn:sha1:1c88ba236f4040530a98ca81d0316bd03fb5a41f</id>
<content type='text'>
[ Upstream commit 40baec225765c54eefa870530dd613bad9829bb7 ]

Since commit 7d5cd2ce529b, when bond_enslave fails on devices that
are not ARPHRD_ETHER, if needed, it resets the bonding device back to
ARPHRD_ETHER by calling ether_setup.

	Unfortunately, ether_setup clobbers dev-&gt;flags, clearing IFF_UP
if the bond device is up, leaving it in a quasi-down state without
having actually gone through dev_close.  For bonding, if any periodic
work queue items are active (miimon, arp_interval, etc), those will
remain running, as they are stopped by bond_close.  At this point, if
the bonding module is unloaded or the bond is deleted, the system will
panic when the work function is called.

	This panic is resolved by calling dev_close on the bond itself
prior to calling ether_setup.

Cc: Nikolay Aleksandrov &lt;nikolay@cumulusnetworks.com&gt;
Signed-off-by: Jay Vosburgh &lt;jay.vosburgh@canonical.com&gt;
Fixes: 7d5cd2ce5292 ("bonding: correctly handle bonding type change on enslave failure")
Acked-by: Nikolay Aleksandrov &lt;nikolay@cumulusnetworks.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma</title>
<updated>2015-09-09T15:33:31+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2015-09-09T15:33:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=26d2177e977c912863ac04f6c1a967e793ca3a56'/>
<id>urn:sha1:26d2177e977c912863ac04f6c1a967e793ca3a56</id>
<content type='text'>
Pull inifiniband/rdma updates from Doug Ledford:
 "This is a fairly sizeable set of changes.  I've put them through a
  decent amount of testing prior to sending the pull request due to
  that.

  There are still a few fixups that I know are coming, but I wanted to
  go ahead and get the big, sizable chunk into your hands sooner rather
  than waiting for those last few fixups.

  Of note is the fact that this creates what is intended to be a
  temporary area in the drivers/staging tree specifically for some
  cleanups and additions that are coming for the RDMA stack.  We
  deprecated two drivers (ipath and amso1100) and are waiting to hear
  back if we can deprecate another one (ehca).  We also put Intel's new
  hfi1 driver into this area because it needs to be refactored and a
  transfer library created out of the factored out code, and then it and
  the qib driver and the soft-roce driver should all be modified to use
  that library.

  I expect drivers/staging/rdma to be around for three or four kernel
  releases and then to go away as all of the work is completed and final
  deletions of deprecated drivers are done.

  Summary of changes for 4.3:

   - Create drivers/staging/rdma
   - Move amso1100 driver to staging/rdma and schedule for deletion
   - Move ipath driver to staging/rdma and schedule for deletion
   - Add hfi1 driver to staging/rdma and set TODO for move to regular
     tree
   - Initial support for namespaces to be used on RDMA devices
   - Add RoCE GID table handling to the RDMA core caching code
   - Infrastructure to support handling of devices with differing read
     and write scatter gather capabilities
   - Various iSER updates
   - Kill off unsafe usage of global mr registrations
   - Update SRP driver
   - Misc  mlx4 driver updates
   - Support for the mr_alloc verb
   - Support for a netlink interface between kernel and user space cache
     daemon to speed path record queries and route resolution
   - Ininitial support for safe hot removal of verbs devices"

* tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: (136 commits)
  IB/ipoib: Suppress warning for send only join failures
  IB/ipoib: Clean up send-only multicast joins
  IB/srp: Fix possible protection fault
  IB/core: Move SM class defines from ib_mad.h to ib_smi.h
  IB/core: Remove unnecessary defines from ib_mad.h
  IB/hfi1: Add PSM2 user space header to header_install
  IB/hfi1: Add CSRs for CONFIG_SDMA_VERBOSITY
  mlx5: Fix incorrect wc pkey_index assignment for GSI messages
  IB/mlx5: avoid destroying a NULL mr in reg_user_mr error flow
  IB/uverbs: reject invalid or unknown opcodes
  IB/cxgb4: Fix if statement in pick_local_ip6adddrs
  IB/sa: Fix rdma netlink message flags
  IB/ucma: HW Device hot-removal support
  IB/mlx4_ib: Disassociate support
  IB/uverbs: Enable device removal when there are active user space applications
  IB/uverbs: Explicitly pass ib_dev to uverbs commands
  IB/uverbs: Fix race between ib_uverbs_open and remove_one
  IB/uverbs: Fix reference counting usage of event files
  IB/core: Make ib_dealloc_pd return void
  IB/srp: Create an insecure all physical rkey only if needed
  ...
</content>
</entry>
<entry>
<title>flow_dissector: Add flags argument to skb_flow_dissector functions</title>
<updated>2015-09-01T22:06:22+00:00</updated>
<author>
<name>Tom Herbert</name>
<email>tom@herbertland.com</email>
</author>
<published>2015-09-01T16:24:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=cd79a2382aa5dcefa6e21a7c59bb1bb19e53b74d'/>
<id>urn:sha1:cd79a2382aa5dcefa6e21a7c59bb1bb19e53b74d</id>
<content type='text'>
The flags argument will allow control of the dissection process (for
instance whether to parse beyond L3).

Signed-off-by: Tom Herbert &lt;tom@herbertland.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2015-08-31T04:45:01+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2015-08-31T04:45:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=06fb4e701b17e93366542e4cc57047e411136af7'/>
<id>urn:sha1:06fb4e701b17e93366542e4cc57047e411136af7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>net/bonding: Export bond_option_active_slave_get_rcu</title>
<updated>2015-08-30T22:08:50+00:00</updated>
<author>
<name>Matan Barak</name>
<email>matanb@mellanox.com</email>
</author>
<published>2015-07-30T15:33:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=e999869548b9ab97b7dffa053ba2fee81c31d069'/>
<id>urn:sha1:e999869548b9ab97b7dffa053ba2fee81c31d069</id>
<content type='text'>
Some consumers of the netdev events API would like to know who is the
active slave when a NETDEV_CHANGEUPPER or NETDEV_BONDING_FAILOVER
events occur. For example, when managing RoCE GIDs, GIDs based on the
bond's ips should only be set on the port which corresponds to active
slave netdevice.

Signed-off-by: Matan Barak &lt;matanb@mellanox.com&gt;
Signed-off-by: Doug Ledford &lt;dledford@redhat.com&gt;
</content>
</entry>
<entry>
<title>bonding: fix bond_poll_controller bh_enable warning</title>
<updated>2015-08-29T05:25:43+00:00</updated>
<author>
<name>Nikolay Aleksandrov</name>
<email>nikolay@cumulusnetworks.com</email>
</author>
<published>2015-08-28T22:05:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b0d4943eec9a42c7ba2065f6cfa949894204dd4a'/>
<id>urn:sha1:b0d4943eec9a42c7ba2065f6cfa949894204dd4a</id>
<content type='text'>
The problem is rcu_read_unlock_bh() which triggers a warning when irqs are
disabled. ndo_poll_controller should run with irqs disabled always so we
can drop the rcu_read_lock_bh.

[   98.502922] bond0: making interface eth1 the new active one
[   98.503039] ------------[ cut here ]------------
[   98.503039] WARNING: CPU: 0 PID: 1744 at kernel/softirq.c:150 __local_bh_enable_ip+0x96/0xc0()
[   98.503039] Modules linked in: bonding(OE) rpcsec_gss_krb5 nfsv4 dns_resolver nfs fscache netconsole ppdev joydev parport_pc serio_raw parport i2c_piix4 video acpi_cpufreq nfsd auth_rpcgss nfs_acl lockd grace sunrpc virtio_net e1000 ata_generic pcnet32 mii virtio_pci virtio_ring virtio pata_acpi
[   98.503039] CPU: 0 PID: 1744 Comm: ifenslave Tainted: G           OE   4.2.0-rc7+ #56
[   98.503039] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006
[   98.503039]  0000000000000000 00000000e96ba230 ffff880020c236b8 ffffffff8183f105
[   98.503039]  0000000000000000 0000000000000000 ffff880020c236f8 ffffffff810a9496
[   98.503039]  ffff88002ea99e08 0000000000000200 ffffffffa02a8e06 ffff88002ea99e08
[   98.503039] Call Trace:
[   98.503039]  [&lt;ffffffff8183f105&gt;] dump_stack+0x4c/0x65
[   98.503039]  [&lt;ffffffff810a9496&gt;] warn_slowpath_common+0x86/0xc0
[   98.503039]  [&lt;ffffffffa02a8e06&gt;] ? bond_poll_controller+0x146/0x250 [bonding]
[   98.503039]  [&lt;ffffffff810a95ca&gt;] warn_slowpath_null+0x1a/0x20
[   98.503039]  [&lt;ffffffff810ae376&gt;] __local_bh_enable_ip+0x96/0xc0
[   98.503039]  [&lt;ffffffffa02a8e2f&gt;] bond_poll_controller+0x16f/0x250 [bonding]
[   98.503039]  [&lt;ffffffffa02a8cf3&gt;] ? bond_poll_controller+0x33/0x250 [bonding]
[   98.503039]  [&lt;ffffffff810feaed&gt;] ? trace_hardirqs_off+0xd/0x10
[   98.503039]  [&lt;ffffffff81848afb&gt;] ? _raw_spin_unlock_irqrestore+0x5b/0x60
[   98.503039]  [&lt;ffffffff816ec48e&gt;] netpoll_poll_dev+0x6e/0x350
[   98.503039]  [&lt;ffffffff816eb977&gt;] ? netpoll_start_xmit+0x137/0x1d0
[   98.503039]  [&lt;ffffffff816b2e8b&gt;] ? __alloc_skb+0x5b/0x210
[   98.503039]  [&lt;ffffffff816ec89d&gt;] netpoll_send_skb_on_dev+0x12d/0x2a0
[   98.503039]  [&lt;ffffffff816eccde&gt;] netpoll_send_udp+0x2ce/0x430
[   98.503039]  [&lt;ffffffffa0190850&gt;] write_msg+0xb0/0xf0 [netconsole]
[   98.503039]  [&lt;ffffffff81116b63&gt;] call_console_drivers.constprop.25+0x133/0x260
[   98.503039]  [&lt;ffffffff81117934&gt;] console_unlock+0x2f4/0x580
[   98.503039]  [&lt;ffffffff81117ea5&gt;] ? vprintk_emit+0x2e5/0x630
[   98.503039]  [&lt;ffffffff81117ee5&gt;] vprintk_emit+0x325/0x630
[   98.503039]  [&lt;ffffffff81118379&gt;] vprintk_default+0x29/0x40
[   98.503039]  [&lt;ffffffff8183de4f&gt;] printk+0x55/0x6b
[   98.503039]  [&lt;ffffffff816c754c&gt;] __netdev_printk+0x16c/0x260
[   98.503039]  [&lt;ffffffff816c7a12&gt;] netdev_info+0x62/0x80
[   98.503039]  [&lt;ffffffffa02ab464&gt;] bond_change_active_slave+0x134/0x6a0 [bonding]
[   98.503039]  [&lt;ffffffffa02aba95&gt;] bond_select_active_slave+0xc5/0x310 [bonding]
[   98.503039]  [&lt;ffffffffa02aeb78&gt;] bond_enslave+0x1088/0x10c0 [bonding]
[   98.503039]  [&lt;ffffffffa02af46b&gt;] bond_do_ioctl+0x37b/0x400 [bonding]
[   98.503039]  [&lt;ffffffff81101d8d&gt;] ? trace_hardirqs_on+0xd/0x10
[   98.503039]  [&lt;ffffffff816dc437&gt;] ? rtnl_lock+0x17/0x20
[   98.503039]  [&lt;ffffffff816e5fd1&gt;] dev_ifsioc+0x331/0x3e0
[   98.503039]  [&lt;ffffffff816e62dc&gt;] dev_ioctl+0xec/0x6c0
[   98.503039]  [&lt;ffffffff816a6c6a&gt;] sock_do_ioctl+0x4a/0x60
[   98.503039]  [&lt;ffffffff816a7300&gt;] sock_ioctl+0x1c0/0x250
[   98.503039]  [&lt;ffffffff81271bfe&gt;] do_vfs_ioctl+0x2ee/0x540
[   98.503039]  [&lt;ffffffff810fd943&gt;] ? up_read+0x23/0x40
[   98.503039]  [&lt;ffffffff81070993&gt;] ? __do_page_fault+0x1d3/0x420
[   98.503039]  [&lt;ffffffff8127e246&gt;] ? __fget_light+0x66/0x90
[   98.503039]  [&lt;ffffffff81271ec9&gt;] SyS_ioctl+0x79/0x90
[   98.503039]  [&lt;ffffffff8184936e&gt;] entry_SYSCALL_64_fastpath+0x12/0x76
[   98.503039] ---[ end trace 00cfa804b0670051 ]---

Fixes: 616f45416ca0 ("bonding: implement bond_poll_controller()")
Signed-off-by: Nikolay Aleksandrov &lt;nikolay@cumulusnetworks.com&gt;
Acked-by: Mahesh Bandewar &lt;maheshb@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: bonding: convert to using IFF_NO_QUEUE</title>
<updated>2015-08-18T18:55:06+00:00</updated>
<author>
<name>Phil Sutter</name>
<email>phil@nwl.cc</email>
</author>
<published>2015-08-18T08:30:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=1e6f20ca6c90d06d8d7654009aa99f0eec76ea65'/>
<id>urn:sha1:1e6f20ca6c90d06d8d7654009aa99f0eec76ea65</id>
<content type='text'>
Signed-off-by: Phil Sutter &lt;phil@nwl.cc&gt;
Cc: Jay Vosburgh &lt;j.vosburgh@gmail.com&gt;
Cc: Veaceslav Falico &lt;vfalico@gmail.com&gt;
Cc: Andy Gospodarek &lt;gospo@cumulusnetworks.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2015-08-13T23:23:11+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2015-08-13T23:23:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=182ad468e70fc7e8ff2e5d64344c690beaa00ddd'/>
<id>urn:sha1:182ad468e70fc7e8ff2e5d64344c690beaa00ddd</id>
<content type='text'>
Conflicts:
	drivers/net/ethernet/cavium/Kconfig

The cavium conflict was overlapping dependency
changes.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>bonding: Gratuitous ARP gets dropped when first slave added</title>
<updated>2015-08-12T21:37:33+00:00</updated>
<author>
<name>Venkat Venkatsubra</name>
<email>venkat.x.venkatsubra@oracle.com</email>
</author>
<published>2015-08-11T14:57:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b02e3e948de6c11fded1821d89012e24d953da12'/>
<id>urn:sha1:b02e3e948de6c11fded1821d89012e24d953da12</id>
<content type='text'>
When the first slave is added (such as during bootup) the first
gratuitous ARP gets dropped. We don't see this drop during a failover.
The packet gets dropped in qdisc (noop_enqueue).

The fix is to delay the sending of gratuitous ARPs till the bond dev's
carrier is present.

It can also be worked around by setting num_grat_arp to more than 1.

Signed-off-by: Venkat Venkatsubra &lt;venkat.x.venkatsubra@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>bonding: add tlb_dynamic_lb netlink support</title>
<updated>2015-07-31T22:35:55+00:00</updated>
<author>
<name>Nikolay Aleksandrov</name>
<email>nikolay@cumulusnetworks.com</email>
</author>
<published>2015-07-31T14:49:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=0f7bffd9e512b77279bbce704fad3cb1d6887958'/>
<id>urn:sha1:0f7bffd9e512b77279bbce704fad3cb1d6887958</id>
<content type='text'>
tlb_dynamic_lb could be set only via sysfs, this patch allows it to be
set via netlink.

Signed-off-by: Nikolay Aleksandrov &lt;nikolay@cumulusnetworks.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
