ping: set not only IP_TTL, but also IP_MULTICAST_TTL

Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
This commit is contained in:
Denys Vlasenko 2010-11-29 12:07:12 +01:00
parent 8027a202a8
commit 3c8799b8a4

View File

@ -675,9 +675,11 @@ static void ping4(len_and_sockaddr *lsa)
sockopt = (datalen * 2) + 7 * 1024; /* giving it a bit of extra room */
setsockopt(pingsock, SOL_SOCKET, SO_RCVBUF, &sockopt, sizeof(sockopt));
if (opt_ttl != 0)
//setsockopt(pingsock, IPPROTO_IP, IP_MULTICAST_TTL, &opt_ttl, sizeof(opt_ttl));
if (opt_ttl != 0) {
setsockopt(pingsock, IPPROTO_IP, IP_TTL, &opt_ttl, sizeof(opt_ttl));
/* above doesnt affect packets sent to bcast IP, so... */
setsockopt(pingsock, IPPROTO_IP, IP_MULTICAST_TTL, &opt_ttl, sizeof(opt_ttl));
}
signal(SIGINT, print_stats_and_exit);