1. 查看支持xdp功能的网卡
drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c:218: case XDP_SETUP_PROG:
drivers/net/ethernet/cavium/thunder/nicvf_main.c:1848: case XDP_SETUP_PROG:
drivers/net/ethernet/intel/i40e/i40e_main.c:11845: case XDP_SETUP_PROG:
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:10154: case XDP_SETUP_PROG:
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c:4444: case XDP_SETUP_PROG:
drivers/net/ethernet/mellanox/mlx4/en_netdev.c:2911: case XDP_SETUP_PROG:
drivers/net/ethernet/mellanox/mlx5/core/en_main.c:4308: case XDP_SETUP_PROG:
drivers/net/ethernet/netronome/nfp/nfp_net_common.c:3471: case XDP_SETUP_PROG:
drivers/net/ethernet/netronome/nfp/nfp_net_common.c:3473: case XDP_SETUP_PROG_HW:
drivers/net/ethernet/qlogic/qede/qede_filter.c:1119: case XDP_SETUP_PROG:
drivers/net/netdevsim/bpf.c:207: if (bpf->command == XDP_SETUP_PROG && !ns->bpf_xdpdrv_accept) {
drivers/net/netdevsim/bpf.c:211: if (bpf->command == XDP_SETUP_PROG_HW && !ns->bpf_

XDP(eXpress Data Path)是Linux内核中的一种高效数据包处理机制,常用于网络性能优化。它在网卡驱动层面实现,允许在数据包到达内核协议栈之前进行处理。XDP的埋点函数位于网卡驱动的接收路径,如ixgbe的ixgbe_clean_rx_irq函数中,通过ixgbe_run_xdp调用bpf_prog_run_xdp来执行挂载的回调函数。XDP提供了XDP_PASS、XDP_TX、XDP_REDIRECT和XDP_DROP等行为选项,实现了数据包的快速转发、发送、重定向或丢弃。这种机制使得网络流量可以快速处理,提高了系统的整体性能。
最低0.47元/天 解锁文章
2177

被折叠的 条评论
为什么被折叠?



