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

Reply via email to