PF_RING和DPDK接收報文如何添加時間戳

0.DPDK

77E02E3E-42A3-4014-A9F8-33E0093EE357.png

在DPDK里面在各種網(wǎng)卡驅(qū)動程序里面找到了一些關于添加時間戳的函數(shù),不同的網(wǎng)卡驅(qū)動程序都調(diào)用了rte_timecounter_update函數(shù)和rte_ns_to_timespec函數(shù),這個兩個函數(shù)定義在dpdk-16.07/lib/librte_eal/common/include/rte_time.h中,大概的意思是要讀取硬件的時鐘減去上一次存在結(jié)構(gòu)體里面的時鐘得到的差去計算時間吧

讀取當前硬件的時鐘是用了一個xxx_read_systime_cyclecounter函數(shù)(xxx是不同驅(qū)動的名字,各自定義在自己的驅(qū)動文件中)


5A3DF97B-C618-4848-BFFA-05D0CAE330BF.png
25A5F05A-A530-4F15-8E99-C68647A7F0CC.png

這個截圖是 drivers/net/ixgbe/ixgbe_ethdev.c <<ixgbe_timesync_read_rx_timestamp>>

2.PF_RING

CE8E06A9-F45B-4176-AC49-81CC848607BD.png

do_gettimeofday(&skb->stamp) 原形在/include/linux/time.h 中
net_timestamp 函數(shù)在/linux-2.6.32.5/net/core/dev.c

ktime_to_timeval 函數(shù)在 /linux-2.6.32.5/include/linux/ktime.h

ktime_to_ns函數(shù)在 /linux-2.6.32.5/include/linux/ktime.h

ktime_to_ns(skb_hwtstamps(skb)->hwtstamp)函數(shù)里面的skb_hwtstamps 在 /linux/skbuff.h

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容