Cool. Seems you're using AF_PACKET, which makes it actually unique. iperf/netperf etc use UDP or TCP socket, so UDP performance is just abysmal, you can't saturate 1GE link with any reliability. So measuring for example packet loss is not possible at all. I've been meaning to write AF_PACKET based UDP sender/receiver and have gotten pretty far with friend of mine on rust version, we can congest 1GE (on minimum size frames) on Linux reliably and actually tell if you're lossy. It has server/client design, where client requests via JSON based messages through control-channel server to receive or send, and what exactly. Alas, we're only 80% there, and seem to struggle to find time to polish it for initial release. We definitely need tool like iperf, which performs at least to 1GE, and AF_PACKET can do that, UDP socket cannot. Alas 10GE is still pipe dream for anything as portable as iperf, as you'd need to use DPDK, netmap or equivalent which will remove the NIC from userland, there are quite few options for that use-case, but no good option for use-case when you want at least 1GE but you cannot remove NIC from userland. On 31 May 2017 at 13:36, James Bensley <jwbensley@gmail.com> wrote:
On 30 May 2017 at 16:22, Nick Olsen <nick@flhsi.com> wrote:
Greetings all,
Looking for a good test set. Primary use will be testing L2 circuits (It'll technically be VPLS, But the test set will just see L2). Being able to test routed L3 would also be useful. Most of the sets I've seen are two sided, A "reflector" at the remote side, And the test set in hand run by the technician.
Looking to test up to 1Gb/s at various packet sizes, Measure Packet loss, Jitter..etc. Primarily Copper, But if it had some form of optical port, I wouldn't complain. Outputting a report that we can provide to the customer would be useful, But isn't mandatory. Doesn't need anything fancy, Like MPLS awareness, VLAN ID's..etc.
Nick Olsen Sr. Network Engineer Florida High Speed Internet (321) 205-1100 x106
If you are just testing the forwarding at layer 2 and have no budget you can use free software and a laptop (for your copper requirement). I've been writing this (https://github.com/jwbensley/Etherate) and we use that as well as hardware testers.
Cheers, James.
-- ++ytti