That doesn't seem to fix our problem.
We installed kernel 3.10.42
# uname -a
Linux SRV-0-2 3.10.42-1.el6.elrepo.x86_64 #1 SMP Sat Jun 7 20:16:58 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux
And ip version 3.10 (iproute2-ss130716)
It doesn't seem to be possible to disable the spoofchk parameter for the physical interface. The bond0 interface is a bond0 over the physical funtions of eth0 and eth1.
I attempted to disable spoofchk on all virtual functions, but that didn't have any effect.
for ((i=0;$i<64;i++)); do ./ip link set dev eth0 vf $i spoofchk off; done
[dia6-hm_7-root@SRV-0-2 ~]# ./ip link show dev eth0
2: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 2000 qdisc mq master bond0 state UP mode DEFAULT qlen 1000
link/ether 38:ea:a7:92:76:30 brd ff:ff:ff:ff:ff:ff
vf 0 MAC 00:00:00:00:00:00, spoof checking off
vf 1 MAC 00:00:00:00:00:00, spoof checking off
vf 2 MAC 00:00:00:00:00:00, spoof checking off
vf 3 MAC 00:00:00:00:00:00, spoof checking off.
It's still possible to make the ping work by creating a vlan interface on one of the VF of eth0. (ifup eth64.3001 makes the ping work, ifdown eth64.3001 makes the ping stop).