1. 14 Jul, 2010 3 commits
  2. 13 Jul, 2010 3 commits
  3. 12 Jul, 2010 2 commits
  4. 09 Jul, 2010 1 commit
  5. 08 Jul, 2010 3 commits
  6. 07 Jul, 2010 5 commits
  7. 06 Jul, 2010 3 commits
  8. 04 Jul, 2010 1 commit
  9. 03 Jul, 2010 12 commits
  10. 02 Jul, 2010 3 commits
  11. 01 Jul, 2010 1 commit
  12. 30 Jun, 2010 3 commits
    • Flavio Leitner's avatar
      bonding: check if clients MAC addr has changed · 42d782ac
      Flavio Leitner authored
      When two systems using bonding devices in adaptive load
      balancing (ALB) communicates with each other, an endless
      ping-pong of ARP replies starts between these two systems.
      
      What happens? In the ALB mode, bonding driver keeps track
      of each client connected in a hash table, so it can do the
      receive load balancing (RLB). This hash table is updated
      when an ARP reply is received, then it scans for the client
      entry, updates its MAC address and flag it to be announced
      later. Therefore, two seconds later, the alb monitor runs
      and send for each updated client entry two ARP replies
      updating this specific client. The same process happens on
      the receiving system, causing the endless ping-pong of arp
      replies.
      
      See more information including the relevant functions below:
      
         System 1                          System 2
          bond0                             bond0
      
         ping <system2>
          ARP request  --------->
                                 <--------- ARP reply
      
      +->rlb_arp_recv  <---------------------+   <--- loop begins
      |  rlb_update_entry_from_arp           |
      |  client_info->ntt = 1;               |
      |  bond_info->rx_ntt = 1;              |
      |                                      |
      |         <communication succeed>      |
      |                                      |
      |  bond_alb_monitor                    |
      |  rlb_update_rx_clients               |
      |  rlb_update_client                   |
      |  arp_create(ARPOP_REPLY)             |
      |   send ARP reply -------------->     V
      |   send ARP reply -------------->
      |                               rlb_arp_recv
      |                               rlb_update_entry_from_arp
      |                               client_info->ntt = 1;
      |                               bond_info->rx_ntt = 1;
      |                           < snipped, same as in system 1>
      +-------           <-------------- send ARP reply
                         <-------------- send ARP reply
      
      Besides the unneeded networking traffic, this loop breaks
      a cluster because a backup system can't take over the IP
      address. There is always one system sending an ARP reply
      poisoning the network.
      
      This patch fixes the problem adding a check for the MAC
      address before updating it. Thus, if the MAC address didn't
      change, there is no need to update neither to announce it later.
      Signed-off-by: default avatarFlavio Leitner <fleitner@redhat.com>
      Signed-off-by: default avatarJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      42d782ac
    • David Howells's avatar
      Bluetooth: Fix abuse of the preincrement operator · dd1589a4
      David Howells authored
      Fix abuse of the preincrement operator as detected when building with gcc
      4.6.0:
      
      	 CC [M]  drivers/bluetooth/hci_bcsp.o
      	drivers/bluetooth/hci_bcsp.c: In function 'bcsp_prepare_pkt':
      	drivers/bluetooth/hci_bcsp.c:247:20: warning: operation on 'bcsp->msgq_txseq' may be undefined
      Reported-by: default avatarJustin P. Mattock <justinmattock@gmail.com>
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Acked-by: default avatarGustavo F. Padovan <padovan@profusion.mobi>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      dd1589a4
    • Saeed Bishara's avatar
      mv643xx_eth: use sw csum for big packets · 9b2c2ff7
      Saeed Bishara authored
      Some controllers (KW, Dove) limits the TX IP/layer4 checksum offloading to a max size.
      Signed-off-by: default avatarSaeed Bishara <saeed@marvell.com>
      Acked-by: default avatarLennert Buytenhek <buytenh@wantstofly.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9b2c2ff7