Hi, In order to understand how DPDK handle HW timestamps (which is very confusing between version) I've prepare a small DPDK test application which capture packets on a give port and print some information, like pkt_len, timestamp etc - very basic stuff.
I've enabled the offload DEV_RX_OFFLOAD_TIMESTAMP at port/queue level, and built the application with DPDK 18.05. The captured packets are valid and although the hardware timestamp is crappy I still can see something, example output: "queue 1, len 139, timestamp (1) 55659417086261" from: . fprintf(stderr,"queue %d, len %"PRIu32", timestamp (%d) %"PRIu64, queue_idx, pkt_bufs[0]->pkt_len, ( int )( 0 != ( pkt_bufs[0]->ol_flags & PKT_RX_TIMESTAMP ) ), pkt_bufs[0]->timestamp); . (Where pkt_bufs is an array of mbufs, there is a check before the fprintf that verify something has been captured, so the code is "safe".. but ugly (hey, that's a test app after all..) The PKT_RX_TIMESTAMP flag is set, which make sense.. Then i switched to DPDK 19.02 and recompiled, the only change in the code that was required was to remove the line where i set hw_timestamp to 1 in rte_eth_rxmode, this field does not exist anymore. With this new DPDK the packets are not coming with any timestamp and PKT_RX_TIMESTAMP in ol_flags is not set, what has changed between those two DPDK relase (major vs stable) and what should I do to enable timestamping? Thanks -- BR, Filip +48 666 369 823