SPP - Synthetic Packet Pairs
Usage Examples
As shown in the documentation, SPP measurement points may reside on the machines generating the target traffic, or alternatively, they may be independent, placed anywhere on the path of the target traffic. All examples consider the former scenario, while the first two examples also examine the latter. Remaining scenarios may also be extended to use independent measurement points.
1. Using SPP with previously obtained PCAP files
The simplest way to use SPP is to use tcpdump to capture relevant data at the reference and monitor points. In this example, we would like to monitor the RTT between two servers, which are shown in the image below.

The PCAP files can be created by running the following tcpdump commands:
Reference point
- tcpdump -i bge0 -w ref.pcap host 10.0.0.1 and host 10.0.0.2
Monitor point
- tcpdump -i em0 -w mon.pcap host 10.0.0.1 and host 10.0.0.2
These files can the be brought together to a machine where SPP is installed.
SPP can then be run as shown below:
- spp -a 10.0.0.1 -A 10.0.0.2 -f ref.pcap -F mon.pcap -cp
The above commands will also be the same for the situation shown below where the measurement points are independent from the hosts generating the targe traffic.

2. Using SPP with live local interface monitoring
In a research/testing environment, it is often useful to measure delays through various networks and/or equipment. This can be achieved by using two interfaces on the one host, connected to both ends of the path which is to be tested. Traffic would be generated between these two interfaces.

SPP can be run like so:
- spp -a 10.0.1.1 -A 10.0.2.1 -i em0 -I em1 -cp
The command shown above will also be appropriate for the following configuration, where the target traffic is instead generated by two other independent hosts (independent measurement points).

3. Using SPP with live local and remote interface monitoring
This scenario is likely the most common way to use SPP. Data is captured on a local interface at the reference point, and also remotely at the monitor point. The SPP Sample Frames (SPP Data in the diagram) is then sent back over that network to the reference point for processing.

SPP is run at both points, with the commands below:
Reference point (Master)
- spp -a 10.0.0.1 -A 10.0.0.2 -i bge0 -R 10.0.0.2 -cp
Monitor point (Slave)
- spp -a 10.0.0.1 -A 10.0.0.2 -s 10.0.0.1 -I em0
4. Using SPP with live local and remote interface monitoring - out of band SSF transmission
This example is the same as the previous except that SPP data is now being transferred on a separate network, to ensure it doesn't affect the nework under test.

SPP is run at both points, with the commands below:
Reference point (Master)
- spp -a 10.0.0.1 -A 10.0.0.2 -i bge0 -R 192.168.0.2 -cp
Monitor point (Slave)
- spp -a 10.0.0.1 -A 10.0.0.2 -s 192.168.0.1 -I em0
5. Using SPP dual live remote interface capture
The most flexible of configurations, where both the reference point and monitor point are remote capture slaves to a third machine running SPP.

SPP is run on all machines, with the commands below:
Reference point (Slave)
- spp -s 10.0.0.5 -I bge0 -a 10.0.0.1 -A 10.0.0.2 -cp
Monitor point (Slave)
- spp -s 10.0.0.5 -a 10.0.0.1 -I em0 -A 10.0.0.2
Management Station (Master)
- spp -r 10.0.0.1 -a 10.0.0.1 -R 10.0.0.2 -A 10.0.0.2 -cp
|