Date: Tue, 13 Sep 2016 17:44:56 +0100 From: Hannes Mehnert <hannes@mehnert.org> To: "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net> Cc: FreeBSD Net <freebsd-net@freebsd.org> Subject: Re: dupliceated icmp echo request Message-ID: <eb178820-f3bb-c510-db6a-03a2b172d279@mehnert.org> In-Reply-To: <8F50E1D1-B17A-4C4C-84E9-60693E637583@lists.zabbadoz.net> References: <ed0692b4-59a8-a918-90d0-2eb204884c98@mehnert.org> <8F50E1D1-B17A-4C4C-84E9-60693E637583@lists.zabbadoz.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On 13/09/2016 17:21, Bjoern A. Zeeb wrote: > On 13 Sep 2016, at 15:39, Hannes Mehnert wrote: >> while doing some network testing, I discovered that my FreeBSD (r304285, >> but likely earlier + released ones as well) sends out two >> (bytewise-)identical ICMP echo requests shortly after each other when I >> ping the broadcast (IPv4) address on an interface [tested with: >> tap,em,iwm]. >> >> This behaviour does not meet my expectations - is there any specific >> reason for this behaviour; it behaves well (sending out a single ICMP >> echo request) if I ping a unicast host. > > Asking for a command line seems strange; but given I am replying, is > there any delay between the two packets? When observing using another physical host on the same network, I can only see a single ICMP echo request. running `tcpdump -i em0 icmp` (on the host doing a `ping 128.232.110.255`): 17:34:52.588149 IP 128.232.110.111 > 128.232.110.255: ICMP echo request, id 21589, seq 0, length 64 17:34:52.588167 IP 128.232.110.111 > 128.232.110.255: ICMP echo request, id 21589, seq 0, length 64 17:34:52.588676 IP 128.232.110.97 > 128.232.110.111: ICMP echo reply, id 21589, seq 0, length 64 17:34:52.589183 IP 128.232.110.4 > 128.232.110.111: ICMP echo reply, id 21589, seq 0, length 64 17:34:52.592620 IP 128.232.110.2 > 128.232.110.111: ICMP echo reply, id 21589, seq 0, length 64 kdump of the ping process: 21844 ping GIO fd 1 wrote 54 bytes "PING 128.232.110.255 (128.232.110.255): 56 data bytes " 21844 ping RET write 54/0x36 21844 ping CALL sigaction(SIGINT,0x7fffffffea00,0) 21844 ping RET sigaction 0 21844 ping CALL sigaction(SIG29,0x7fffffffea00,0) 21844 ping RET sigaction 0 21844 ping CALL sendto(0x3,0x6085b4,0x40,0,0,0) 21844 ping GIO fd 3 wrote 64 bytes 0x0000 0800 3cb8 5455 0000 57d8 2aac 0008 f962 0809 0a0b 0c0d 0e0f |..<.TU..W.*....b........| 0x0018 1011 1213 1415 1617 1819 1a1b 1c1d 1e1f 2021 2223 2425 2627 |................ !"#$%&'| 0x0030 2829 2a2b 2c2d 2e2f 3031 3233 3435 3637 |()*+,-./01234567| 21844 ping RET sendto 64/0x40 21844 ping CALL select(0x5,0x7ffffffee6b0,0,0,0x7ffffffee730) 21844 ping RET select 1 21844 ping CALL recvmsg(0x4,0x7fffffffea20,0) 21844 ping GIO fd 4 read 84 bytes 0x0000 4500 0054 f6f1 0000 4001 a478 80e8 6e6f 80e8 6eff 0800 3cb8 |E..T....@..x..no..n...<.| 0x0018 5455 0000 57d8 2aac 0008 f962 0809 0a0b 0c0d 0e0f 1011 1213 |TU..W.*....b............| 0x0030 1415 1617 1819 1a1b 1c1d 1e1f 2021 2223 2425 2627 2829 2a2b |............ !"#$%&'()*+| 0x0048 2c2d 2e2f 3031 3233 3435 3637 |,-./01234567| 21844 ping STRU struct sockaddr { AF_INET, 128.232.110.111:0 } 21844 ping RET recvmsg 84/0x54 21844 ping CALL select(0x5,0x7ffffffee6b0,0,0,0x7ffffffee730) 21844 ping RET select 1 21844 ping CALL recvmsg(0x4,0x7fffffffea20,0) 21844 ping GIO fd 4 read 84 bytes 0x0000 4500 0054 655b 0000 4001 36ad 80e8 6e61 80e8 6e6f 0000 44b8 |E..Te[..@.6...na..no..D.| 0x0018 5455 0000 57d8 2aac 0008 f962 0809 0a0b 0c0d 0e0f 1011 1213 |TU..W.*....b............| 0x0030 1415 1617 1819 1a1b 1c1d 1e1f 2021 2223 2425 2627 2829 2a2b |............ !"#$%&'()*+| 0x0048 2c2d 2e2f 3031 3233 3435 3637 |,-./01234567| 21844 ping STRU struct sockaddr { AF_INET, 128.232.110.97:0 } 21844 ping RET recvmsg 84/0x54 21844 ping CALL write(0x1,0x801a39000,0x3e) 21844 ping GIO fd 1 wrote 62 bytes "64 bytes from 128.232.110.97: icmp_seq=0 ttl=64 time=0.555 ms " 21844 ping RET write 62/0x3e 21844 ping CALL select(0x5,0x7ffffffee6b0,0,0,0x7ffffffee730) 21844 ping RET select 1 21844 ping CALL recvmsg(0x4,0x7fffffffea20,0) 21844 ping GIO fd 4 read 84 bytes 0x0000 4500 0054 f6f1 0000 ff01 e672 80e8 6e04 80e8 6e6f 0000 44b8 |E..T.......r..n...no..D.| 0x0018 5455 0000 57d8 2aac 0008 f962 0809 0a0b 0c0d 0e0f 1011 1213 |TU..W.*....b............| 0x0030 1415 1617 1819 1a1b 1c1d 1e1f 2021 2223 2425 2627 2829 2a2b |............ !"#$%&'()*+| 0x0048 2c2d 2e2f 3031 3233 3435 3637 |,-./01234567| 21844 ping STRU struct sockaddr { AF_INET, 128.232.110.4:0 } 21844 ping RET recvmsg 84/0x54 21844 ping CALL write(0x1,0x801a39000,0x45) 21844 ping GIO fd 1 wrote 69 bytes "64 bytes from 128.232.110.4: icmp_seq=0 ttl=255 time=1.059 ms (DUP!) " 21844 ping RET write 69/0x45 21844 ping CALL select(0x5,0x7ffffffee6b0,0,0,0x7ffffffee730) 21844 ping RET select 1 21844 ping CALL recvmsg(0x4,0x7fffffffea20,0) 21844 ping GIO fd 4 read 84 bytes 0x0000 4500 0054 f6f1 0000 ff01 e674 80e8 6e02 80e8 6e6f 0000 44b8 |E..T.......t..n...no..D.| 0x0018 5455 0000 57d8 2aac 0008 f962 0809 0a0b 0c0d 0e0f 1011 1213 |TU..W.*....b............| 0x0030 1415 1617 1819 1a1b 1c1d 1e1f 2021 2223 2425 2627 2829 2a2b |............ !"#$%&'()*+| 0x0048 2c2d 2e2f 3031 3233 3435 3637 |,-./01234567| 21844 ping STRU struct sockaddr { AF_INET, 128.232.110.2:0 } 21844 ping RET recvmsg 84/0x54 21844 ping CALL write(0x1,0x801a39000,0x45) 21844 ping GIO fd 1 wrote 69 bytes "64 bytes from 128.232.110.2: icmp_seq=0 ttl=255 time=4.497 ms (DUP!) " 21844 ping RET write 69/0x45 21844 ping CALL select(0x5,0x7ffffffee6b0,0,0,0x7ffffffee730) 21844 ping RET select -1 errno 4 Interrupted system call hannes
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?eb178820-f3bb-c510-db6a-03a2b172d279>