【发布时间】:2019-12-31 07:40:48
【问题描述】:
我尝试通过 DPDK 校验和卸载计算 IP 和 TCP 的校验和。代码执行以下操作:
ipv4_hdr->hdr_checksum = 0;
mb->l2_len = eth_hdr_len;
mb->l3_len = ipv4_hdr_len;
mb->ol_flags = PKT_TX_IPV4 | PKT_TX_IP_CKSUM | PKT_TX_TCP_CKSUM;
tcp_hdr->cksum = rte_ipv4_phdr_cksum(ipv4_hdr, mb->ol_flags);
rte_eth_conf 已设置:
port_conf.txmode.offloads = DEV_TX_OFFLOAD_IPV4_CKSUM | DEV_TX_OFFLOAD_TCP_CKSUM;
IP校验和正确,TCP校验和与正确校验和有固定偏移量(在我的环境下是4)
有什么想法吗?
【问题讨论】: