亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

xdpoffload 附加失敗:參數無效

xdpoffload 附加失?。簠禑o效

Go
aluckdog 2022-11-08 15:14:46
當我嘗試在 XDP 卸載模式下附加 BPF 程序時,我得到Invalid argument. 如果通過代碼附加或使用bpftool. 這是我使用netlink附加的方式:err = netlink.LinkSetXdpFdWithFlags(link, objects.CollectIpsProg.FD(), 8)從使用bpftool:# bpftool prog loadall collect_ips.o /sys/fs/bpf/collect_ips type xdp# bpftool net attach xdpoffload id 106 dev publicError: interface xdpoffload attach failed: Invalid argument我在驅動程序模式下加載程序沒有任何問題,其中4傳遞給LinkSetXdpFdWithFlags.我的網卡 Mellanox MT28800 系列 [ConnectX-5 Ex] 應該支持硬件卸載。我的主要 XDP 程序調用兩個不同的尾部程序。我用BPF_MAP_TYPE_RINGBUF, BPF_MAP_TYPE_PROG_ARRAY, and BPF_MAP_TYPE_ARRAY.
查看完整描述

1 回答

?
哈士奇WWW

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 程序卸載到硬件。


查看完整回答
反對 回復 2022-11-08
  • 1 回答
  • 0 關注
  • 326 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號