Based-on: <366bbcafdb6e0373f0deb105153768a8c0bded87.ca...@gmail.com> ("[PATCH 0/1] e1000e: Fix tx/rx counters")
This series has fixes and feature additions to pass DPDK Test Suite with igb. It also includes a few minor changes related to networking. Patch [01, 10] are bug fixes. Patch [11, 14] delete code which is unnecessary. Patch [15, 33] are minor changes. Patch [34, 46] implement new features. Patch [47, 48] update documentations. While this includes so many patches, it is not necessary to land them at once. Only bug fix patches may be applied first, for example. V3 -> V4: - Renamed "min_buf variable to "buf". (Sriram Yagnaraman) - Added patch "igb: Clear-on-read ICR when ICR.INTA is set". (Sriram Yagnaraman) V2 -> V3: - Fixed parameter name in hw/net/net_tx_pkt. (Philippe Mathieu-Daudé) - Added patch "igb: Clear IMS bits when committing ICR access". - Added patch "igb: Clear EICR bits for delayed MSI-X interrupts". - Added patch "e1000e: Rename a variable in e1000e_receive_internal()". - Added patch "igb: Rename a variable in igb_receive_internal()". - Added patch "e1000e: Notify only new interrupts". - Added patch "igb: Notify only new interrupts". V1 -> V2: - Dropped patch "Include the second VLAN tag in the buffer". The second VLAN tag is not used at the point and unecessary. - Added patch "e1000x: Rename TcpIpv6 into TcpIpv6Ex". - Split patch "hw/net/net_tx_pkt: Decouple from PCI". (Philippe Mathieu-Daudé) - Added advanced Rx descriptor packet encoding definitions. (Sriram Yagnaraman) - Added some constants to eth.h to derive packet oversize thresholds. - Added IGB_TX_FLAGS_VLAN_SHIFT usage. - Renamed patch "igb: Fix igb_mac_reg_init alignment". (Philippe Mathieu-Daudé) - Fixed size check for packets with double VLAN. (Sriram Yagnaraman) - Fixed timing to timestamp Tx packet. Akihiko Odaki (48): hw/net/net_tx_pkt: Decouple implementation from PCI hw/net/net_tx_pkt: Decouple interface from PCI e1000x: Fix BPRC and MPRC igb: Fix Rx packet type encoding igb: Do not require CTRL.VME for tx VLAN tagging igb: Clear IMS bits when committing ICR access net/net_rx_pkt: Use iovec for net_rx_pkt_set_protocols() e1000e: Always copy ethernet header igb: Always copy ethernet header Fix references to igb Avocado test tests/avocado: Remove unused imports tests/avocado: Remove test_igb_nomsi_kvm hw/net/net_tx_pkt: Remove net_rx_pkt_get_l4_info net/eth: Rename eth_setup_vlan_headers_ex e1000x: Share more Rx filtering logic e1000x: Take CRC into consideration for size check e1000x: Rename TcpIpv6 into TcpIpv6Ex e1000e: Always log status after building rx metadata igb: Always log status after building rx metadata igb: Remove goto igb: Read DCMD.VLE of the first Tx descriptor e1000e: Reset packet state after emptying Tx queue vmxnet3: Reset packet state after emptying Tx queue igb: Add more definitions for Tx descriptor igb: Share common VF constants igb: Fix igb_mac_reg_init coding style alignment igb: Clear EICR bits for delayed MSI-X interrupts e1000e: Rename a variable in e1000e_receive_internal() igb: Rename a variable in igb_receive_internal() net/eth: Use void pointers net/eth: Always add VLAN tag hw/net/net_rx_pkt: Enforce alignment for eth_header tests/qtest/libqos/igb: Set GPIE.Multiple_MSIX igb: Implement MSI-X single vector mode igb: Use UDP for RSS hash igb: Implement Rx SCTP CSO igb: Implement Tx SCTP CSO igb: Strip the second VLAN tag for extended VLAN igb: Filter with the second VLAN tag for extended VLAN igb: Implement igb-specific oversize check igb: Implement Rx PTP2 timestamp igb: Implement Tx timestamp e1000e: Notify only new interrupts igb: Notify only new interrupts igb: Clear-on-read ICR when ICR.INTA is set vmxnet3: Do not depend on PC MAINTAINERS: Add a reviewer for network packet abstractions docs/system/devices/igb: Note igb is tested for DPDK MAINTAINERS | 3 +- docs/system/devices/igb.rst | 14 +- hw/net/e1000e_core.h | 2 - hw/net/e1000x_common.h | 9 +- hw/net/e1000x_regs.h | 24 +- hw/net/igb_common.h | 24 +- hw/net/igb_regs.h | 67 +- hw/net/net_rx_pkt.h | 38 +- hw/net/net_tx_pkt.h | 46 +- include/net/eth.h | 29 +- include/qemu/crc32c.h | 1 + hw/net/e1000.c | 41 +- hw/net/e1000e_core.c | 292 +++---- hw/net/e1000x_common.c | 79 +- hw/net/igb.c | 10 +- hw/net/igb_core.c | 717 ++++++++++-------- hw/net/igbvf.c | 7 - hw/net/net_rx_pkt.c | 107 ++- hw/net/net_tx_pkt.c | 101 ++- hw/net/virtio-net.c | 7 +- hw/net/vmxnet3.c | 22 +- net/eth.c | 100 +-- tests/qtest/libqos/igb.c | 1 + util/crc32c.c | 8 + hw/net/Kconfig | 2 +- hw/net/trace-events | 19 +- .../org.centos/stream/8/x86_64/test-avocado | 3 +- tests/avocado/netdev-ethtool.py | 17 +- 28 files changed, 969 insertions(+), 821 deletions(-) -- 2.40.0