1 回答

TA貢獻1799條經驗 獲得超6個贊
Mellanox 卡支持一些硬件卸載(例如,流控制規則),但據我所知不支持 BPF 程序的卸載。唯一支持 BPF 卸載的以太網適配器是Netronome 的卡。
檢查這一點的一種方法是XDP_SETUP_PROG_HW在 Linux 源代碼中使用 grep 查找 BPF netdev 命令:
$ git grep XDP_SETUP_PROG_HW
drivers/net/ethernet/netronome/nfp/nfp_net_common.c: case XDP_SETUP_PROG_HW:
drivers/net/netdevsim/bpf.c: if (bpf->command == XDP_SETUP_PROG_HW && !ns->bpf_xdpoffload_accept) {
drivers/net/netdevsim/bpf.c: if (bpf->command == XDP_SETUP_PROG_HW) {
drivers/net/netdevsim/bpf.c: case XDP_SETUP_PROG_HW:
include/linux/netdevice.h: XDP_SETUP_PROG_HW,
net/core/dev.c: xdp.command = mode == XDP_MODE_HW ? XDP_SETUP_PROG_HW : XDP_SETUP_PROG;
該命令用于告訴驅動程序通過ndo_bpf回調函數將 BPF 程序卸載到硬件。
- 1 回答
- 0 關注
- 326 瀏覽
添加回答
舉報