1. 24 10月, 2007 2 次提交
  2. 20 10月, 2007 1 次提交
  3. 16 10月, 2007 4 次提交
    • J
      net/bonding: Optionally allow ethernet slaves to keep own MAC · dd957c57
      Jay Vosburgh 提交于
      	Update the "don't change MAC of slaves" functionality added in
      previous changes to be a generic option, rather than something tied to
      IB devices, as it's occasionally useful for regular ethernet devices as
      well.
      
      	Adds "fail_over_mac" option (which is automatically enabled for IB
      slaves), applicable only to active-backup mode.
      
      	Includes documentation update.
      
      	Updates bonding driver version to 3.2.0.
      Signed-off-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      dd957c57
    • M
      net/bonding: Destroy bonding master when last slave is gone · d90a162a
      Moni Shoua 提交于
      When bonding enslaves non Ethernet devices it takes pointers to functions
      in the module that owns the slaves. In this case it becomes unsafe
      to keep the bonding master registered after last slave was unenslaved
      because we don't know if the pointers are still valid.  Destroying the bond when slave_cnt is zero
      ensures that these functions be used anymore.
      
      Signed-off-by: Moni Shoua <monis at voltaire.com>
      Acked-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      d90a162a
    • M
      net/bonding: Handlle wrong assumptions that slave is always an Ethernet device · 3158bf7d
      Moni Shoua 提交于
      bonding sometimes uses Ethernet constants (such as MTU and address length) which
      are not good when it enslaves non Ethernet devices (such as InfiniBand).
      
      Signed-off-by: Moni Shoua <monis at voltaire.com>
      Acked-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      3158bf7d
    • M
      net/bonding: Enable IP multicast for bonding IPoIB devices · 6b1bf096
      Moni Shoua 提交于
      Allow to enslave devices when the bonding device is not up. Over the discussion
      held at the previous post this seemed to be the most clean way to go, where it
      is not expected to cause instabilities.
      
      Normally, the bonding driver is UP before any enslavement takes place.
      Once a netdevice is UP, the network stack acts to have it join some multicast groups
      (eg the all-hosts 224.0.0.1). Now, since ether_setup() have set the bonding device
      type to be ARPHRD_ETHER and address len to be ETHER_ALEN, the net core code
      computes a wrong multicast link address. This is b/c ip_eth_mc_map() is called
      where for multicast joins taking place after the enslavement another ip_xxx_mc_map()
      is called (eg ip_ib_mc_map() when the bond type is ARPHRD_INFINIBAND)
      
      Signed-off-by: Moni Shoua <monis at voltaire.com>
      Signed-off-by: Or Gerlitz <ogerlitz at voltaire.com>
      Acked-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      6b1bf096
  4. 11 10月, 2007 4 次提交
  5. 21 6月, 2007 1 次提交
    • J
      bonding: Fix use after free in unregister path · 3201e656
      Jay Vosburgh 提交于
      	The following patch (based on a patch from Stephen Hemminger
      <shemminger@linux-foundation.org>) removes use after free conditions in
      the unregister path for the bonding master.  Without this patch, an
      operation of the form "echo -bond0 > /sys/class/net/bonding_masters"
      would trigger a NULL pointer dereference in sysfs.  I was not able to
      induce the failure with the non-sysfs code path, but for consistency I
      updated that code as well.
      
      	I also did some testing of the bonding /proc file being open
      while the bond is being deleted, and didn't see any problems there.
      Signed-off-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      3201e656
  6. 15 2月, 2007 1 次提交
    • T
      [PATCH] remove many unneeded #includes of sched.h · cd354f1a
      Tim Schmielau 提交于
      After Al Viro (finally) succeeded in removing the sched.h #include in module.h
      recently, it makes sense again to remove other superfluous sched.h includes.
      There are quite a lot of files which include it but don't actually need
      anything defined in there.  Presumably these includes were once needed for
      macros that used to live in sched.h, but moved to other header files in the
      course of cleaning it up.
      
      To ease the pain, this time I did not fiddle with any header files and only
      removed #includes from .c-files, which tend to cause less trouble.
      
      Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,
      arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,
      allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all
      configs in arch/arm/configs on arm.  I also checked that no new warnings were
      introduced by the patch (actually, some warnings are removed that were emitted
      by unnecessarily included header files).
      Signed-off-by: NTim Schmielau <tim@physik3.uni-rostock.de>
      Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      cd354f1a
  7. 08 2月, 2007 1 次提交
  8. 06 2月, 2007 1 次提交
    • J
      bonding: modify sysfs support to permit multiple loads · 877cbd36
      Jay Vosburgh 提交于
      	The existing code would blindly attempt to create the
      bonding_masters file (in /sys/class/net) every time the module was
      loaded.  When the module is loaded multiple times (which is the
      historical method used by initscripts and sysconfig to create multiple
      bonding interfaces), this caused load failure of the second module load
      attempt, as the creation request would fail.
      
      	This changes the code to note the failure, arrange to not remove
      the bonding_masters file upon module exit, and then return success.
      
      	Bonding interfaces created by the second or subsequent loads of
      the module will not exist in bonding_masters.  This is not a significant
      change, as previously only the interfaces from the most recent load of
      the module would be listed.  Both situations are less than optimal, but
      this case permits compatibility with existing distro configuration
      scripts, and is consistent.
      
      	Note that previously, the sysfs create request would overwrite
      the exsting bonding_masters file and succeed, allowing multiple loads of
      the module.  The sysfs code has recently changed to return an error if
      the file being created already exists.
      
      	Patrick McHardy <kaber@trash.net>, who reported this problem,
      observed crashes on the old kernel (before sysfs checked for
      duplicates).  I did not experience such crashes, but this change should
      resolve them.
      Signed-off-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      877cbd36
  9. 26 9月, 2006 2 次提交
  10. 01 7月, 2006 1 次提交
  11. 04 3月, 2006 1 次提交
    • J
      [PATCH] bonding: suppress duplicate packets · 8f903c70
      Jay Vosburgh 提交于
      	Originally submitted by Kenzo Iwami; his original description is:
      
      The current bonding driver receives duplicate packets when broadcast/
      multicast packets are sent by other devices or packets are flooded by the
      switch. In this patch, new flags are added in priv_flags of net_device
      structure to let the bonding driver discard duplicate packets in
      dev.c:skb_bond().
      
      	Modified by Jay Vosburgh to change a define name, update some
      comments, rearrange the new skb_bond() for clarity, clear all bonding
      priv_flags on slave release, and update the driver version.
      Signed-off-by: NKenzo Iwami <k-iwami@cj.jp.nec.com>
      Signed-off-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      8f903c70
  12. 07 2月, 2006 1 次提交
  13. 29 11月, 2005 1 次提交
  14. 14 11月, 2005 1 次提交