代码走读之 硬件时间戳

时间:2022-09-02 14:34:31

记录下走读代码的思路,方便自己以前查看,更快的入手

1.程序初始化时调用probe_nic_link_status(&g_nic_dev_info);
保存ETH_LINK_UP状态的端口,到dev_link_up容器中

2.dev_info->dev_cnts >= 2 如果端口数大于2,
dev_info->timestamp_sync_toggle = TIMESTAMP_SYNC_ENALBE;//开启时间戳
dev_info->timestamp_sync_status = TIMESTAMP_SYNC_MAJOR_STATUS;//主版本
dev_info->timestamp_ptr = &get_nic_timestamp_by_major;//赋值时间获取函数指针

3.主体实现函数
get_nic_timestamp_by_major 主
get_nic_timestamp_by_salve 副
主和副的区别只是获取硬件时间戳的端口不一样而已

4.调用get_nic_timestamp
调用rte_eth_timesync_read_time_thread_safe