The networkTool is my private and crappy code that I created to test reliability mechanims
in a White Rabbit network. I did it in a rush, looking at codes of the others (Alessandro
Rubini and Bartosz Bielawski) and creating something suited to my reqirements based on 
ptp-noposix network functions.

DISCLAIMER:
The code is by no means an example of programming practices -- it is crap.
The code is by no means working perfectly -- it has many bugs (known and unknown)
This code is able to make a Gigabit Ethernet Card worth 1000 euro to loose frames, therefore
the results of it should be taken with loads of thoughts and wits and knowing what one is 
doing. It is not always the Device Under Test (be it WR Switch) that is the cause of frame 
loss.

I provide no support and no warranty for this code. I make it public because it seems to 
be useful for people out there. However, anyone who uses this code should be aware what he/she 
is doing and she/he shall not complain the code is crap... it is crap and by using this code 
you agree that you have no room for complaints, on contrary, you are most welcome to improve
and debug it and submit your modifications to a separate branch. If I consider the changes
useful, I'll merge it to the master.

Short description:
This application can do the following:
- send raw Ethernet frames (single/burst) of different size and with different gap between 
  them (if burst):
  * Transmission time of each frame is timestamped in the S/W and the timestamp included in 
    the frame,
  * Each frame in a burst has a subsequent ID
- receive raw Ethernet frames (single/burst) of expected size :
  * Reception time of each frame is tiemstamped
  * ID of subsequent frames in a burst is verified to check whether we lost some frames
  * latency and reception gap (frequency) is calculated based on measured/received timestamps
  * if receiving burst, a report on the number of received/lost frames and average latency/gap
    is provided.

If you want to measure latency, it is recommended to use the same PC to transmit and receive
(to have the same timebase).

In order to start:
- make
- ./networkTool -h

In order to send/receive frames you need to run it with superuser rights (sudo)