DPDK-18.11下网卡配置RSS支持的特性

本文对比了I350/I211、82599ES和X710网卡支持的RSS特性,详细解析了igb、ixgbe和i40e驱动下,各网卡对IPv4、IPv6及其扩展特性的支持情况。

igb支持的特性

测试使用I350及I211网卡,有效值为0x38d34,二进制为111000110100110100,对应宏定义为

#define ETH_RSS_E1000_IGB (\
    ETH_RSS_IPV4 | \
    ETH_RSS_NONFRAG_IPV4_TCP| \
    ETH_RSS_NONFRAG_IPV4_UDP| \
    ETH_RSS_IPV6 | \
    ETH_RSS_NONFRAG_IPV6_TCP | \
    ETH_RSS_NONFRAG_IPV6_UDP | \
    ETH_RSS_IPV6_EX | \
    ETH_RSS_IPV6_TCP_EX | \
    ETH_RSS_IPV6_UDP_EX)

ixgbe支持的特性

测试使用82599ES网卡,有效值和igb相同

#define ETH_RSS_E1000_IGB (\
    ETH_RSS_IPV4 | \
    ETH_RSS_NONFRAG_IPV4_TCP| \
    ETH_RSS_NONFRAG_IPV4_UDP| \
    ETH_RSS_IPV6 | \
    ETH_RSS_NONFRAG_IPV6_TCP | \
    ETH_RSS_NONFRAG_IPV6_UDP | \
    ETH_RSS_IPV6_EX | \
    ETH_RSS_IPV6_TCP_EX | \
    ETH_RSS_IPV6_UDP_EX)
### DPDK 安装依赖与存储需求 安装 DPDK 需要一系列基础依赖,以确保编译和运行过程的顺利进行。这些依赖包括编译工具链、内核开发包、NUMA 支持库、以及用于特定功能的开发库,如 `libpcap-dev`(用于 pcap PMD 支持)[^2]。在基于 Debian 的系统上,可以通过以下命令安装这些依赖: ```bash sudo apt-get install build-essential libnuma-dev libpcap-dev ``` 此外,DPDK 还依赖于大页内存支持,因此需要确保系统内核配置中启用了 `CONFIG_HUGETLBFS` 和 `CONFIG_HUGEMEM` 等相关选项。在某些情况下,可能还需要启用 VFIO 或 UIO 模块以支持设备驱动[^1]。 关于源码下载和编译所需的存储空间,DPDK 源码包通常在 50MB 到 100MB 之间,具体大小取决于版本和包含的平台支持。解压后的源码目录可能占用 300MB 到 500MB 的空间。编译过程中,由于中间文件和目标文件的生成,整个构建目录可能需要额外的 1GB 到 2GB 空间。因此,建议为整个 DPDK 源码目录预留至少 2GB 的存储空间,以确保顺利编译[^2]。 ### 编译流程 DPDK 的编译流程通常包括配置和编译两个阶段。首先需要选择目标平台配置,例如 `x86_64-native-linuxapp-gcc`,然后执行配置命令: ```bash make config T=x86_64-native-linuxapp-gcc ``` 在配置完成后,可以修改 `.config` 文件以启用特定模块,例如启用 pcap 支持: ```bash sed -ri 's,(PMD_PCAP=).*,\1y,' build/.config ``` 随后执行编译命令: ```bash make ``` 若在编译过程中遇到 `numa.h` 无法找到的问题,通常是因为缺少 `libnuma-dev` 包,安装该依赖后即可解决。 ### 初始化环境 在完成编译后,还需要进行一些初始化操作,例如挂载大页内存并分配给 DPDK 使用。可以通过以下命令挂载大页文件系统: ```bash mkdir -p /mnt/huge mount -t hugetlbfs nodev /mnt/huge ``` 然后分配一定数量的大页内存: ```bash echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages ``` 最后,将设备绑定到 DPDK 支持的驱动(如 `vfio-pci` 或 `uio_pci_generic`)以便进行用户态访问: ```bash dpdk-devbind.py --bind=vfio-pci 0000:01:00.0 ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值