如何解决DPDK:在 X710 网卡上启用巨型帧
我正在 Linux 上使用 dpdk-stable-18.05.1 和 Intel X710 网卡。
上述 NIC 能够发送最大 9000 字节的数据包。我的应用程序无法发送超过 1500 的数据包。这是我的代码:
const struct rte_eth_conf default_port_conf = { .rxmode = { .max_rx_pkt_len = 9000,.offloads = DEV_RX_OFFLOAD_JUMBO_FRAME,.jumbo_frame = 1,}
.txmode = { .offloads = DEV_TX_OFFLOAD_MULTI_SEGS,} }
我正在尝试发送 8192 字节的 IPV4 数据包,但在 RX 端,我们得到了 2048 字节。 (附上样品 pcap)。
我也试过 rte_eth_dev_set_mtu(pid,9000);
但没有运气。
如有任何遗漏,请告诉我。
解决方法
英特尔 NIC x710 在支持 // template.js
window.map.flyTo({ center: yourCenterHere });
方面没有问题。这可以使用 DPDK multi-segmented Jumbo frames
(始终使用 LTS 以获得更好的支持和修复)和 DPDK 示例 18.11.7 LTS
轻松验证。
要启用多段 JUMBO 帧,请将 port_conf 更改为
skeleton
唯一有冲突的配置是使用 static const struct rte_eth_conf port_conf_default = {
.rxmode = {
.max_rx_pkt_len = 9000,.split_hdr_size = 0,.offloads = (DEV_RX_OFFLOAD_JUMBO_FRAME),},.txmode = {
.mq_mode = ETH_MQ_TX_NONE,.offloads = (DEV_TX_OFFLOAD_IPV4_CKSUM |
DEV_TX_OFFLOAD_MULTI_SEGS),};
。根据 DPDK 版本 (18.11 LTS),建议使用 DEV_RX_OFFLOAD_JUMBO_FRAME,因为 jumbo_frame 已被弃用。
因此 x710 网卡不支持多段巨型帧的假设是不正确的。
命令:
jumbo_frame = 1 along with DEV_RX_OFFLOAD_JUMBO_FRAME
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。