I had a similar requirement to you Charlie and tried to tackle it with
a similar solution to yours Tom;

I wanted to have all field engineers equiped with 1G testers to test
every circuit as it is deployed (10G is less common for the average
day to day office install so 10G for every field engineer wasn't a
requirement but to have some sort of shared 10G tester(s) would be
enough). Although there was no budget for this idea so I rolled me
own; https://github.com/jwbensley/Etherate

Etherate is a simple Linux CLI layer 2 testing tool that we can run in
a central PoP and trunk circuits to that Pop (or pseudowire them
across) for testing if there isn't an Etherate host in the required
PoP.

I'm a bit behind with the GitHub pushes, I have another version that’s
nearly ready to go which adds in some MPLS features for testing
pseudowires and label stacks etc. Once I've got that update pushed up
I will focus on performance. In the lab at $dayjob we have boxes with
10G NICs and 8 core 2.4Ghz chips, Etherate is single threaded and the
TX side can push 10G no problems however the RX side is only
sustaining 9Gbps (since Ethernet is connectionless its dropping about
1Gbps of traffic because the RX loop can't check the incoming traffic
fast enough, so after I've got these basic MPLS features in I will
focus on performance). 1Gbps is no problem, my off-the-shelf laptop
with built in copper 1Gbps Ethernet NIC can saturate a 1Gbps link
using about 45-50% CPU usage.

You can use something like iPerf for testing at Layer3/4 if the tail
circuit is passing through NAT or over an IP subnet boundary (e.g the
CPE does NAT), so iPerf back to a central iPerf server directly over
the circuit and through the CPE (to check it can NAT as fast as is
required). Or if you have time, this is much faster and better (IMO):
https://github.com/Pktgen/Pktgen-DPDK/

If you do have a play with Etherate please let me know any feedback
you have, I'm always keen to receive more.

Cheers,
James.

Reply via email to