DPDK 18.11 硬件校验和支持 X722 NIC?

DPDK 18.11 HW checksum support for X722 NIC?

我在 Centos 7 上 运行 dpdk-stable-18.11.8,目标是 Intel X722 网卡。

我希望 ipv4 和 udp header 校验和由硬件计算,所以我将设备配置设置为:

struct rte_eth_conf local_port_conf;
memset(&local_port_conf, 0, sizeof(struct rte_eth_conf));
local_port_conf.rxmode.split_hdr_size = 0;
local_port_conf.txmode.mq_mode = ETH_MQ_TX_NONE;
local_port_conf.txmode.offloads  = DEV_TX_OFFLOAD_OUTER_UDP_CKSUM | DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM;
rte_eth_dev_configure(0,1,1,&local_port_conf); 

rte_eth_dev_configurereturns: 0xffffffea (-22)

这是否意味着 DPDK 18.11 不支持将校验和卸载到 X722 NIC?

DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM用于外部隧道包,为此X710必须加载DDP。如果打算用于普通数据包,则使用 DEV_TX_OFFLOAD_IPV4_CKSUM

注意:配置任何 DPDK 端口的正确方法是首先通过 rte_eth_dev_info_get 获取功能。然后检查 dev_info.tx_offload_capa & DEV_TX_OFFLOAD_IPV4_CKSUM,如果存在配置。