RE: "-w deadline" bug in ping/iputils- i will provide fix if you can tell me where owner of iputils is. Thanks.

5 messages, 2 authors, 2012-01-10 · open the first message on its own page

RE: "-w deadline" bug in ping/iputils- i will provide fix if you can tell me where owner of iputils is. Thanks.

From: Cloutier, Joseph (Joseph) <hidden>
Date: 2012-01-04 20:57:01


-----Original Message-----
From: Cloutier, Joseph (Joseph)
Sent: Wednesday, January 04, 2012 3:55 PM
To: 'Linus Torvalds'; 'netdev@vger.kernel.org'
Cc: 'torvalds@osdl.org'
Subject: RE: "-w deadline" bug in ping/iputils- i will provide fix if
you can tell me where owner of iputils is. Thanks.


netdev@vger.kernel.org.

I have made a fix for the "-w deadline" issue to iputils-s20101006.tar.bz2.  There are 4 places in the code with the fix, identified by my name, Joe Cloutier- ALU.

There are 2 bugs fixed:
*       For flood pings if the "-w" option is set then more pings than "-c x" are sent out.
*       The "-w x" timer should be set after he last "-c x" ping is sent out.

Linux flood ping is an invaluable tool for us to use when trouble shooting wireless network problems.  It is a very fast way to verify things like PVC allocations, duplex miss-matches, fiber problems, egress queue settins, etc.

I have modified 2 ping versions (one an older one prior to the shared library change many years ago, and then Redhat 8.0 release), but my Management does not my copies released to our Customers because the code is "unsupported".

If you would accept these changes then I can direct our Customers to use the official Linux flood ping option.

I have tested the code using Linux release 14 and the latest gcc compiler.  It is doing what it should now.

Thanks, Joe Cloutier

Created with tar cjvf ...

-----Original Message-----
From: linus971@gmail.com [mailto:linus971@gmail.com]On Behalf Of Linus
Torvalds
Sent: Thursday, December 08, 2011 8:49 PM
To: Cloutier, Joseph (Joseph)
Cc: torvalds@osdl.org
Subject: Re: "-w deadline" bug in ping/iputils- i will provide fix if
you can tell me where owner of iputils is. Thanks.


On Thu, Dec 8, 2011 at 1:54 PM, Cloutier, Joseph (Joseph)
[off-list ref] wrote:
See

  http://www.skbuff.net/iputils/

afaik,

               Linus

Re: "-w deadline" bug in ping/iputils- i will provide fix if you can tell me where owner of iputils is. Thanks.

From: YOSHIFUJI Hideaki <hidden>
Date: 2012-01-09 15:45:16

Cloutier, Joseph (Joseph) wrote:

-----Original Message-----
From: Cloutier, Joseph (Joseph)
Sent: Wednesday, January 04, 2012 3:55 PM
To: 'Linus Torvalds'; 'netdev@vger.kernel.org'
Cc: 'torvalds@osdl.org'
Subject: RE: "-w deadline" bug in ping/iputils- i will provide fix if
you can tell me where owner of iputils is. Thanks.


netdev@vger.kernel.org.

I have made a fix for the "-w deadline" issue to iputils-s20101006.tar.bz2.  There are 4 places in the code with the fix, identified by my name, Joe Cloutier- ALU.

There are 2 bugs fixed:
*       For flood pings if the "-w" option is set then more pings than "-c x" are sent out.
*       The "-w x" timer should be set after he last "-c x" ping is sent out.

Linux flood ping is an invaluable tool for us to use when trouble shooting wireless network problems.  It is a very fast way to verify things like PVC allocations, duplex miss-matches, fiber problems, egress queue settins, etc.

I have modified 2 ping versions (one an older one prior to the shared library change many years ago, and then Redhat 8.0 release), but my Management does not my copies released to our Customers because the code is "unsupported".

If you would accept these changes then I can direct our Customers to use the official Linux flood ping option.

I have tested the code using Linux release 14 and the latest gcc compiler.  It is doing what it should now.

Thanks, Joe Cloutier

Created with tar cjvf ...
I could not find any patches/tarballs unfortunately.
Would you resend it please?  Thank you.

--yoshfuji

RE: "-w deadline" bug in ping/iputils- i will provide fix if you can tell me where owner of iputils is. Thanks.

From: Cloutier, Joseph (Joseph) <hidden>
Date: 2012-01-09 17:27:25

yoshfuji-  the only changes were to ping_common.c.  Here is the file.  Sorry, I rarely use tar and probably used the wrong command line parameters.

Also, I tried to test IPv6, but ran into build problems using the openssl libraries.  I finally just gave up. If you can send me some pointers on how go combine openssl builds with iputil builds I can test IPv6 for your also.

Thanks, Joe

PS- changes are bracketed by comments "deadline fix" and "end deadline fix".

-----Original Message-----
From: YOSHIFUJI Hideaki [mailto:yoshfuji@linux-ipv6.org]
Sent: Monday, January 09, 2012 10:45 AM
To: Cloutier, Joseph (Joseph)
Cc: 'Linus Torvalds'; 'netdev@vger.kernel.org'; 'torvalds@osdl.org';
YOSHIFUJI Hideaki
Subject: Re: "-w deadline" bug in ping/iputils- i will provide fix if
you can tell me where owner of iputils is. Thanks.


Cloutier, Joseph (Joseph) wrote:

