1. 06 11月, 2008 1 次提交
    • J
      bonding: Fix ALB mode to balance traffic on VLANs · 6146b1a4
      Jay Vosburgh 提交于
      	The current ALB function that processes incoming ARPs
      does not handle traffic for VLANs configured above bonding.  This causes
      traffic on those VLANs to all be assigned the same slave.  This patch
      corrects that misbehavior by locating the bonding interface nested below
      the VLAN interface.
      
      	Bug reported by Sven Anders <anders@anduras.de>, who also
      tested an earlier version of this patch and confirmed that it resolved
      the problem.
      Signed-off-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      6146b1a4
  2. 31 10月, 2008 1 次提交
    • A
      bonding: fix panic when taking bond interface down before removing module · ce39a800
      Andy Gospodarek 提交于
      A panic was discovered with bonding when using mode 5 or 6 and trying to
      remove the slaves from the bond after the interface was taken down.
      When calling 'ifconfig bond0 down' the following happens:
      
          bond_close()
              bond_alb_deinitialize()
                  tlb_deinitialize()
      		kfree(bond_info->tx_hashtbl)
                      bond_info->tx_hashtbl = NULL
      
      Unfortunately if there are still slaves in the bond, when removing the
      module the following happens:
      
          bonding_exit()
              bond_free_all()
                  bond_release_all()
                      bond_alb_deinit_slave()
                          tlb_clear_slave()
                              tx_hash_table = BOND_ALB_INFO(bond).tx_hashtbl
      			u32 next_index = tx_hash_table[index].next
      
      As you might guess we panic when trying to access a few entries into the
      table that no longer exists.
      
      I experimented with several options (like moving the calls to
      tlb_deinitialize somewhere else), but it really makes the most sense to
      be part of the bond_close routine.  It also didn't seem logical move
      tlb_clear_slave around too much, so the simplest option seems to add a
      check in tlb_clear_slave to make sure we haven't already wiped the
      tx_hashtbl away before searching for all the non-existent hash-table
      entries that used to point to the slave as the output interface.
      Signed-off-by: NAndy Gospodarek <andy@greyhouse.net>
      Signed-off-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      ce39a800
  3. 25 9月, 2008 1 次提交
  4. 03 9月, 2008 1 次提交
  5. 15 7月, 2008 1 次提交
    • W
      bonding: Check return of dev_set_promiscuity/allmulti · 7e1a1ac1
      Wang Chen 提交于
      dev_set_promiscuity/allmulti might overflow.
      Commit: "netdevice: Fix promiscuity and allmulti overflow" in net-next makes
      dev_set_promiscuity/allmulti return error number if overflow happened.
      
      In bond_alb and bond_main, we check all positive increment for promiscuity
      and allmulti to get error return.
      But there are still two problems left.
      1. Some code path has no mechanism to signal errors upstream.
      2. If there are multi slaves, it's hard to tell which slaves increment
         promisc/allmulti successfully and which failed.
      So I left these problems to be FIXME.
      Fortunately, the overflow is very rare case.
      Signed-off-by: NWang Chen <wangchen@cn.fujitsu.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7e1a1ac1
  6. 26 3月, 2008 2 次提交
  7. 19 1月, 2008 2 次提交
  8. 24 10月, 2007 4 次提交
  9. 11 10月, 2007 2 次提交
  10. 26 4月, 2007 7 次提交
  11. 09 2月, 2007 1 次提交
  12. 05 10月, 2006 1 次提交
  13. 04 3月, 2006 1 次提交
  14. 13 1月, 2006 1 次提交
    • J
      [PATCH] bonding: UPDATED hash-table corruption in bond_alb.c · 5af47b2f
      Jay Vosburgh 提交于
      	I believe I see the race Michael refers to (tlb_choose_channel
      may set head, which tlb_init_slave clears), although I was not able to
      reproduce it.  I have updated his patch for the current netdev-2.6.git
      tree and added a version update.  His original comment follows:
      
      Our systems have been crashing during testing of PCI HotPlug
      support in the various networking components.  We've faulted in
      the bonding driver due to a bug in bond_alb.c:tlb_clear_slave()
      
      In that routine, the last modification to the TLB hash table is
      made without protection of the lock, allowing a race that can lead
      tlb_choose_channel() to select an invalid table element.
      
      	-J
      Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
      5af47b2f
  15. 29 11月, 2005 1 次提交
  16. 14 11月, 2005 4 次提交
  17. 30 8月, 2005 1 次提交
    • D
      [NET]: Kill skb->real_dev · f2ccd8fa
      David S. Miller 提交于
      Bonding just wants the device before the skb_bond()
      decapsulation occurs, so simply pass that original
      device into packet_type->func() as an argument.
      
      It remains to be seen whether we can use this same
      exact thing to get rid of skb->input_dev as well.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f2ccd8fa
  18. 31 7月, 2005 1 次提交
  19. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4