[PATCH] net/e1000: support launchtime feature
Chuanyu Xue
chuanyu.xue at uconn.edu
Wed Jan 3 22:52:15 CET 2024
Hi, Simei
Thank you for your guidance on how to test this feature.
>> Following is how I try to test with testpmd. Please let me know if I did
>> something wrong.
>>
>> sudo ./dpdk-testpmd -- -i --forward-mode=txonly
>>
>> testpmd> port stop 0
>> testpmd> set burst 1
>> testpmd> set txtimes 100000000,0
>> testpmd> port config 0 tx_offload send_on_timestamp on
>> testpmd> port start 0
>> testpmd> start
>
>When testing launch time feature with igc driver, firstly, some code change
>made in txonly.c:
>pkt->ol_flags |= RTE_MBUF_F_TX_IEEE1588_TMST; (this flag should be added to
>forward PTP packet with hardware Tx timestamp)
>
># ./build/app/dpdk-testpmd -a 0000:81:00.0 -c f -n 4 -- -i
>--tx-offloads=0x200000
>testpmd> set burst 1
>testpmd> set fwd txonly
>testpmd> set txtimes 1000000,0
>testpmd> start
>
>On receiver side (with tcpdump):
># tcpdump -Q in -ttt -ni ens25f3 --time-stamp-precision=nano -j
>adapter_unsynced -c 32
Now dpdk-testpmd works well with this patch after I add the flag in txonly.c
as you mentioned.
It is worth noting that I also added `rte_eth_timesync_enable(pi);` in the
function `tx_only_begin` in txonly.c to enable the PTP clock. Otherwise, all Tx
packets scheduled are dropped.
Following are the measurement results on the listener. I use the same configuration
as you mentioned for dpdk-testpmd on the talker.
➜ ~ sudo tcpdump -Q in -ttt -ni enp1s0 --time-stamp-precision=nano -j adapter_unsynced -c 32
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on enp1s0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
00:00:00.000000000 IP 198.18.0.1.9 > 198.18.0.2.9: UDP, length 22
00:00:00.001000008 IP 198.18.0.1.9 > 198.18.0.2.9: UDP, length 22
00:00:00.001000000 IP 198.18.0.1.9 > 198.18.0.2.9: UDP, length 22
00:00:00.001000000 IP 198.18.0.1.9 > 198.18.0.2.9: UDP, length 22
00:00:00.001000000 IP 198.18.0.1.9 > 198.18.0.2.9: UDP, length 22
....
00:00:00.001000000 IP 198.18.0.1.9 > 198.18.0.2.9: UDP, length 22
00:00:00.001000000 IP 198.18.0.1.9 > 198.18.0.2.9: UDP, length 22
00:00:00.001000000 IP 198.18.0.1.9 > 198.18.0.2.9: UDP, length 22
00:00:00.001000008 IP 198.18.0.1.9 > 198.18.0.2.9: UDP, length 22
00:00:00.001000000 IP 198.18.0.1.9 > 198.18.0.2.9: UDP, length 22
32 packets captured
118 packets received by filter
0 packets dropped by kernel
Above test is based on the patch v2 with Intel i210 NIC.
- Chuanyu
More information about the dev
mailing list