1. 02 Apr, 2012 11 commits
  2. 01 Apr, 2012 27 commits
  3. 29 Mar, 2012 2 commits
    • zhuangfeiran@ict.ac.cn's avatar
      x86 bpf_jit: fix a bug in emitting the 16-bit immediate operand of AND · 1d24fb36
      zhuangfeiran@ict.ac.cn authored
      When K >= 0xFFFF0000, AND needs the two least significant bytes of K as
      its operand, but EMIT2() gives it the least significant byte of K and
      0x2. EMIT() should be used here to replace EMIT2().
      Signed-off-by: default avatarFeiran Zhuang  <zhuangfeiran@ict.ac.cn>
      Acked-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1d24fb36
    • Weiping Pan's avatar
      bonding: emit event when bonding changes MAC · 7d26bb10
      Weiping Pan authored
      When a bonding device is configured with fail_over_mac=active,
      we expect to see the MAC address of the new active slave as the source MAC
      address after failover. But we see that the source MAC address is the MAC
      address of previous active slave.
      
      Emit NETDEV_CHANGEADDR event when bonding changes its MAC address, in order
      to let arp_netdev_event flush neighbour cache and route cache.
      
      How to reproduce this bug ?
      
                             -----------hostB----------------
      hostA ----- switch ---|-- eth0--bond0(192.168.100.2/24)|
      (192.168.100.1/24  \--|-- eth1-/                       |
                             --------------------------------
      
      1 on hostB,
      modprobe bonding mode=1 miimon=500 fail_over_mac=active downdelay=1000
      num_grat_arp=1
      ifconfig bond0 192.168.100.2/24 up
      ifenslave bond0 eth0
      ifenslave bond0 eth1
      
      then eth0 is the active slave, and MAC of bond0 is MAC of eth0.
      
      2 on hostA, ping 192.168.100.2
      
      3 on hostB,
      tcpdump -i bond0 -p icmp -XXX
      you will see bond0 uses MAC of eth0 as source MAC in icmp reply.
      
      4 on hostB,
      ifconfig eth0 down
      tcpdump -i bond0 -p icmp -XXX (just keep it running in step 3)
      you will see first bond0 uses MAC of eth1 as source MAC in icmp
      reply, then it will use MAC of eth0 as source MAC.
      Signed-off-by: default avatarWeiping Pan <wpan@redhat.com>
      Signed-off-by: default avatarJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7d26bb10