diff options
author | Denys Vlasenko <dvlasenk@redhat.com> | 2010-11-29 12:07:12 +0100 |
---|---|---|
committer | Denys Vlasenko <dvlasenk@redhat.com> | 2010-11-29 12:07:12 +0100 |
commit | 3c8799b8a45def567705bfd07b8745e99d5f2dd9 (patch) | |
tree | 0248f53ec6dd69e0ac07491dd64e11cb2d2a2c60 | |
parent | 8027a202a89b31b33c94eae29895f14ceceef5af (diff) | |
download | busybox-w32-3c8799b8a45def567705bfd07b8745e99d5f2dd9.tar.gz busybox-w32-3c8799b8a45def567705bfd07b8745e99d5f2dd9.tar.bz2 busybox-w32-3c8799b8a45def567705bfd07b8745e99d5f2dd9.zip |
ping: set not only IP_TTL, but also IP_MULTICAST_TTL
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
-rw-r--r-- | networking/ping.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/networking/ping.c b/networking/ping.c index 8571d179b..7f74c26fa 100644 --- a/networking/ping.c +++ b/networking/ping.c | |||
@@ -675,9 +675,11 @@ static void ping4(len_and_sockaddr *lsa) | |||
675 | sockopt = (datalen * 2) + 7 * 1024; /* giving it a bit of extra room */ | 675 | sockopt = (datalen * 2) + 7 * 1024; /* giving it a bit of extra room */ |
676 | setsockopt(pingsock, SOL_SOCKET, SO_RCVBUF, &sockopt, sizeof(sockopt)); | 676 | setsockopt(pingsock, SOL_SOCKET, SO_RCVBUF, &sockopt, sizeof(sockopt)); |
677 | 677 | ||
678 | if (opt_ttl != 0) | 678 | if (opt_ttl != 0) { |
679 | //setsockopt(pingsock, IPPROTO_IP, IP_MULTICAST_TTL, &opt_ttl, sizeof(opt_ttl)); | ||
680 | setsockopt(pingsock, IPPROTO_IP, IP_TTL, &opt_ttl, sizeof(opt_ttl)); | 679 | setsockopt(pingsock, IPPROTO_IP, IP_TTL, &opt_ttl, sizeof(opt_ttl)); |
680 | /* above doesnt affect packets sent to bcast IP, so... */ | ||
681 | setsockopt(pingsock, IPPROTO_IP, IP_MULTICAST_TTL, &opt_ttl, sizeof(opt_ttl)); | ||
682 | } | ||
681 | 683 | ||
682 | signal(SIGINT, print_stats_and_exit); | 684 | signal(SIGINT, print_stats_and_exit); |
683 | 685 | ||