220. Packet Ordering

This document provides test plan for benchmarking of the Packet Ordering sample application. This is a simple example app featuring packet processing using Intel® Data Plane Development Kit (Intel® DPDK) based on a sliding window using a sequence number for the packet and a reorder queue.

220.1. Prerequisites

1x Intel® 82599 (Niantic) NICs (1x 10GbE full duplex optical ports per NIC) plugged into the available PCIe Gen2 8-lane slot.

220.1.1. Test Case: Packet ordering at different rates

The test case will send packets from the external traffic generator through the sample application which will forward them back to the source port. Each packet will have a sequential number which could be used to judge if a packet is in the right order. Different traffic rates will be tested. The rate will go from 10% to 100% with 10% steps.

The results will be presented as a table with the following values:

Reordering: indicate if reorder the traffic.

Mask: used CPU core mask.

Rate: transmission rate.

Sent: number of frames sent from the traffic generator.

Received: number of frames received back.

Captured: number of frames captured.

Reordered ratio: ratio between out of order packets and total sent packets.

Reordering Mask Rate Sent Received Captured Reorder ratio
Yes 0xaa 10        
Yes 0xf 10        
No 0xaa 10        
No 0xf 10        

Run the app with below sample command:

./examples/packet_ordering/build/packet_ordering -c coremask  -- -p portmask

220.1.2. Test Case: keep the packet ordering

This is a basic functional test. The packets order which will pass through a same flow should be guaranteed.

  1. Run the sample with below command:

    ./examples/packet_ordering/build/packet_ordering -c coremask  -- -p portmask
    
  2. Send 1000 packets with the same 5-tuple traffic from Scapy

  3. Observe the packets received and check the packets order.