BTW, I was using this version: [controller-VMware-421f4145bd167fb7-1b45bb987799c3bb:~]# fping -v fping: Version 3.13 fping: comments to da...@schweikert.ch
On Friday, May 5, 2017 at 11:45:05 AM UTC-7, Zhe Wang wrote: > > I found fping very handy when I need to ping lots of IP addresses > concurrently, thank you for providing this great tool! > > Recently I noticed an issue when I want to bind to a particular interface > using fping. > > My server machine has multiple interfaces, you can see that if I use > "ping" with the same binding (eth2), it works. But if I use fping binding > to eth2, it doesn't work. (claim unreachable). And then if I remove "-I > eth2" from fping command line, it works again! > I am wondering if there is a bug when working with the interface binding > for fping since "ping" works with eth2 binding.. > This is fairly easily reproducible: on my local machine, if I use binding > to ping the ip address configued on that interface, it will say > "unreachable". I am wondering why Linux system respond to fping and ping > differently? Thanks! > > ============================================= > [controller-VMware-421f4145bd167fb7-1b45bb987799c3bb:~]# ifconfig eth2 > eth2 Link encap:Ethernet HWaddr 00:50:56:9F:79:8E > inet addr:10.80.69.110 Bcast:10.80.255.255 Mask:255.255.0.0 > UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 > RX packets:18101440 errors:0 dropped:35509 overruns:0 frame:0 > TX packets:7480471 errors:0 dropped:0 overruns:0 carrier:0 > collisions:0 txqueuelen:1000 > RX bytes:7763913987 (7.2 GiB) TX bytes:5479977217 (5.1 GiB) > > [controller-VMware-421f4145bd167fb7-1b45bb987799c3bb:~]# ifconfig eth3 > eth3 Link encap:Ethernet HWaddr 00:50:56:9F:B3:8B > inet addr:10.80.69.111 Bcast:10.80.255.255 Mask:255.255.0.0 > UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 > RX packets:17347650 errors:0 dropped:35516 overruns:0 frame:0 > TX packets:9847398 errors:0 dropped:0 overruns:0 carrier:0 > collisions:0 txqueuelen:1000 > RX bytes:8144976809 (7.5 GiB) TX bytes:6512479353 (6.0 GiB) > > ==> fping doesn't work with "-I eth2" > [controller-VMware-421f4145bd167fb7-1b45bb987799c3bb:~]# fping -I eth2 > 10.80.69.110 > 10.80.69.110 is unreachable > [controller-VMware-421f4145bd167fb7-1b45bb987799c3bb:~]# fping -I eth2 > 10.80.69.111 > 10.80.69.111 is unreachable > ===> fping works without "-I eth2" > [controller-VMware-421f4145bd167fb7-1b45bb987799c3bb:~]# fping > 10.80.69.111 > 10.80.69.111 is alive > [controller-VMware-421f4145bd167fb7-1b45bb987799c3bb:~]# fping > 10.80.69.110 > 10.80.69.110 is alive > > ==> ping works either way: > [controller-VMware-421f4145bd167fb7-1b45bb987799c3bb:~]# ping -I eth2 > 10.80.69.110 > PING 10.80.69.110 (10.80.69.110) from 10.80.69.110 eth2: 56(84) bytes of > data. > 64 bytes from 10.80.69.110: icmp_seq=1 ttl=64 time=0.019 ms > 64 bytes from 10.80.69.110: icmp_seq=2 ttl=64 time=0.035 ms > ^C > --- 10.80.69.110 ping statistics --- > 2 packets transmitted, 2 received, 0% packet loss, time 999ms > rtt min/avg/max/mdev = 0.019/0.027/0.035/0.008 ms > [controller-VMware-421f4145bd167fb7-1b45bb987799c3bb:~]# ping 10.80.69.111 > PING 10.80.69.111 (10.80.69.111) 56(84) bytes of data. > 64 bytes from 10.80.69.111: icmp_seq=1 ttl=64 time=0.024 ms > ^C > --- 10.80.69.111 ping statistics --- > 1 packets transmitted, 1 received, 0% packet loss, time 0ms > [controller-VMware-421f4145bd167fb7-1b45bb987799c3bb:~]# ping -I eth2 > 10.80.69.110 > PING 10.80.69.110 (10.80.69.110) from 10.80.69.110 eth2: 56(84) bytes of > data. > 64 bytes from 10.80.69.110: icmp_seq=1 ttl=64 time=0.022 ms > ^C > --- 10.80.69.110 ping statistics --- > 1 packets transmitted, 1 received, 0% packet loss, time 0ms > rtt min/avg/max/mdev = 0.022/0.022/0.022/0.000 ms > [controller-VMware-421f4145bd167fb7-1b45bb987799c3bb:~]# ping 10.80.69.110 > PING 10.80.69.110 (10.80.69.110) 56(84) bytes of data. > 64 bytes from 10.80.69.110: icmp_seq=1 ttl=64 time=0.020 ms > ^C > --- 10.80.69.110 ping statistics --- > 1 packets transmitted, 1 received, 0% packet loss, time 0ms > rtt min/avg/max/mdev = 0.020/0.020/0.020/0.000 ms > > ============= > strace shows "fping -I eth2 " indeed didn't get response back: > sendto(3, > "\10\0\254\206Ky\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., > 64, 0, {sa_family=AF_INET, sin_port=htons(0), > sin_addr=inet_addr("10.80.69.111")}, 16) = 64 > select(4, [3], [], NULL, {0, 500060}) = 0 (Timeout) > sendto(3, > "\10\0\254\205Ky\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., > 64, 0, {sa_family=AF_INET, sin_port=htons(0), > sin_addr=inet_addr("10.80.69.111")}, 16) = 64 > select(4, [3], [], NULL, {0, 750000}) = 0 (Timeout) > ==== > While ping get response back. > sendmsg(3, {msg_name(16)={sa_family=AF_INET, sin_port=htons(0), > sin_addr=inet_addr("10.80.69.111")}, > msg_iov(1)=[{"\10\0\346\6L<\0\1\266\307\fY\0\0\0\0;\310\10\0\0\0\0\0\20\21\22\23\24\25\26\27"..., > > 64}], msg_controllen=32, {cmsg_len=28, cmsg_level=SOL_IP, cmsg_type=, ...}, > msg_flags=0}, 0) = 64 > recvmsg(3, {msg_name(16)={sa_family=AF_INET, sin_port=htons(0), > sin_addr=inet_addr("10.80.69.111")}, > msg_iov(1)=[{"E\0\0T\23\v\0\0@\1\310!\nPEo\nPEn\0\0\356\6L<\0\1\266\307\fY"..., > > 192}], msg_controllen=32, {cmsg_len=32, cmsg_level=SOL_SOCKET, > cmsg_type=0x1d /* SCM_??? */, ...}, msg_flags=0}, 0) = 84 > write(1, "64 bytes from 10.80.69.111: icmp"..., 6064 bytes from > 10.80.69.111: icmp_seq=1 ttl=64 time=0.106 ms > > -- You received this message because you are subscribed to the Google Groups "fping-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to fping-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.