1. 17 Jul, 2014 2 commits
  2. 16 Jul, 2014 2 commits
  3. 15 Jul, 2014 4 commits
  4. 14 Jul, 2014 1 commit
  5. 07 Jul, 2014 1 commit
  6. 01 Jul, 2014 1 commit
  7. 18 Jun, 2014 1 commit
  8. 04 Jun, 2014 2 commits
    • Vlad Yasevich's avatar
      bonding: Support macvlans on top of tlb/rlb mode bonds · 14af9963
      Vlad Yasevich authored
      
      
      To make TLB mode work, the patch allows learning packets
      to be sent using mac addresses assigned to macvlan devices,
      also taking into an account vlans that may be between the
      bond and macvlan device.
      
      To make RLB work, all we have to do is accept ARP packets
      for addresses added to the bond dev->uc list.  Since RLB
      mode will take care to update the peers directly with
      correct mac addresses, learning packets for these addresses
      do not have be send to switch.
      
      Signed-off-by: default avatarVlad Yasevich <vyasevic@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      14af9963
    • Vlad Yasevich's avatar
      bonding: Turn on IFF_UNICAST_FLT on bond devices · c565b488
      Vlad Yasevich authored
      
      
      Bonding devices manage the unicast filters of the underlying
      interfaces, but do not turn on IFF_UNICAST_FLT flag.  Thus
      anytime a unicast address is added to the bond, the bond is
      places in promiscuous mode.
      
      Turn on IFF_UNICAST_FLT on the bond device so that the bond does
      not go into promiscuous mode needlesly.  If an underlying device
      does not support unicast filtering, that device will automaticall
      enter promiscuous mode already.
      
      Signed-off-by: default avatarVlad Yasevich <vyasevic@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c565b488
  9. 22 May, 2014 2 commits
  10. 16 May, 2014 9 commits
  11. 14 May, 2014 1 commit
  12. 08 May, 2014 1 commit
  13. 24 Apr, 2014 3 commits
    • Mahesh Bandewar's avatar
      bonding: Add tlb_dynamic_lb parameter for tlb mode · e9f0fb88
      Mahesh Bandewar authored
      
      
      The aggresive load balancing causes packet re-ordering as active
      flows are moved from a slave to another within the group. Sometime
      this aggresive lb is not necessary if the preference is for less
      re-ordering. This parameter if used with value "0" disables
      this dynamic flow shuffling minimizing packet re-ordering. Of course
      the side effect is that it has to live with the static load balancing
      that the hashing distribution provides. This impact is less severe if
      the correct xmit-hashing-policy is used for the tlb setup.
      
      The default value of the parameter is set to "1" mimicing the earlier
      behavior.
      
      Ran the netperf test with 200 stream for 1 min between two hosts with
      4x1G trunk (xmit-lb mode with xmit-policy L3+4) before and after these
      changes. Following was the command used for those 200 instances -
      
          netperf -t TCP_RR -l 60 -s 5 -H <host> -- -r81920,81920
      
      Transactions per second:
          Before change: 1,367.11
          After  change: 1,470.65
      
      Change-Id: Ie3f75c77282cf602e83a6e833c6eb164e72a0990
      Signed-off-by: default avatarMahesh Bandewar <maheshb@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e9f0fb88
    • Mahesh Bandewar's avatar
      bonding: Added bond_tlb_xmit() for tlb mode. · f05b42ea
      Mahesh Bandewar authored
      
      
      Re-organized the xmit function for the lb mode separating tlb xmit
      from the alb mode. This will enable use of the hashing policies
      like 802.3ad mode. Also extended use of xmit-hash-policy to tlb mode.
      
      Now the tlb-mode defaults to BOND_XMIT_POLICY_LAYER2 if the xmit policy
      module parameter is not set (just like 802.3ad, or Xor mode).
      
      Change-Id: I140257403d272df75f477b380207338d0f04963e
      Signed-off-by: default avatarMahesh Bandewar <maheshb@google.com>
      Acked-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f05b42ea
    • Mahesh Bandewar's avatar
      bonding: Changed hashing function to just provide hash · ee62e868
      Mahesh Bandewar authored
      
      
      Modified the hash function to return just hash separating from the
      modulo operation that can be performed by the caller. This is to
      make way for the tlb mode to use the same hashing policies that
      are used in the 802.3ad and Xor mode.
      
      Change-Id: I276609e87e0ca213c4d1b17b79c5e0b0f3d0dd6f
      Signed-off-by: default avatarMahesh Bandewar <maheshb@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ee62e868
  14. 11 Apr, 2014 1 commit
  15. 04 Apr, 2014 1 commit
    • zheng.li's avatar
      bonding: Inactive slaves should keep inactive flag's value · 7db8df02
      zheng.li authored
      
      
      bond_open is not setting the inactive flag correctly for some modes (alb and
      tlb), resulting in error behavior if the bond has been administratively set
      down and then back up. This effect should not occur when slaves are added while
      the bond is up; it's something that only happens after a down/up bounce of the
      bond.
      
      For example, in bond tlb or alb mode, domu send some ARP request which go out
      from dom0 bond's active slave, then the ARP broadcast request packets go back to
      inactive slave from switch, because the inactive slave's inactive flag is zero,
      kernel will receive the packets and pass them to bridge that cause dom0's bridge
      map domu's MAC address to port of bond, bridge should map domu's MAC to port of
      vif.
      
      Signed-off-by: default avatarZheng Li <zheng.x.li@oracle.com>
      Signed-off-by: default avatarJay Vosburgh <j.vosburgh@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7db8df02
  16. 29 Mar, 2014 1 commit
  17. 26 Mar, 2014 4 commits
    • dingtianhong's avatar
      bonding: add net_ratelimt to avoid spam in arp interval · 4873ac3c
      dingtianhong authored
      
      
      Remove the unnecessary log and add net_ratelimit to the others, in order to
      avoid spam the log.
      
      Cc: Joe Perches <joe@perches.com>
      Cc: Jay Vosburgh <fubar@us.ibm.com>
      Cc: Veaceslav Falico <vfalico@redhat.com>
      Cc: Andy Gospodarek <andy@greyhouse.net>
      Signed-off-by: default avatarDing Tianhong <dingtianhong@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4873ac3c
    • dingtianhong's avatar
      bonding: support QinQ for bond arp interval · fbd929f2
      dingtianhong authored
      
      
      The bond send arp request to indicate that the slave is active, and if the bond dev
      is a vlan dev, it will set the vlan tag in skb to notice the vlan group, but the
      bond could only send a skb with 802.1q proto, not support for QinQ.
      
      So add outer tag for lower vlan tag and inner tag for upper vlan tag to support QinQ,
      The new skb will be consist of two vlan tag just like this:
      
      dst mac | src mac | outer vlan tag | inner vlan tag | data | .....
      
      If We don't need QinQ, the inner vlan tag could be set to 0 and use outer vlan tag
       as a normal vlan group.
      
      Using "ip link" to configure the bond for QinQ and add test log:
      
      ip link add link bond0  bond0.20 type vlan proto 802.1ad id 20
      ip link add link bond0.20  bond0.20.200 type vlan proto 802.1q id 200
      
      ifconfig bond0.20 11.11.20.36/24
      ifconfig bond0.20.200 11.11.200.36/24
      
      echo +11.11.200.37 > /sys/class/net/bond0/bonding/arp_ip_target
      
      90:e2:ba:07:4a:5c (oui Unknown) > Broadcast, ethertype 802.1Q-QinQ (0x88a8),length 50: vlan 20, p 0,ethertype 802.1Q, vlan 200, p 0, ethertype ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 11.11.200.37 tell 11.11.200.36, length 28
      
      90:e2:ba:06:f9:86 (oui Unknown) > 90:e2:ba:07:4a:5c (oui Unknown), ethertype 802.1Q-QinQ (0x88a8), length 50: vlan 20, p 0, ethertype 802.1Q, vlan 200, p 0, ethertype ARP, Ethernet (len 6), IPv4 (len 4), Reply 11.11.200.37 is-at 90:e2:ba:06:f9:86 (oui Unknown), length 28
      
      v1->v2: remove the comment "TODO: QinQ?".
      
      Cc: Jay Vosburgh <fubar@us.ibm.com>
      Cc: Veaceslav Falico <vfalico@redhat.com>
      Cc: Andy Gospodarek <andy@greyhouse.net>
      Signed-off-by: default avatarDing Tianhong <dingtianhong@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fbd929f2
    • dingtianhong's avatar
      bonding: ratelimit pr_err() for bond xmit broadcast · 9152e26d
      dingtianhong authored
      
      
      It may spam if the system is out of the memory, add ratelimit for it.
      
      Signed-off-by: default avatarDing Tianhong <dingtianhong@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9152e26d
    • dingtianhong's avatar
      bonding: slight optimization for bond xmit path · 054bb880
      dingtianhong authored
      
      
      Add unlikely() micro to the unlikely conditions in the bond
      xmit path for slight optimization.
      
      Signed-off-by: default avatarDing Tianhong <dingtianhong@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      054bb880
  18. 12 Mar, 2014 1 commit
  19. 06 Mar, 2014 2 commits