-----Original Message-----
From: Cloutier, Joseph (Joseph)
Sent: Wednesday, January 04, 2012 3:55 PM
To: 'Linus Torvalds'; 'netdev@vger.kernel.org'
Cc: 'torvalds@osdl.org'
Subject: RE: "-w deadline" bug in ping/iputils- i will provide fix if
you can tell me where owner of iputils is. Thanks.


netdev@vger.kernel.org.

I have made a fix for the "-w deadline" issue to iputils-s20101006.tar.bz2.  There are 4 places in the code with the fix, identified by my name, Joe Cloutier- ALU.

There are 2 bugs fixed:
*       For flood pings if the "-w" option is set then more pings than "-c x" are sent out.
*       The "-w x" timer should be set after he last "-c x" ping is sent out.

Linux flood ping is an invaluable tool for us to use when trouble shooting wireless network problems.  It is a very fast way to verify things like PVC allocations, duplex miss-matches, fiber problems, egress queue settins, etc.

I have modified 2 ping versions (one an older one prior to the shared library change many years ago, and then Redhat 8.0 release), but my Management does not my copies released to our Customers because the code is "unsupported".

If you would accept these changes then I can direct our Customers to use the official Linux flood ping option.

I have tested the code using Linux release 14 and the latest gcc compiler.  It is doing what it should now.

Thanks, Joe Cloutier

Created with tar cjvf ...
I could not find any patches/tarballs unfortunately.
Would you resend it please?  Thank you.

--yoshfuji

Re: "-w deadline" bug in ping/iputils- i will provide fix if you can tell me where owner of iputils is. Thanks.

From: YOSHIFUJI Hideaki <hidden>
Date: 2012-01-10 03:54:50

Hello.

Cloutier, Joseph (Joseph) wrote:
I have made a fix for the "-w deadline" issue to iputils-s20101006.tar.bz2.  There are 4 places in the code with the fix, identified by my name, Joe Cloutier- ALU.
quoted
 There are 2 bugs fixed:
 *       For flood pings if the "-w" option is set then more pings than "-c x" are sent out.
 *       The "-w x" timer should be set after he last "-c x" ping is sent out.
Is this a real bug?

If both of -c COUNT and -w TIMEOUT are specified, ping exits by
timer _OR_ by the counter regardless of -f option.

If you want to ping really COUNT times, try -W TIMEOUT option.


... And please send your changes in the patch (or unified diff;
diff -u) format with your appropriate "sign-off" line, next time.


Thanks.

--yoshfuji

[PATCH] iputils-s20101006.tar.bz2: "-w deadline" starts after "-c" xmitted, and "-c" was exceeded for flood ping

From: Cloutier, Joseph (Joseph) <hidden>
Date: 2012-01-10 18:01:21

From: Joseph Cloutier <redacted>

2 changes to ping & ping6.  Only ping_common.c affected.
  1- changed "-w deadline" to start deadline after "-c" pings have been transmitted, instead of from start of run.
  2- fixed bug where > "-c" pings are sent in flood ping mode when "-w deadline" option is also used.
Reason:
  Linux flood ping is an invaluable tool to finding duplex bugs, fiber problems, NE config problems-  especially
  when used to trouble shoot wireless system backhaul problems.  ANY dropped pings are red flag indicators.
  Current ping problem is that it terminates sometimes when outstanding pings are in transit, giving FALSE red
  flags.  Change "-w deadline" to start after last "-c" transmitted ping allows cleanup of stragglers.  Second fix is
  when "-f" option is running, "-c" is not rigorously checked when generating pings  A more rigorous check was
  added.

Signed-off-by: Joseph Cloutier <redacted>

---
--- iputils-s20101006/ping_common.c.orig        2012-01-10 10:37:40.399719858 -0500
+++ iputils-s20101006/ping_common.c     2012-01-10 11:33:37.084662882 -0500
@@ -523,16 +523,6 @@ void setup(int icmp_sock)

        gettimeofday(&start_time, NULL);

-       if (deadline) {
-               struct itimerval it;
-
-               it.it_interval.tv_sec = 0;
-               it.it_interval.tv_usec = 0;
-               it.it_value.tv_sec = deadline;
-               it.it_value.tv_usec = 0;
-               setitimer(ITIMER_REAL, &it, NULL);
-       }
-
        if (isatty(STDOUT_FILENO)) {
                struct winsize w;
@@ -553,6 +543,7 @@ void main_loop(int icmp_sock, __u8 *pack
        int cc;
        int next;
        int polling;
+       int sig_deadline = 0;

        iov.iov_base = (char *)packet;
@@ -567,9 +558,22 @@ void main_loop(int icmp_sock, __u8 *pack
                /* Check for and do special actions. */
                if (status_snapshot)
                        status();
+               if((npackets == ntransmitted) && deadline &&
+                       (sig_deadline == 0)){
+                       sig_deadline++;
+                       struct itimerval it;
+
+                       it.it_interval.tv_sec = 0;
+                       it.it_interval.tv_usec = 0;
+                       it.it_value.tv_sec = deadline;
+                       it.it_value.tv_usec = 0;
+                       setitimer(ITIMER_REAL, &it, NULL);
+               }

                /* Send probes scheduled to this time. */
                do {
+                       if(npackets == ntransmitted)
+                               break;
                        next = pinger();
                        next = schedule_exit(next);
                } while (next <= 0);
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help