From patchwork Wed Apr 26 10:36:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Akihiko Odaki X-Patchwork-Id: 1773970 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=daynix-com.20221208.gappssmtp.com header.i=@daynix-com.20221208.gappssmtp.com header.a=rsa-sha256 header.s=20221208 header.b=j8uOaqpj; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Q5wLR3djZz23vG for ; Wed, 26 Apr 2023 20:37:51 +1000 (AEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1prcWj-0007Zm-JU; Wed, 26 Apr 2023 06:37:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1prcWg-0007Yy-Gk for qemu-devel@nongnu.org; Wed, 26 Apr 2023 06:37:31 -0400 Received: from mail-pf1-x42b.google.com ([2607:f8b0:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1prcWe-0002hH-Jo for qemu-devel@nongnu.org; Wed, 26 Apr 2023 06:37:30 -0400 Received: by mail-pf1-x42b.google.com with SMTP id d2e1a72fcca58-63b57c49c4cso5719837b3a.3 for ; Wed, 26 Apr 2023 03:37:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682505445; x=1685097445; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=yVJ1lpFoRl4WWN/5DEX1Otb8TrNGE1Zk+LUAIQVwlqw=; b=j8uOaqpjJAN2R86kw3zedjGQRdJljJ173UbUaNhn8bahETZNLFVink30szVfYvmbiX DzBqyBGZw1Gl/gCvSAjpSke+02uunc2jekdebrn1QdUhlZ53OCWbQwb6PNc6linDn/TJ +Uw6Cri913yXedy1rnFApR654L4k3YUz6grsA8k7udhCTAiyQtXnG8HxJGkcB/9rbN3w V9OghWN1FIWQo27tbU/DXFt7gbwsQirAXxwh+u+1uUNjRk46JsJkXnkA9+WQ332LucG1 2/AYKf6t58grxa8ighyrjZP9jeaRJIaNkA3w90MOnqwvGVNAAwsRxEYO7G87g2/Bsjmt OZtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682505445; x=1685097445; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=yVJ1lpFoRl4WWN/5DEX1Otb8TrNGE1Zk+LUAIQVwlqw=; b=cn3N+dHogBfzQ1B6IqwnXbPKSAeX9UCerA+pkWe58rNiyvJQ64YwhTrbDNaBI5NQpY DeYk/jyoa+AOp3KFhx3zcs2d9OBr+/02DOT8KyK3PKt+zj2rp12ZR+XEz3BtTh8AaBV8 XUikQyxDyyrktHXHvAV89Lz939gdCkdm3stbqlMTLuEEWvvdgBJz8c8xqivYIi5xhUAh /QJSAQ5WXy137+w9lIsawG+X6aMUPFFh8m9hilDmi+YTzL+PezV/dm1EQXCYJNoR/GhP P7y8J4t2+eSunpo0/3qMpl2YqWgaVBzF55z5WKLI8IkA/SlZpaFBl/sqvFnxx+kt8XyX IHdw== X-Gm-Message-State: AAQBX9crC4Tr0/pS8myv/z/zDOJzI1Ca2CIpzOjAnbFTe0MN2h2tRYti DW7BzqrvRCvhbN60uDT8wicjCg== X-Google-Smtp-Source: AKy350YFAQg79rQDWtp5B24xald+Mjl7fgq3Cn9hD5IeCg3yXq+QVrqj/pWHVjgNPZEH69KaZiglpg== X-Received: by 2002:a05:6a21:3405:b0:f5:75f7:a0bd with SMTP id yn5-20020a056a21340500b000f575f7a0bdmr9235181pzb.13.1682505445568; Wed, 26 Apr 2023 03:37:25 -0700 (PDT) Received: from alarm.u-tokyo.ac.jp ([157.82.194.15]) by smtp.gmail.com with ESMTPSA id m11-20020a63580b000000b0051322a5aa64sm9317919pgb.3.2023.04.26.03.37.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Apr 2023 03:37:25 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?utf-8?q?Alex_Benn=C3=A9e?= , =?utf-8?q?Philippe_M?= =?utf-8?q?athieu-Daud=C3=A9?= , Thomas Huth , Wainer dos Santos Moschetta , Beraldo Leal , Cleber Rosa , Laurent Vivier , Paolo Bonzini , qemu-devel@nongnu.org, Tomasz Dzieciol , Akihiko Odaki Subject: [PATCH v4 00/48] igb: Fix for DPDK Date: Wed, 26 Apr 2023 19:36:28 +0900 Message-Id: <20230426103716.26279-1-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 MIME-Version: 1.0 Received-SPF: none client-ip=2607:f8b0:4864:20::42b; envelope-from=akihiko.odaki@daynix.com; helo=mail-pf1-x42b.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Based-on: <366bbcafdb6e0373f0deb105153768a8c0bded87.camel@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(-)