1136e9dbaSAkihiko Odaki.. SPDX-License-Identifier: GPL-2.0-or-later 2136e9dbaSAkihiko Odaki.. _igb: 3136e9dbaSAkihiko Odaki 4136e9dbaSAkihiko Odakiigb 5136e9dbaSAkihiko Odaki--- 6136e9dbaSAkihiko Odaki 7136e9dbaSAkihiko Odakiigb is a family of Intel's gigabit ethernet controllers. In QEMU, 82576 8136e9dbaSAkihiko Odakiemulation is implemented in particular. Its datasheet is available at [1]_. 9136e9dbaSAkihiko Odaki 10136e9dbaSAkihiko OdakiThis implementation is expected to be useful to test SR-IOV networking without 11136e9dbaSAkihiko Odakirequiring physical hardware. 12136e9dbaSAkihiko Odaki 13136e9dbaSAkihiko OdakiLimitations 14136e9dbaSAkihiko Odaki=========== 15136e9dbaSAkihiko Odaki 16136e9dbaSAkihiko OdakiThis igb implementation was tested with Linux Test Project [2]_ and Windows HLK 17*c37d98f3SAkihiko Odaki[3]_ during the initial development. Later it was also tested with DPDK Test 18*c37d98f3SAkihiko OdakiSuite [4]_. The command used when testing with LTP is: 19136e9dbaSAkihiko Odaki 20136e9dbaSAkihiko Odaki.. code-block:: shell 21136e9dbaSAkihiko Odaki 22136e9dbaSAkihiko Odaki network.sh -6mta 23136e9dbaSAkihiko Odaki 24136e9dbaSAkihiko OdakiBe aware that this implementation lacks many functionalities available with the 25136e9dbaSAkihiko Odakiactual hardware, and you may experience various failures if you try to use it 26*c37d98f3SAkihiko Odakiwith a different operating system other than DPDK, Linux, and Windows or if you 27*c37d98f3SAkihiko Odakitry functionalities not covered by the tests. 28136e9dbaSAkihiko Odaki 29136e9dbaSAkihiko OdakiUsing igb 30136e9dbaSAkihiko Odaki========= 31136e9dbaSAkihiko Odaki 32136e9dbaSAkihiko OdakiUsing igb should be nothing different from using another network device. See 33d6359e15SPeter Maydell:ref:`Network_emulation` in general. 34136e9dbaSAkihiko Odaki 35136e9dbaSAkihiko OdakiHowever, you may also need to perform additional steps to activate SR-IOV 36*c37d98f3SAkihiko Odakifeature on your guest. For Linux, refer to [5]_. 37136e9dbaSAkihiko Odaki 38136e9dbaSAkihiko OdakiDeveloping igb 39136e9dbaSAkihiko Odaki============== 40136e9dbaSAkihiko Odaki 41136e9dbaSAkihiko Odakiigb is the successor of e1000e, and e1000e is the successor of e1000 in turn. 42136e9dbaSAkihiko OdakiAs these devices are very similar, if you make a change for igb and the same 43136e9dbaSAkihiko Odakichange can be applied to e1000e and e1000, please do so. 44136e9dbaSAkihiko Odaki 45136e9dbaSAkihiko OdakiPlease do not forget to run tests before submitting a change. As tests included 46136e9dbaSAkihiko Odakiin QEMU is very minimal, run some application which is likely to be affected by 47136e9dbaSAkihiko Odakithe change to confirm it works in an integrated system. 48136e9dbaSAkihiko Odaki 49136e9dbaSAkihiko OdakiTesting igb 50136e9dbaSAkihiko Odaki=========== 51136e9dbaSAkihiko Odaki 52136e9dbaSAkihiko OdakiA qtest of the basic functionality is available. Run the below at the build 53136e9dbaSAkihiko Odakidirectory: 54136e9dbaSAkihiko Odaki 55136e9dbaSAkihiko Odaki.. code-block:: shell 56136e9dbaSAkihiko Odaki 57136e9dbaSAkihiko Odaki meson test qtest-x86_64/qos-test 58136e9dbaSAkihiko Odaki 59136e9dbaSAkihiko Odakiethtool can test register accesses, interrupts, etc. It is automated as an 60136e9dbaSAkihiko OdakiAvocado test and can be ran with the following command: 61136e9dbaSAkihiko Odaki 62136e9dbaSAkihiko Odaki.. code:: shell 63136e9dbaSAkihiko Odaki 648e6c718aSAkihiko Odaki make check-avocado AVOCADO_TESTS=tests/avocado/netdev-ethtool.py 65136e9dbaSAkihiko Odaki 66136e9dbaSAkihiko OdakiReferences 67136e9dbaSAkihiko Odaki========== 68136e9dbaSAkihiko Odaki 69136e9dbaSAkihiko Odaki.. [1] https://www.intel.com/content/dam/www/public/us/en/documents/datasheets/82576eb-gigabit-ethernet-controller-datasheet.pdf 70136e9dbaSAkihiko Odaki.. [2] https://github.com/linux-test-project/ltp 71136e9dbaSAkihiko Odaki.. [3] https://learn.microsoft.com/en-us/windows-hardware/test/hlk/ 72*c37d98f3SAkihiko Odaki.. [4] https://doc.dpdk.org/dts/gsg/ 73*c37d98f3SAkihiko Odaki.. [5] https://docs.kernel.org/PCI/pci-iov-howto.html 74