1. 06 5月, 2010 1 次提交
    • W
      bonding: make bonding support netpoll · f6dc31a8
      WANG Cong 提交于
      Based on Andy's work, but I modified a lot.
      
      Similar to the patch for bridge, this patch does:
      
      1) implement the 2 methods to support netpoll for bonding;
      
      2) modify netpoll during forwarding packets via bonding;
      
      3) disable netpoll support of bonding when a netpoll-unabled device
         is added to bonding;
      
      4) enable netpoll support when all underlying devices support netpoll.
      
      Cc: Andy Gospodarek <gospo@redhat.com>
      Cc: Jeff Moyer <jmoyer@redhat.com>
      Cc: Matt Mackall <mpm@selenic.com>
      Cc: Neil Horman <nhorman@tuxdriver.com>
      Cc: Jay Vosburgh <fubar@us.ibm.com>
      Cc: David Miller <davem@davemloft.net>
      Signed-off-by: NWANG Cong <amwang@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f6dc31a8
  2. 04 4月, 2010 2 次提交
  3. 02 4月, 2010 1 次提交
    • A
      bonding: fix potential deadlock in bond_uninit() · 9e2e61fb
      Amerigo Wang 提交于
      bond_uninit() is invoked with rtnl_lock held, when it does destroy_workqueue()
      which will potentially flush all works in this workqueue, if we hold rtnl_lock
      again in the work function, it will deadlock.
      
      So move destroy_workqueue() to destructor where rtnl_lock is not held any more,
      suggested by Eric.
      Signed-off-by: NWANG Cong <amwang@redhat.com>
      Cc: Jay Vosburgh <fubar@us.ibm.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Stephen Hemminger <shemminger@vyatta.com>
      Cc: Jiri Pirko <jpirko@redhat.com>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9e2e61fb
  4. 31 3月, 2010 1 次提交
  5. 28 3月, 2010 1 次提交
    • A
      bonding: fix broken multicast with round-robin mode · a2fd940f
      Andy Gospodarek 提交于
      Round-robin (mode 0) does nothing to ensure that any multicast traffic
      originally destined for the host will continue to arrive at the host when
      the link that sent the IGMP join or membership report goes down.  One of
      the benefits of absolute round-robin transmit.
      
      Keeping track of subscribed multicast groups for each slave did not seem
      like a good use of resources, so I decided to simply send on the
      curr_active slave of the bond (typically the first enslaved device that
      is up).  This makes failover management simple as IGMP membership
      reports only need to be sent when the curr_active_slave changes.  I
      tested this patch and it appears to work as expected.
      
      Originally reported by Lon Hohberger <lhh@redhat.com>.
      Signed-off-by: NAndy Gospodarek <andy@greyhouse.net>
      CC: Lon Hohberger <lhh@redhat.com>
      CC: Jay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a2fd940f
  6. 25 3月, 2010 1 次提交
  7. 22 3月, 2010 1 次提交
  8. 19 3月, 2010 2 次提交
  9. 27 2月, 2010 1 次提交
  10. 04 2月, 2010 1 次提交
  11. 28 1月, 2010 1 次提交
  12. 18 1月, 2010 1 次提交
  13. 04 1月, 2010 1 次提交
    • A
      bonding: allow arp_ip_targets on separate vlans to use arp validation · 1f3c8804
      Andy Gospodarek 提交于
      This allows a bond device to specify an arp_ip_target as a host that is
      not on the same vlan as the base bond device and still use arp
      validation.  A configuration like this, now works:
      
      BONDING_OPTS="mode=active-backup arp_interval=1000 arp_ip_target=10.0.100.1 arp_validate=3"
      
      1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue
          link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
          inet 127.0.0.1/8 scope host lo
          inet6 ::1/128 scope host
             valid_lft forever preferred_lft forever
      2: eth1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 qlen 1000
          link/ether 00:13:21:be:33:e9 brd ff:ff:ff:ff:ff:ff
      3: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 qlen 1000
          link/ether 00:13:21:be:33:e9 brd ff:ff:ff:ff:ff:ff
      8: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue
          link/ether 00:13:21:be:33:e9 brd ff:ff:ff:ff:ff:ff
          inet6 fe80::213:21ff:febe:33e9/64 scope link
             valid_lft forever preferred_lft forever
      9: bond0.100@bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue
          link/ether 00:13:21:be:33:e9 brd ff:ff:ff:ff:ff:ff
          inet 10.0.100.2/24 brd 10.0.100.255 scope global bond0.100
          inet6 fe80::213:21ff:febe:33e9/64 scope link
             valid_lft forever preferred_lft forever
      
      Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)
      
      Bonding Mode: fault-tolerance (active-backup)
      Primary Slave: None
      Currently Active Slave: eth1
      MII Status: up
      MII Polling Interval (ms): 0
      Up Delay (ms): 0
      Down Delay (ms): 0
      ARP Polling Interval (ms): 1000
      ARP IP target/s (n.n.n.n form): 10.0.100.1
      
      Slave Interface: eth1
      MII Status: up
      Link Failure Count: 1
      Permanent HW addr: 00:40:05:30:ff:30
      
      Slave Interface: eth0
      MII Status: up
      Link Failure Count: 0
      Permanent HW addr: 00:13:21:be:33:e9
      Signed-off-by: NAndy Gospodarek <andy@greyhouse.net>
      Signed-off-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1f3c8804
  14. 14 12月, 2009 1 次提交
  15. 04 12月, 2009 1 次提交
  16. 02 12月, 2009 1 次提交
  17. 18 11月, 2009 1 次提交
  18. 31 10月, 2009 6 次提交
  19. 29 10月, 2009 1 次提交
    • J
      bonding: fix a race condition in calls to slave MII ioctls · d9d52832
      Jiri Bohac 提交于
      In mii monitor mode, bond_check_dev_link() calls the the ioctl
      handler of slave devices. It stores the ndo_do_ioctl function
      pointer to a static (!) ioctl variable and later uses it to call the
      handler with the IOCTL macro.
      
      If another thread executes bond_check_dev_link() at the same time
      (even with a different bond, which none of the locks prevent), a
      race condition occurs. If the two racing slaves have different
      drivers, this may result in one driver's ioctl handler being
      called with a pointer to a net_device controlled with a different
      driver, resulting in unpredictable breakage.
      
      Unless I am overlooking something, the "static" must be a
      copy'n'paste error (?).
      Signed-off-by: NJiri Bohac <jbohac@suse.cz>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d9d52832
  20. 27 10月, 2009 1 次提交
  21. 24 10月, 2009 1 次提交
  22. 13 10月, 2009 1 次提交
  23. 08 10月, 2009 2 次提交
  24. 07 10月, 2009 1 次提交
    • J
      bonding: introduce primary_reselect option · a549952a
      Jiri Pirko 提交于
      In some cases there is not desirable to switch back to primary interface when
      it's link recovers and rather stay with currently active one. We need to avoid
      packetloss as much as we can in some cases. This is solved by introducing
      primary_reselect option. Note that enslaved primary slave is set as current
      active no matter what.
      
      Patch modified by Jay Vosburgh as follows: fixed bug in action
      after change of option setting via sysfs, revised the documentation
      update, and bumped the bonding version number.
      Signed-off-by: NJiri Pirko <jpirko@redhat.com>
      Signed-off-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a549952a
  25. 17 9月, 2009 1 次提交
  26. 15 9月, 2009 1 次提交
  27. 01 9月, 2009 1 次提交
  28. 29 8月, 2009 4 次提交
  29. 14 8月, 2009 1 次提交