17 Replies Latest reply on Sep 2, 2015 6:42 AM by Carlos_A

    DPDK - capturing packets from multiple ports - timestamping / ordering

    T_MARTIN Green Belt



      I am trying to build a capture program (tcpdump-like) using dpdk.

      Packet ordering and timestamps are important for this application in order to calculate some network KPIs (Syn Ack time for instance).


      So, basically, the problem is to capture, timestamp and sort packets from 2 ethernet ports.


      rte_eth_rx_burst retrieves burst of packets from one port.

      If I have 2 ports, I have to call rte_eth_rx_burst on each port ; unfortunately I have no way to order packets from these two sets of packets.


      A this point, I think I (either) miss:

      - a way to bind two RX port (as far as I could see, dpdk bonding feature won't help), so that it **magically** deals with packet ordering

      - a way to set packet timestamps at the very low level - If someone knows how to do it, an example would really be welcome.

      - another approach ?


      Thanks for your help!




      Running tests with

      Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01)