A multi-threaded network load generator/sinker
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.travis.yml
ChangeLog
INSTALL
README
README.md
etherate_mt
etherate_mt.c
etherate_mt.h
functions.c
functions.h
packet.c
packet.h
packet_mmsg.c
packet_mmsg.h
packet_msg.c
packet_msg.h
print_stats.c
print_stats.h
sock_op.c
sock_op.h
tpacket_v2.c
tpacket_v2.h
tpacket_v2_bypass.c
tpacket_v2_bypass.h
tpacket_v3.c
tpacket_v3.h
tpacket_v3_bypass.c
tpacket_v3_bypass.h

README.md

EtherateMT

Build Status PayPal Donate < buy me a pizza!

What is it

Etherate is a Linux CLI application for testing layer 2 Ethernet and MPLS
connectivity. It can generate various Ethernet and MPLS frames for testing
different devices such as switches/routers/firewalls etc, to test
traffic parsing/matching/filtering/forwarding.

Etherate is not an effective load tester, it is not designed for high
performance. It is designed for testing many traffic parsing scenarios.

EtherateMT is a multi-threaded ("MT") load generator (not "traffic" generator)
and load sinker. EtherateMT simply sends random "junk" frames (or the user may
load a custom frame from file) as fast as it can. The user can run the
application in transmit or received mode, choose the number of worker threads
and which method for transmission/reception to use within the Kernel (e.g.
sendto() or sendmsg() and PACKET_MMAP etc.).

The code is still in beta so it's a bit buggy but mostly works.

FAQ and Troubleshooting

See the Wiki page: https://github.com/jwbensley/EtherateMT/wiki/FAQ-&-Troubleshooting