igb

igb 是 Intel 千兆以太网控制器系列,QEMU 具体实现 82576,数据手册见 [1]。

它旨在无需物理硬件即可测试 SR-IOV 网络。

限制

初期使用 Linux Test Project [2] 和 Windows HLK [3] 测试,后来也使用 DPDK Test Suite [4]。LTP 命令为:

network.sh -6mta

该实现缺少真实硬件的许多功能。使用 DPDK、Linux、Windows 之外的系统, 或测试未覆盖的功能时,可能遇到各种失败。

使用 igb

与其他网卡无异,一般说明见 网络模拟。

客户机启用 SR-IOV 可能还需额外步骤,Linux 见 [5]。

开发 igb

igb 是 e1000e 的后继,后者又是 e1000 的后继。三者相似,若修改也适用于 e1000e 或 e1000,请同步应用。

提交前务必测试。QEMU 内测试很少,还应运行可能受影响的应用,确认完整系统 正常工作。

测试 igb

有基础功能 qtest,在构建目录运行:

pyvenv/bin/meson test qtest-x86_64/qos-test

ethtool 可测试寄存器、中断等,已自动化为功能测试,在构建目录执行:

pyvenv/bin/meson test --suite thorough func-x86_64-netdev_ethtool

参考资料