C AF_XDP:Set'SO_TIMESTAMP'不受'SO_XDP'支持:协议不可用
为什么C AF_XDP:Set'SO_TIMESTAMP'不受'SO_XDP'支持:协议不可用,c,linux,networking,timestamp,xdp-bpf,C,Linux,Networking,Timestamp,Xdp Bpf,为什么AF\u XDP套接字不支持设置时间戳?我的驱动程序的用户手册(mlnx 5.0)说明 传入的数据包在分发到服务器上之前会有时间戳 PCI取决于PCI缓冲区中的拥塞情况 据我所知,在PCI上发布之前意味着还没有涉及Linux内核-对吗 我试着这样设置: int timestamp = SOF_TIMESTAMPING_RX_HARDWARE; if(setsockopt(xsk_socket__fd(xsk_socket->xsk), SOL_XDP, SO_TIMESTAMP, (
AF\u XDP
套接字不支持设置时间戳?我的驱动程序的用户手册(mlnx 5.0
)说明
传入的数据包在分发到服务器上之前会有时间戳
PCI取决于PCI缓冲区中的拥塞情况
据我所知,在PCI上发布之前
意味着还没有涉及Linux内核-对吗
我试着这样设置:
int timestamp = SOF_TIMESTAMPING_RX_HARDWARE;
if(setsockopt(xsk_socket__fd(xsk_socket->xsk), SOL_XDP, SO_TIMESTAMP, (int*)×tamp, sizeof(int)) < 0) {
fprintf(stderr, "Failed to set `SO_TIMESTAMP`: %s\n", strerror(errno));
return;
}
我不明白,为什么它不被支持…没有技术原因说明为什么它没有被实现 事实上,它看起来好像在xdp开发团队的待办事项列表上 引自: 重要的中期任务 来自硬件的元数据 XDP程序可以访问各种硬件元数据项,以减少eBPF中需要进行的处理量。这些措施包括:
- 校验和
- 散列值
- 流量指示器
- 高级协议头偏移量
- 时间戳
#ifndef SOL_XDP
#define SOL_XDP 283
#endif