Bob, I am good with write side only since we can flip the ends (we normally have access to both ends we are using for testing).
I am a python newbie, but I will take your advice and look at it. I was not aware of the pyflows module. Thanks, Craig Reeves "Bridging Communications" 3520 Lorna Ridge Drive Hoover, AL 35216 v.(205) 829-1800 f. (205) 536-6333 c. (205) 332-5916 On Tue, Dec 1, 2020 at 2:54 PM Bob McMahon <bob.mcma...@broadcom.com> wrote: > This doesn't seem to require read side rate limiting. I think write side > would do it. The full-duplex may be useful too. Then debug options are > like: > > - iperf -c <customer host> --full-duplex -u --sweep-range=1m,10m,1m > --sweep-step 10 -i 1 -l 200 -S 0xc0 > - iperf -c <customer host> --reverse -u --sweep-range=1m,10m,1m > --sweep-step 10 -i 1 -l 200 -S 0xc0 > - iperf -c <customer host> --u --sweep-range=1m,10m,1m --sweep-step 10 > -i 1 -l 200 -S 0xc0 > > which should cover the to/fro directions as well as full duplex (as well > as set the access class to VOIP priority.) > > If you can get clock sync then --trip-times might be useful too. Man > page here <https://iperf2.sourceforge.io/iperf-manpage.html> > > I'd suggest writing a python script using pyflows > <https://sourceforge.net/p/iperf2/code/ci/master/tree/flows/> if you need > the full duplex case to be synchronized before each step or for > triangulated flows (iperf 2.0.14 does support --incr-dstip with -P but I > doubt this will work for your triangulation needs.) Using a python script, > one can then just use iperf and add the new features via python code. > > Note: Adding step sync over UDP with iperf isn't trivial - too much > handshaking required. It may require a control socket similar to iperf 3. > We've purposely tried to avoid a TCP socket for UDP tests in iperf 2 so > it's not something we'd want to do. > > The question becomes, should this all be a python script using flows or is > there enough value add in having iperf do it itself with the knowledge > there won't be any step synchronization? I see value to the sweep and step > when hunting near congestion vs congestion (buffer bloat) so I'll probably > add that to iperf itself. > > Bob > > On Tue, Dec 1, 2020 at 12:25 PM Craig Reeves <craigree...@ambit-llc.com> > wrote: > >> Bob, >> >> Good question. So here is a typical scenario. We have a VOIP server >> sitting inside of a customer's data center behind a firewall (e.g. >> Sonicwall, PfSense, Palo Alto, etc.). The phone server is sitting on a >> VLAN inside the customer's network and has a 1Gb NIC. The customer (most >> of ours are very large) has a 200Mb Internet pipe from an ISP. Depending >> on the concurrent call volume we ask the customer to do traffic shaping and >> guarantee us 10Mb of the 200Mb pipe. They call after working fine for 2 >> years and complain that they can't hear outside callers (UDP traffic from >> the carrier into the VOIP server is being disrupted). We will run iperf >> tests from an external location (like on our VM setup at our office, or a >> VM we have on AWS) and start shooting UDP packets in (usually starting at >> 1Mb with a small datagram and working our way up to the 10Mb limit). Most >> of the time we start seeing issues with dropped packets at 3Mb/s. This >> then forces us to look at the Firewall and see if it is overwhelmed doing >> the shaping. If not then we setup a "triangulation" where we do iperf >> tests with 2 separate external sources and see the times when both pipes >> show dropped packets. If we see consistent drops from 2 separate legs this >> invariable points to an upstream problem at the ISP. >> >> Hope that helps, >> >> Craig Reeves >> >> "Bridging Communications" >> 3520 Lorna Ridge Drive >> Hoover, AL 35216 >> v.(205) 829-1800 >> f. (205) 536-6333 >> c. (205) 332-5916 >> >> >> On Tue, Dec 1, 2020 at 2:08 PM Bob McMahon <bob.mcma...@broadcom.com> >> wrote: >> >>> For UDP, are you expecting the sweep applies both to client and server >>> at the same time? I guess I'm confused about UDP read size rate limiting. >>> If the client applies 100m and the server is read limited per a sweep there >>> is going to be drops. UDP doesn't flow control the client. >>> >>> Bob >>> >>> On Tue, Dec 1, 2020 at 11:42 AM Craig Reeves <craigree...@ambit-llc.com> >>> wrote: >>> >>>> Yes, but the percentage of drops is fairly low in a clean network pipe. >>>> >>>> Craig Reeves >>>> >>>> "Bridging Communications" >>>> 3520 Lorna Ridge Drive >>>> Hoover, AL 35216 >>>> v.(205) 829-1800 >>>> f. (205) 536-6333 >>>> c. (205) 332-5916 >>>> >>>> >>>> On Tue, Dec 1, 2020 at 1:39 PM Bob McMahon <bob.mcma...@broadcom.com> >>>> wrote: >>>> >>>>> Ok, read side limiting would trigger source flow control for TCP and >>>>> cause drops per UDP. Is that what you'd expect? >>>>> >>>>> Bob >>>>> >>>>> On Tue, Dec 1, 2020 at 11:36 AM Craig Reeves < >>>>> craigree...@ambit-llc.com> wrote: >>>>> >>>>>> Bob, >>>>>> >>>>>> Yes, we would need the Read side as well. Sometimes we see packets >>>>>> drop from a single direction (that is actually very common). Technically >>>>>> we could just flip the roles of the 2 ends so it isn't critical. >>>>>> >>>>>> Craig Reeves >>>>>> >>>>>> "Bridging Communications" >>>>>> 3520 Lorna Ridge Drive >>>>>> Hoover, AL 35216 >>>>>> v.(205) 829-1800 >>>>>> f. (205) 536-6333 >>>>>> c. (205) 332-5916 >>>>>> >>>>>> >>>>>> On Tue, Dec 1, 2020 at 1:32 PM Bob McMahon <bob.mcma...@broadcom.com> >>>>>> wrote: >>>>>> >>>>>>> Also, this would only be on the client. Iperf 2.0.14 supports both >>>>>>> write and read rate limiting via -b on the server as well as client. >>>>>>> Sweeps wouldn't be supported by the server (or on the read side.) >>>>>>> >>>>>>> Any issue with that, or, is there a read size need as well? >>>>>>> >>>>>>> Bob >>>>>>> >>>>>>> On Tue, Dec 1, 2020 at 11:29 AM Craig Reeves < >>>>>>> craigree...@ambit-llc.com> wrote: >>>>>>> >>>>>>>> Bob, >>>>>>>> >>>>>>>> Thanks, we'd be more than happy to test it out. Just let me know >>>>>>>> and I'll get my engineering group to check it out. >>>>>>>> >>>>>>>> Craig Reeves >>>>>>>> >>>>>>>> "Bridging Communications" >>>>>>>> 3520 Lorna Ridge Drive >>>>>>>> Hoover, AL 35216 >>>>>>>> v.(205) 829-1800 >>>>>>>> f. (205) 536-6333 >>>>>>>> c. (205) 332-5916 >>>>>>>> >>>>>>>> >>>>>>>> On Tue, Dec 1, 2020 at 1:21 PM Bob McMahon < >>>>>>>> bob.mcma...@broadcom.com> wrote: >>>>>>>> >>>>>>>>> Hi Craig, >>>>>>>>> >>>>>>>>> Any reason you need iperf 3 for this and can't use iperf 2.0.14? >>>>>>>>> >>>>>>>>> We are in the process of early field test for iperf 2.0.14. >>>>>>>>> <https://sourceforge.net/projects/iperf2/> This is probably an >>>>>>>>> experimental feature that could be added last minute. We'd need you >>>>>>>>> to >>>>>>>>> test if willing. Our goal is to release 2.0.14 early 2021. >>>>>>>>> >>>>>>>>> We're out of short options and would need to use long options. >>>>>>>>> Maybe something like >>>>>>>>> >>>>>>>>> --sweep-range=1m,100m, 1m (start, final, step size) defaults to >>>>>>>>> 1m,10m,1m with just --sweep-range >>>>>>>>> --sweep-steptime 1.5 (units of seconds) defaults to 1 second if >>>>>>>>> --sweep-range and no --sweep-steptime >>>>>>>>> >>>>>>>>> Note that --sweep-range has optional arguments (per the =) and >>>>>>>>> sweep-steptime has a mandatory argument (if used.) >>>>>>>>> >>>>>>>>> All, do comment on more intuitive command line options. >>>>>>>>> >>>>>>>>> Bob >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Bob >>>>>>>>> >>>>>>>>> On Tue, Dec 1, 2020 at 8:12 AM Craig Reeves < >>>>>>>>> craigree...@ambit-llc.com> wrote: >>>>>>>>> >>>>>>>>>> First, many thanks for putting this tool together and sharing >>>>>>>>>> it. It has proved invaluable over the years when dealing with ISPs. >>>>>>>>>> >>>>>>>>>> That being said, we regularly encounter ISPs that don't think >>>>>>>>>> their network has issues. Most of the time we can pinpoint to a >>>>>>>>>> switch or >>>>>>>>>> connection that is over saturated. >>>>>>>>>> >>>>>>>>>> I would love to see a feature that allowed us to set a starting >>>>>>>>>> throughput, incremental step up/down throughput, and interval. This >>>>>>>>>> would >>>>>>>>>> help find the point at which issues begin. Here is the idea: >>>>>>>>>> >>>>>>>>>> iperf3 -c 192.168.1.100 -bt 1M -et 10M -st 10s -t 100 -u >>>>>>>>>> >>>>>>>>>> -bt = beginning throughput >>>>>>>>>> -et = ending throughput >>>>>>>>>> -st = step up/down time >>>>>>>>>> >>>>>>>>>> The thinking is that iperf3 would start a test (UDP or TCP) at >>>>>>>>>> 1Mb/s throughput, and then ramp up in 1Mb/s steps ever 10 seconds. >>>>>>>>>> >>>>>>>>>> This eliminates the need to do individual runs with different >>>>>>>>>> settings. >>>>>>>>>> >>>>>>>>>> Thank you, >>>>>>>>>> >>>>>>>>>> Craig Reeves >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> Iperf-users mailing list >>>>>>>>>> Iperf-users@lists.sourceforge.net >>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/iperf-users >>>>>>>>>> >>>>>>>>>
_______________________________________________ Iperf-users mailing list Iperf-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/iperf-users