From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223619; cv=none; d=zohomail.com; s=zohoarc; b=YSPllJnh6RkUoIKdIz4WB2u+q3FsXS+ojk1FiEcxAk5i8AprAmeb2omOUuHFDKTF93ojp4jdhejsn3xSeOoxBJuvFpDztOmKuoGmh7Vfml5Y+i76/Sa+tH9gFSMMwqKtFElFXsJ46CJ0tKFuMEGdry4gRVI/oHewSHGKqsq7SBk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223619; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=I/pDwl8AWifWnquycf9eti2pt0sVkbePe+g+hr0tUgQ=; b=mTvLZrh4OsNt6a8Iz+NEia+2wwPppBLOwrjSDs+yqNhX6oo8XRhuQTkHd1khA/g0DGW1r1Q6frZYLcEpWn8c7JwD707AHctwi7OCXBjrpVkGXdwstbrlMGJc/CkhVGw0y34wR3faygRp0WIGWP+RTVt/V7QyeTuITFScRFrPh8Y= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223619625302.09374593508596; Sat, 22 Apr 2023 21:20:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRBc-0001nG-3O; Sun, 23 Apr 2023 00:18:52 -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 1pqRBa-0001ms-E0 for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:18:50 -0400 Received: from mail-pl1-x62f.google.com ([2607:f8b0:4864:20::62f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRBY-0000jS-2X for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:18:50 -0400 Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-1a6762fd23cso30379815ad.3 for ; Sat, 22 Apr 2023 21:18:47 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.18.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:18:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223526; x=1684815526; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=I/pDwl8AWifWnquycf9eti2pt0sVkbePe+g+hr0tUgQ=; b=E2kDDqQiRGRvYr1aqzyIBmrYytE2VzIPP4U3HAr85J5HY2YQjB/w2S2XnvfalG+yra 7PEPF5xcs0R7ncBfEKpvy8wNyHWDd5aY+LP8NoWxsnCC9x8f58U1SxEljF18Z1s48XCQ gCe8sGQvIlH5cM2eC5S5M8OcoFOD71I3ACyVY8Zj/Y8z1u2UYZvBaRFf9WZ3xJwJadzT 99M5/nyrgPI33Kh8KbNbo6H10vJzNEMjVmTx0Sbt2lX2gkJPldHUqEn1ZoTjpk2IoXI0 NEdRonj4dzEVZe8YCHPWll5ZFirYZew8HCeXu2Our8+HHcGZ+gWGgiUQ7Eawz36EZKFm vKTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223526; x=1684815526; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=I/pDwl8AWifWnquycf9eti2pt0sVkbePe+g+hr0tUgQ=; b=duUEPJhBDgIIfuFvpAaP/L6VmshMlw+D54uLC/y7RYJWg3lWcd4+UjyVUcT/3qzfYw BtUOb66DP3qSQN3z9O1MVzqo6bqkI0kqzofNRIL7X6QB9XFN6y6183x/bBztmJAU2bR2 bcYN073aZ+tRLfAtoVDQynaier4YFRNuPzdggHeZYuspzS7w7muj7pmG6skhzYMcUbah RSHOxHGR8R/u5cAtou2EKmB9EXrcmtqDEN7XImbk3l5ED7eY4Xwx/zVV62vF0npGFQ21 M/Aw0ibV1y2OzcXTVf6N3EJVbGEK3wMHOzSdPZrxag7xcTF76XOVdfui9Emgy8aLwGRt L2jQ== X-Gm-Message-State: AAQBX9eIGjdSOvKSnQMVKxVNu4E6tyhtkvYRsl8rae744X6S//oK0kFf 78TO31IriIA/HsLqAibRmLGktw== X-Google-Smtp-Source: AKy350Zl8l1077b0PSNwlO1w3N4+HypUdoV09Q8ypQb71SoxDm4bHNMM6MjWNTekOn73/ondadWpCw== X-Received: by 2002:a17:902:e88c:b0:1a1:a830:cef8 with SMTP id w12-20020a170902e88c00b001a1a830cef8mr13755615plg.27.1682223526651; Sat, 22 Apr 2023 21:18:46 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 01/47] hw/net/net_tx_pkt: Decouple implementation from PCI Date: Sun, 23 Apr 2023 13:17:47 +0900 Message-Id: <20230423041833.5302-2-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::62f; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x62f.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223619936100007 Content-Type: text/plain; charset="utf-8" This is intended to be followed by another change for the interface. It also fixes the leak of memory mapping when the specified memory is partially mapped. Fixes: e263cd49c7 ("Packet abstraction for VMWARE network devices") Signed-off-by: Akihiko Odaki --- hw/net/net_tx_pkt.h | 9 ++++++++ hw/net/net_tx_pkt.c | 53 ++++++++++++++++++++++++++++----------------- 2 files changed, 42 insertions(+), 20 deletions(-) diff --git a/hw/net/net_tx_pkt.h b/hw/net/net_tx_pkt.h index e5ce6f20bc..5eb123ef90 100644 --- a/hw/net/net_tx_pkt.h +++ b/hw/net/net_tx_pkt.h @@ -153,6 +153,15 @@ void net_tx_pkt_dump(struct NetTxPkt *pkt); */ void net_tx_pkt_reset(struct NetTxPkt *pkt, PCIDevice *dev); =20 +/** + * Unmap a fragment mapped from a PCI device. + * + * @context: PCI device owning fragment + * @base: pointer to fragment + * @len: length of fragment + */ +void net_tx_pkt_unmap_frag_pci(void *context, void *base, size_t len); + /** * Send packet to qemu. handles sw offloads if vhdr is not supported. * diff --git a/hw/net/net_tx_pkt.c b/hw/net/net_tx_pkt.c index 8dc8568ba2..aca12ff035 100644 --- a/hw/net/net_tx_pkt.c +++ b/hw/net/net_tx_pkt.c @@ -384,10 +384,9 @@ void net_tx_pkt_setup_vlan_header_ex(struct NetTxPkt *= pkt, } } =20 -bool net_tx_pkt_add_raw_fragment(struct NetTxPkt *pkt, hwaddr pa, - size_t len) +static bool net_tx_pkt_add_raw_fragment_common(struct NetTxPkt *pkt, + void *base, size_t len) { - hwaddr mapped_len =3D 0; struct iovec *ventry; assert(pkt); =20 @@ -395,23 +394,12 @@ bool net_tx_pkt_add_raw_fragment(struct NetTxPkt *pkt= , hwaddr pa, return false; } =20 - if (!len) { - return true; - } - ventry =3D &pkt->raw[pkt->raw_frags]; - mapped_len =3D len; + ventry->iov_base =3D base; + ventry->iov_len =3D len; + pkt->raw_frags++; =20 - ventry->iov_base =3D pci_dma_map(pkt->pci_dev, pa, - &mapped_len, DMA_DIRECTION_TO_DEVICE); - - if ((ventry->iov_base !=3D NULL) && (len =3D=3D mapped_len)) { - ventry->iov_len =3D mapped_len; - pkt->raw_frags++; - return true; - } else { - return false; - } + return true; } =20 bool net_tx_pkt_has_fragments(struct NetTxPkt *pkt) @@ -465,8 +453,9 @@ void net_tx_pkt_reset(struct NetTxPkt *pkt, PCIDevice *= pci_dev) assert(pkt->raw); for (i =3D 0; i < pkt->raw_frags; i++) { assert(pkt->raw[i].iov_base); - pci_dma_unmap(pkt->pci_dev, pkt->raw[i].iov_base, - pkt->raw[i].iov_len, DMA_DIRECTION_TO_DEVICE, 0); + net_tx_pkt_unmap_frag_pci(pkt->pci_dev, + pkt->raw[i].iov_base, + pkt->raw[i].iov_len); } } pkt->pci_dev =3D pci_dev; @@ -476,6 +465,30 @@ void net_tx_pkt_reset(struct NetTxPkt *pkt, PCIDevice = *pci_dev) pkt->l4proto =3D 0; } =20 +void net_tx_pkt_unmap_frag_pci(void *context, void *base, size_t len) +{ + pci_dma_unmap(context, base, len, DMA_DIRECTION_TO_DEVICE, 0); +} + +bool net_tx_pkt_add_raw_fragment(struct NetTxPkt *pkt, hwaddr pa, + size_t len) +{ + dma_addr_t mapped_len =3D len; + void *base =3D pci_dma_map(pkt->pci_dev, pa, &mapped_len, + DMA_DIRECTION_TO_DEVICE); + if (!base) { + return false; + } + + if (mapped_len !=3D len || + !net_tx_pkt_add_raw_fragment_common(pkt, base, len)) { + net_tx_pkt_unmap_frag_pci(pkt->pci_dev, base, mapped_len); + return false; + } + + return true; +} + static void net_tx_pkt_do_sw_csum(struct NetTxPkt *pkt, struct iovec *iov, uint32_t iov_len, uint16_t csl) --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223770; cv=none; d=zohomail.com; s=zohoarc; b=fNU8OhPSabUwP/y/yDdXaWwAb/G6TnoevZFwlvEk3B3mdexxigYJ8OlO0rWKQUj1Qzi5okWHVEz0/vFnmrlQLTTdsFK1j0a+QYGwT2hLSzXy7wydtKLLDKdUpjk0FrRwHZFutByBJPYdWgSO9nnyYbsuHviwh2fvF1w5TNGf1vc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223770; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=rhyO5KHv07P2fPZjwxVzrfZ1VN6it93oojEHbZCgRoA=; b=HrsqM7O0rSTefqmfJhbUB9LS0CIAGe3a+/3rk1J2GtL+m9gJ95Potod+caJydLT5uiEoMtXRlt1UvjSdTN3DIJCZt/dwJ6ElupyfZCRyeXAf/hqqveAUQOcyQEBcu0Doj3Tr2CLzfkWVaO4Ms0J+EqUE7td9rW/vDwaFk03F7k8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223770263684.8117326226699; Sat, 22 Apr 2023 21:22:50 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRBe-0001nd-N4; Sun, 23 Apr 2023 00:18:54 -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 1pqRBd-0001nJ-5R for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:18:53 -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 1pqRBb-0000j1-13 for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:18:52 -0400 Received: by mail-pf1-x42b.google.com with SMTP id d2e1a72fcca58-63b5c48ea09so2973976b3a.1 for ; Sat, 22 Apr 2023 21:18:50 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.18.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:18:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223530; x=1684815530; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=rhyO5KHv07P2fPZjwxVzrfZ1VN6it93oojEHbZCgRoA=; b=jLWpIisCZj9HRGgmJ6QtTrhkq4xGSXSEhdzYpn/9+yhHRD8fOQUn+aRdjrK7Bm4fyX Dt4zhVod2CaMc6cGtNnGg4ANSm+S2ChtNy8vxT+5BMMQG6MQAKUcmcgrjQoldfFaESJ9 TfNCsGFxNNOBBm9wbbh5jq/h33P/JTJpSULpXdppe/VZvCgFe06C0pWkyTuX5eWt/v5L ZjeCWM/TRfMecqnOL7dSBtl+fF/T+/Km7fWb5mXEVpHwRNm27JdS3VEZJosTCNT+aHRD JGSoPolyhB7a1oivvDbTU2pm9UE1LndNm7UJWc79fuxQZztPHlq8vZJQe9knJef6cYso s4Lg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223530; x=1684815530; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rhyO5KHv07P2fPZjwxVzrfZ1VN6it93oojEHbZCgRoA=; b=mCayn85do4uU13Mek9uP6rjEfzNNPfgA4DTi1hskseB2Caa4TSuXRvlQaxaQ2ClIhC EIkE7P7ytaALbbQLoZv2Dhdrk+SxLy8kBPq+NmLotU2ELr1IjFzvdCk37FlUmOswWPee JD+5mPL/S20vWMDktWvsH47cVvvUqn7SNE4oLibWYk9q5ZnFnLjby9wxt8F1s6BRE3l3 LP4822VJ/rNfu3+LmS4FubQ5mWFsOaeRGptSlHIvmofB9CCZwmQDRpHfwijKCsEaoiAy dz7LRMXrSm0iEo1IEX5Bb7egAXyP5Pu2jB5JelHfNWq3amq9L8VQz+kkLiOsotRd36+Q yzSw== X-Gm-Message-State: AAQBX9cFg0b1grdmwADjKTdsR2Sotz+j8upahzynVs7JiRpxh988qItP MtHhLLombSayOjRSjoyWGD7gTg== X-Google-Smtp-Source: AKy350bRN3Fm939eyma3zYx6Y4Pmd5F5wuplOcvmLcaASJBA3Tz08jj5Vjm5hfHXItTjnYyp/p/2jQ== X-Received: by 2002:a17:902:8307:b0:1a6:f93a:a135 with SMTP id bd7-20020a170902830700b001a6f93aa135mr9448577plb.61.1682223530058; Sat, 22 Apr 2023 21:18:50 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 02/47] hw/net/net_tx_pkt: Decouple interface from PCI Date: Sun, 23 Apr 2023 13:17:48 +0900 Message-Id: <20230423041833.5302-3-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223772431100003 Content-Type: text/plain; charset="utf-8" This allows to use the network packet abstractions even if PCI is not used. Signed-off-by: Akihiko Odaki --- hw/net/net_tx_pkt.h | 31 ++++++++++++++++++++----------- hw/net/e1000e_core.c | 13 ++++++++----- hw/net/igb_core.c | 13 ++++++------- hw/net/net_tx_pkt.c | 36 +++++++++++++----------------------- hw/net/vmxnet3.c | 14 +++++++------- 5 files changed, 54 insertions(+), 53 deletions(-) diff --git a/hw/net/net_tx_pkt.h b/hw/net/net_tx_pkt.h index 5eb123ef90..4d7233e975 100644 --- a/hw/net/net_tx_pkt.h +++ b/hw/net/net_tx_pkt.h @@ -26,17 +26,16 @@ =20 struct NetTxPkt; =20 -typedef void (* NetTxPktCallback)(void *, const struct iovec *, int, const= struct iovec *, int); +typedef void (*NetTxPktFreeFrag)(void *, void *, size_t); +typedef void (*NetTxPktSend)(void *, const struct iovec *, int, const stru= ct iovec *, int); =20 /** * Init function for tx packet functionality * * @pkt: packet pointer - * @pci_dev: PCI device processing this packet * @max_frags: max tx ip fragments */ -void net_tx_pkt_init(struct NetTxPkt **pkt, PCIDevice *pci_dev, - uint32_t max_frags); +void net_tx_pkt_init(struct NetTxPkt **pkt, uint32_t max_frags); =20 /** * Clean all tx packet resources. @@ -95,12 +94,11 @@ net_tx_pkt_setup_vlan_header(struct NetTxPkt *pkt, uint= 16_t vlan) * populate data fragment into pkt context. * * @pkt: packet - * @pa: physical address of fragment + * @base: pointer to fragment * @len: length of fragment * */ -bool net_tx_pkt_add_raw_fragment(struct NetTxPkt *pkt, hwaddr pa, - size_t len); +bool net_tx_pkt_add_raw_fragment(struct NetTxPkt *pkt, void *base, size_t = len); =20 /** * Fix ip header fields and calculate IP header and pseudo header checksum= s. @@ -148,10 +146,11 @@ void net_tx_pkt_dump(struct NetTxPkt *pkt); * reset tx packet private context (needed to be called between packets) * * @pkt: packet - * @dev: PCI device processing the next packet - * + * @callback: function to free the fragments + * @context: pointer to be passed to the callback */ -void net_tx_pkt_reset(struct NetTxPkt *pkt, PCIDevice *dev); +void net_tx_pkt_reset(struct NetTxPkt *pkt, + NetTxPktFreeFrag callback, void *context); =20 /** * Unmap a fragment mapped from a PCI device. @@ -162,6 +161,16 @@ void net_tx_pkt_reset(struct NetTxPkt *pkt, PCIDevice = *dev); */ void net_tx_pkt_unmap_frag_pci(void *context, void *base, size_t len); =20 +/** + * map data fragment from PCI device and populate it into pkt context. + * + * @pci_dev: PCI device owning fragment + * @pa: physical address of fragment + * @len: length of fragment + */ +bool net_tx_pkt_add_raw_fragment_pci(struct NetTxPkt *pkt, PCIDevice *pci_= dev, + dma_addr_t pa, size_t len); + /** * Send packet to qemu. handles sw offloads if vhdr is not supported. * @@ -182,7 +191,7 @@ bool net_tx_pkt_send(struct NetTxPkt *pkt, NetClientSta= te *nc); * @ret: operation result */ bool net_tx_pkt_send_custom(struct NetTxPkt *pkt, bool offload, - NetTxPktCallback callback, void *context); + NetTxPktSend callback, void *context); =20 /** * parse raw packet data and analyze offload requirements. diff --git a/hw/net/e1000e_core.c b/hw/net/e1000e_core.c index cfa3f55e96..15821a75e0 100644 --- a/hw/net/e1000e_core.c +++ b/hw/net/e1000e_core.c @@ -746,7 +746,8 @@ e1000e_process_tx_desc(E1000ECore *core, addr =3D le64_to_cpu(dp->buffer_addr); =20 if (!tx->skip_cp) { - if (!net_tx_pkt_add_raw_fragment(tx->tx_pkt, addr, split_size)) { + if (!net_tx_pkt_add_raw_fragment_pci(tx->tx_pkt, core->owner, + addr, split_size)) { tx->skip_cp =3D true; } } @@ -764,7 +765,7 @@ e1000e_process_tx_desc(E1000ECore *core, } =20 tx->skip_cp =3D false; - net_tx_pkt_reset(tx->tx_pkt, core->owner); + net_tx_pkt_reset(tx->tx_pkt, net_tx_pkt_unmap_frag_pci, core->owne= r); =20 tx->sum_needed =3D 0; tx->cptse =3D 0; @@ -3421,7 +3422,7 @@ e1000e_core_pci_realize(E1000ECore *core, qemu_add_vm_change_state_handler(e1000e_vm_state_change, core); =20 for (i =3D 0; i < E1000E_NUM_QUEUES; i++) { - net_tx_pkt_init(&core->tx[i].tx_pkt, core->owner, E1000E_MAX_TX_FR= AGS); + net_tx_pkt_init(&core->tx[i].tx_pkt, E1000E_MAX_TX_FRAGS); } =20 net_rx_pkt_init(&core->rx_pkt); @@ -3446,7 +3447,8 @@ e1000e_core_pci_uninit(E1000ECore *core) qemu_del_vm_change_state_handler(core->vmstate); =20 for (i =3D 0; i < E1000E_NUM_QUEUES; i++) { - net_tx_pkt_reset(core->tx[i].tx_pkt, core->owner); + net_tx_pkt_reset(core->tx[i].tx_pkt, + net_tx_pkt_unmap_frag_pci, core->owner); net_tx_pkt_uninit(core->tx[i].tx_pkt); } =20 @@ -3571,7 +3573,8 @@ static void e1000e_reset(E1000ECore *core, bool sw) e1000x_reset_mac_addr(core->owner_nic, core->mac, core->permanent_mac); =20 for (i =3D 0; i < ARRAY_SIZE(core->tx); i++) { - net_tx_pkt_reset(core->tx[i].tx_pkt, core->owner); + net_tx_pkt_reset(core->tx[i].tx_pkt, + net_tx_pkt_unmap_frag_pci, core->owner); memset(&core->tx[i].props, 0, sizeof(core->tx[i].props)); core->tx[i].skip_cp =3D false; } diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index 826e7a6cf1..abfdce9aaf 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -597,7 +597,8 @@ igb_process_tx_desc(IGBCore *core, length =3D cmd_type_len & 0xFFFF; =20 if (!tx->skip_cp) { - if (!net_tx_pkt_add_raw_fragment(tx->tx_pkt, buffer_addr, length))= { + if (!net_tx_pkt_add_raw_fragment_pci(tx->tx_pkt, dev, + buffer_addr, length)) { tx->skip_cp =3D true; } } @@ -616,7 +617,7 @@ igb_process_tx_desc(IGBCore *core, =20 tx->first =3D true; tx->skip_cp =3D false; - net_tx_pkt_reset(tx->tx_pkt, dev); + net_tx_pkt_reset(tx->tx_pkt, net_tx_pkt_unmap_frag_pci, dev); } } =20 @@ -842,8 +843,6 @@ igb_start_xmit(IGBCore *core, const IGB_TxRing *txr) d =3D core->owner; } =20 - net_tx_pkt_reset(txr->tx->tx_pkt, d); - while (!igb_ring_empty(core, txi)) { base =3D igb_ring_head_descr(core, txi); =20 @@ -861,6 +860,8 @@ igb_start_xmit(IGBCore *core, const IGB_TxRing *txr) core->mac[EICR] |=3D eic; igb_set_interrupt_cause(core, E1000_ICR_TXDW); } + + net_tx_pkt_reset(txr->tx->tx_pkt, net_tx_pkt_unmap_frag_pci, d); } =20 static uint32_t @@ -3954,7 +3955,7 @@ igb_core_pci_realize(IGBCore *core, core->vmstate =3D qemu_add_vm_change_state_handler(igb_vm_state_change= , core); =20 for (i =3D 0; i < IGB_NUM_QUEUES; i++) { - net_tx_pkt_init(&core->tx[i].tx_pkt, NULL, E1000E_MAX_TX_FRAGS); + net_tx_pkt_init(&core->tx[i].tx_pkt, E1000E_MAX_TX_FRAGS); } =20 net_rx_pkt_init(&core->rx_pkt); @@ -3979,7 +3980,6 @@ igb_core_pci_uninit(IGBCore *core) qemu_del_vm_change_state_handler(core->vmstate); =20 for (i =3D 0; i < IGB_NUM_QUEUES; i++) { - net_tx_pkt_reset(core->tx[i].tx_pkt, NULL); net_tx_pkt_uninit(core->tx[i].tx_pkt); } =20 @@ -4158,7 +4158,6 @@ static void igb_reset(IGBCore *core, bool sw) =20 for (i =3D 0; i < ARRAY_SIZE(core->tx); i++) { tx =3D &core->tx[i]; - net_tx_pkt_reset(tx->tx_pkt, NULL); memset(tx->ctx, 0, sizeof(tx->ctx)); tx->first =3D true; tx->skip_cp =3D false; diff --git a/hw/net/net_tx_pkt.c b/hw/net/net_tx_pkt.c index aca12ff035..cc36750c9b 100644 --- a/hw/net/net_tx_pkt.c +++ b/hw/net/net_tx_pkt.c @@ -16,12 +16,12 @@ */ =20 #include "qemu/osdep.h" -#include "net_tx_pkt.h" #include "net/eth.h" #include "net/checksum.h" #include "net/tap.h" #include "net/net.h" #include "hw/pci/pci_device.h" +#include "net_tx_pkt.h" =20 enum { NET_TX_PKT_VHDR_FRAG =3D 0, @@ -32,8 +32,6 @@ enum { =20 /* TX packet private context */ struct NetTxPkt { - PCIDevice *pci_dev; - struct virtio_net_hdr virt_hdr; =20 struct iovec *raw; @@ -59,13 +57,10 @@ struct NetTxPkt { uint8_t l4proto; }; =20 -void net_tx_pkt_init(struct NetTxPkt **pkt, PCIDevice *pci_dev, - uint32_t max_frags) +void net_tx_pkt_init(struct NetTxPkt **pkt, uint32_t max_frags) { struct NetTxPkt *p =3D g_malloc0(sizeof *p); =20 - p->pci_dev =3D pci_dev; - p->vec =3D g_new(struct iovec, max_frags + NET_TX_PKT_PL_START_FRAG); =20 p->raw =3D g_new(struct iovec, max_frags); @@ -384,8 +379,7 @@ void net_tx_pkt_setup_vlan_header_ex(struct NetTxPkt *p= kt, } } =20 -static bool net_tx_pkt_add_raw_fragment_common(struct NetTxPkt *pkt, - void *base, size_t len) +bool net_tx_pkt_add_raw_fragment(struct NetTxPkt *pkt, void *base, size_t = len) { struct iovec *ventry; assert(pkt); @@ -433,7 +427,8 @@ void net_tx_pkt_dump(struct NetTxPkt *pkt) #endif } =20 -void net_tx_pkt_reset(struct NetTxPkt *pkt, PCIDevice *pci_dev) +void net_tx_pkt_reset(struct NetTxPkt *pkt, + NetTxPktFreeFrag callback, void *context) { int i; =20 @@ -453,12 +448,9 @@ void net_tx_pkt_reset(struct NetTxPkt *pkt, PCIDevice = *pci_dev) assert(pkt->raw); for (i =3D 0; i < pkt->raw_frags; i++) { assert(pkt->raw[i].iov_base); - net_tx_pkt_unmap_frag_pci(pkt->pci_dev, - pkt->raw[i].iov_base, - pkt->raw[i].iov_len); + callback(context, pkt->raw[i].iov_base, pkt->raw[i].iov_len); } } - pkt->pci_dev =3D pci_dev; pkt->raw_frags =3D 0; =20 pkt->hdr_len =3D 0; @@ -470,19 +462,17 @@ void net_tx_pkt_unmap_frag_pci(void *context, void *b= ase, size_t len) pci_dma_unmap(context, base, len, DMA_DIRECTION_TO_DEVICE, 0); } =20 -bool net_tx_pkt_add_raw_fragment(struct NetTxPkt *pkt, hwaddr pa, - size_t len) +bool net_tx_pkt_add_raw_fragment_pci(struct NetTxPkt *pkt, PCIDevice *pci_= dev, + dma_addr_t pa, size_t len) { dma_addr_t mapped_len =3D len; - void *base =3D pci_dma_map(pkt->pci_dev, pa, &mapped_len, - DMA_DIRECTION_TO_DEVICE); + void *base =3D pci_dma_map(pci_dev, pa, &mapped_len, DMA_DIRECTION_TO_= DEVICE); if (!base) { return false; } =20 - if (mapped_len !=3D len || - !net_tx_pkt_add_raw_fragment_common(pkt, base, len)) { - net_tx_pkt_unmap_frag_pci(pkt->pci_dev, base, mapped_len); + if (mapped_len !=3D len || !net_tx_pkt_add_raw_fragment(pkt, base, len= )) { + net_tx_pkt_unmap_frag_pci(pci_dev, base, mapped_len); return false; } =20 @@ -710,7 +700,7 @@ static void net_tx_pkt_udp_fragment_fix(struct NetTxPkt= *pkt, } =20 static bool net_tx_pkt_do_sw_fragmentation(struct NetTxPkt *pkt, - NetTxPktCallback callback, + NetTxPktSend callback, void *context) { uint8_t gso_type =3D pkt->virt_hdr.gso_type & ~VIRTIO_NET_HDR_GSO_ECN; @@ -807,7 +797,7 @@ bool net_tx_pkt_send(struct NetTxPkt *pkt, NetClientSta= te *nc) } =20 bool net_tx_pkt_send_custom(struct NetTxPkt *pkt, bool offload, - NetTxPktCallback callback, void *context) + NetTxPktSend callback, void *context) { assert(pkt); =20 diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c index f7b874c139..9acff310e7 100644 --- a/hw/net/vmxnet3.c +++ b/hw/net/vmxnet3.c @@ -651,9 +651,8 @@ static void vmxnet3_process_tx_queue(VMXNET3State *s, i= nt qidx) data_len =3D (txd.len > 0) ? txd.len : VMXNET3_MAX_TX_BUF_SIZE; data_pa =3D txd.addr; =20 - if (!net_tx_pkt_add_raw_fragment(s->tx_pkt, - data_pa, - data_len)) { + if (!net_tx_pkt_add_raw_fragment_pci(s->tx_pkt, PCI_DEVICE(s), + data_pa, data_len)) { s->skip_current_tx_pkt =3D true; } } @@ -678,7 +677,8 @@ static void vmxnet3_process_tx_queue(VMXNET3State *s, i= nt qidx) vmxnet3_complete_packet(s, qidx, txd_idx); s->tx_sop =3D true; s->skip_current_tx_pkt =3D false; - net_tx_pkt_reset(s->tx_pkt, PCI_DEVICE(s)); + net_tx_pkt_reset(s->tx_pkt, + net_tx_pkt_unmap_frag_pci, PCI_DEVICE(s)); } } } @@ -1159,7 +1159,7 @@ static void vmxnet3_deactivate_device(VMXNET3State *s) { if (s->device_active) { VMW_CBPRN("Deactivating vmxnet3..."); - net_tx_pkt_reset(s->tx_pkt, PCI_DEVICE(s)); + net_tx_pkt_reset(s->tx_pkt, net_tx_pkt_unmap_frag_pci, PCI_DEVICE(= s)); net_tx_pkt_uninit(s->tx_pkt); net_rx_pkt_uninit(s->rx_pkt); s->device_active =3D false; @@ -1519,7 +1519,7 @@ static void vmxnet3_activate_device(VMXNET3State *s) =20 /* Preallocate TX packet wrapper */ VMW_CFPRN("Max TX fragments is %u", s->max_tx_frags); - net_tx_pkt_init(&s->tx_pkt, PCI_DEVICE(s), s->max_tx_frags); + net_tx_pkt_init(&s->tx_pkt, s->max_tx_frags); net_rx_pkt_init(&s->rx_pkt); =20 /* Read rings memory locations for RX queues */ @@ -2399,7 +2399,7 @@ static int vmxnet3_post_load(void *opaque, int versio= n_id) { VMXNET3State *s =3D opaque; =20 - net_tx_pkt_init(&s->tx_pkt, PCI_DEVICE(s), s->max_tx_frags); + net_tx_pkt_init(&s->tx_pkt, s->max_tx_frags); net_rx_pkt_init(&s->rx_pkt); =20 if (s->msix_used) { --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223782; cv=none; d=zohomail.com; s=zohoarc; b=ZkaUV2cBo2pjNa+WNBmg3eODSeQJBC6jUbXUDOguf8GRDpf2s/UuHx1CEoz+OA7r6fDJEWHi1VtUJfpUPLjeqiInkBrbS/fEzh8jR2XhKFVkd7Q+J+1DOGlHD/EJL/fHLRBF/Dp7QBfAuiT/pRYQmwpyzCDbT5Rr+H5CZzVUTCw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223782; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=BnuVnIj/2ZuF2EgM3/qsznMkchxIe/D9v7O7piK8to0=; b=OsTvJQVOLFT77YyALOrqLz9MoeDsSsg305/qufGlYuKwdDuz7lx/MyVSWY1uIJlFenqnCVpxYFYH2X25GUaylMiNG445wdh8WPwUKCuYkfUysw6wc5OkVdf2fp0r1pBCgPso8IG/j7f5rEK9cPprKaEyfg+koAqldQJ+5Ltqpi0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223782598288.2277274596098; Sat, 22 Apr 2023 21:23:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRBi-0001o7-LC; Sun, 23 Apr 2023 00:18:58 -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 1pqRBg-0001nn-Dh for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:18:56 -0400 Received: from mail-pl1-x634.google.com ([2607:f8b0:4864:20::634]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRBe-0000k4-KM for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:18:56 -0400 Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-1a66b9bd7dfso38219135ad.2 for ; Sat, 22 Apr 2023 21:18:54 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.18.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:18:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223533; x=1684815533; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=BnuVnIj/2ZuF2EgM3/qsznMkchxIe/D9v7O7piK8to0=; b=rld8efIbQzusaebPNunE5K5Njphm1xlWJgTFEd8+bqchVG2nO8C5YZT236142MQ/Yh Lw6HNQVo/+PFWii4YkjdAvWvZBQq7MVD88Ad4luqPngorfmfsNiL44GuKY3ocv6L85TI DrjPhOgXLthwMznyrl1GhBGaJLVAcpF9hY8gSCi6Plp5tZCAJiIQ1cNdIRX6oxH/MQNc Noxu1y+qSpm4nxhq8dV2ylZEv6QG0H2wXtYLRenHH/dQjnyTDTPWae+x5R+vjWLDJ1lS 9Bh5TaByoT8o88apZI15Lbv1W6qtG0dHB0VwscwWuYvkeqZvpTDZz+kSCJC3PuSSU4bI BrmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223533; x=1684815533; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=BnuVnIj/2ZuF2EgM3/qsznMkchxIe/D9v7O7piK8to0=; b=fcT4vVpbCrSvtVxPG1bbuzItd+ecTCvbwqEwsoGQfiSM2dWEL8KRStIoh0/lv1bI+T YTvoAE7lWMyqdwRidqtX+3sghpSICf73E2Y1HcnAawJsatqhrl3BF/npTKg16D1ZISsY 2tVdd3pS4YDTRM+59LfpmwWMycZivm29qo25gX+AhnVbOkFibigk98xrpiUB1MeZJ8hX nb796y3kOed0kFT8+Gsa6YjCwBwrdfW3RWQVVyTSQtRzNa44i+DfpY1VuKgvOcn3rta6 DsvTg9Xl6iIYuBjHutO5rYZlz43OX5UF8If/5/ZUxB62U1XfL6enQ9FXO54lbsEn+yWP 9Luw== X-Gm-Message-State: AAQBX9dDJFEjjZM5P1ViS0N71IcCHrbvbJlnLbnKVIL7QXsCPEksMttV /uBUrcjbiT6w4IrjvjC95Nbigw== X-Google-Smtp-Source: AKy350ZmlOfzzfRkbOUEkD2bXk94VVTdkGQ42OUIXhXed4Yqzi7WbarFRbEqrtth0RgseqR5gra6Zg== X-Received: by 2002:a17:902:d486:b0:1a9:5aef:1aea with SMTP id c6-20020a170902d48600b001a95aef1aeamr5251628plg.66.1682223533429; Sat, 22 Apr 2023 21:18:53 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 03/47] e1000x: Fix BPRC and MPRC Date: Sun, 23 Apr 2023 13:17:49 +0900 Message-Id: <20230423041833.5302-4-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::634; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x634.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223784662100005 Content-Type: text/plain; charset="utf-8" Before this change, e1000 and the common code updated BPRC and MPRC depending on the matched filter, but e1000e and igb decided to update those counters by deriving the packet type independently. This inconsistency caused a multicast packet to be counted twice. Updating BPRC and MPRC depending on are fundamentally flawed anyway as a filter can be used for different types of packets. For example, it is possible to filter broadcast packets with MTA. Always determine what counters to update by inspecting the packets. Fixes: 3b27430177 ("e1000: Implementing various counters") Signed-off-by: Akihiko Odaki Reviewed-by: Sriram Yagnaraman --- hw/net/e1000x_common.h | 5 +++-- hw/net/e1000.c | 6 +++--- hw/net/e1000e_core.c | 20 +++----------------- hw/net/e1000x_common.c | 25 +++++++++++++++++++------ hw/net/igb_core.c | 22 +++++----------------- 5 files changed, 33 insertions(+), 45 deletions(-) diff --git a/hw/net/e1000x_common.h b/hw/net/e1000x_common.h index 911abd8a90..0298e06283 100644 --- a/hw/net/e1000x_common.h +++ b/hw/net/e1000x_common.h @@ -91,8 +91,9 @@ e1000x_update_regs_on_link_up(uint32_t *mac, uint16_t *ph= y) } =20 void e1000x_update_rx_total_stats(uint32_t *mac, - size_t data_size, - size_t data_fcs_size); + eth_pkt_types_e pkt_type, + size_t pkt_size, + size_t pkt_fcs_size); =20 void e1000x_core_prepare_eeprom(uint16_t *eeprom, const uint16_t *templ, diff --git a/hw/net/e1000.c b/hw/net/e1000.c index 59bacb5d3b..18eb6d8876 100644 --- a/hw/net/e1000.c +++ b/hw/net/e1000.c @@ -826,12 +826,10 @@ receive_filter(E1000State *s, const uint8_t *buf, int= size) } =20 if (ismcast && (rctl & E1000_RCTL_MPE)) { /* promiscuous mcas= t */ - e1000x_inc_reg_if_not_full(s->mac_reg, MPRC); return 1; } =20 if (isbcast && (rctl & E1000_RCTL_BAM)) { /* broadcast enable= d */ - e1000x_inc_reg_if_not_full(s->mac_reg, BPRC); return 1; } =20 @@ -922,6 +920,7 @@ e1000_receive_iov(NetClientState *nc, const struct iove= c *iov, int iovcnt) size_t desc_offset; size_t desc_size; size_t total_size; + eth_pkt_types_e pkt_type; =20 if (!e1000x_hw_rx_enabled(s->mac_reg)) { return -1; @@ -971,6 +970,7 @@ e1000_receive_iov(NetClientState *nc, const struct iove= c *iov, int iovcnt) size -=3D 4; } =20 + pkt_type =3D get_eth_packet_type(PKT_GET_ETH_HDR(filter_buf)); rdh_start =3D s->mac_reg[RDH]; desc_offset =3D 0; total_size =3D size + e1000x_fcs_len(s->mac_reg); @@ -1036,7 +1036,7 @@ e1000_receive_iov(NetClientState *nc, const struct io= vec *iov, int iovcnt) } } while (desc_offset < total_size); =20 - e1000x_update_rx_total_stats(s->mac_reg, size, total_size); + e1000x_update_rx_total_stats(s->mac_reg, pkt_type, size, total_size); =20 n =3D E1000_ICS_RXT0; if ((rdt =3D s->mac_reg[RDT]) < s->mac_reg[RDH]) diff --git a/hw/net/e1000e_core.c b/hw/net/e1000e_core.c index 15821a75e0..c2d864a504 100644 --- a/hw/net/e1000e_core.c +++ b/hw/net/e1000e_core.c @@ -1488,24 +1488,10 @@ e1000e_write_to_rx_buffers(E1000ECore *core, } =20 static void -e1000e_update_rx_stats(E1000ECore *core, - size_t data_size, - size_t data_fcs_size) +e1000e_update_rx_stats(E1000ECore *core, size_t pkt_size, size_t pkt_fcs_s= ize) { - e1000x_update_rx_total_stats(core->mac, data_size, data_fcs_size); - - switch (net_rx_pkt_get_packet_type(core->rx_pkt)) { - case ETH_PKT_BCAST: - e1000x_inc_reg_if_not_full(core->mac, BPRC); - break; - - case ETH_PKT_MCAST: - e1000x_inc_reg_if_not_full(core->mac, MPRC); - break; - - default: - break; - } + eth_pkt_types_e pkt_type =3D net_rx_pkt_get_packet_type(core->rx_pkt); + e1000x_update_rx_total_stats(core->mac, pkt_type, pkt_size, pkt_fcs_si= ze); } =20 static inline bool diff --git a/hw/net/e1000x_common.c b/hw/net/e1000x_common.c index 4c8e7dcf70..7694673bcc 100644 --- a/hw/net/e1000x_common.c +++ b/hw/net/e1000x_common.c @@ -80,7 +80,6 @@ bool e1000x_rx_group_filter(uint32_t *mac, const uint8_t = *buf) f =3D mta_shift[(rctl >> E1000_RCTL_MO_SHIFT) & 3]; f =3D (((buf[5] << 8) | buf[4]) >> f) & 0xfff; if (mac[MTA + (f >> 5)] & (1 << (f & 0x1f))) { - e1000x_inc_reg_if_not_full(mac, MPRC); return true; } =20 @@ -212,13 +211,14 @@ e1000x_rxbufsize(uint32_t rctl) =20 void e1000x_update_rx_total_stats(uint32_t *mac, - size_t data_size, - size_t data_fcs_size) + eth_pkt_types_e pkt_type, + size_t pkt_size, + size_t pkt_fcs_size) { static const int PRCregs[6] =3D { PRC64, PRC127, PRC255, PRC511, PRC1023, PRC1522 }; =20 - e1000x_increase_size_stats(mac, PRCregs, data_fcs_size); + e1000x_increase_size_stats(mac, PRCregs, pkt_fcs_size); e1000x_inc_reg_if_not_full(mac, TPR); e1000x_inc_reg_if_not_full(mac, GPRC); /* TOR - Total Octets Received: @@ -226,8 +226,21 @@ e1000x_update_rx_total_stats(uint32_t *mac, * Address> field through the field, inclusively. * Always include FCS length (4) in size. */ - e1000x_grow_8reg_if_not_full(mac, TORL, data_size + 4); - e1000x_grow_8reg_if_not_full(mac, GORCL, data_size + 4); + e1000x_grow_8reg_if_not_full(mac, TORL, pkt_size + 4); + e1000x_grow_8reg_if_not_full(mac, GORCL, pkt_size + 4); + + switch (pkt_type) { + case ETH_PKT_BCAST: + e1000x_inc_reg_if_not_full(mac, BPRC); + break; + + case ETH_PKT_MCAST: + e1000x_inc_reg_if_not_full(mac, MPRC); + break; + + default: + break; + } } =20 void diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index abfdce9aaf..464a41d0aa 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -1438,29 +1438,17 @@ igb_write_to_rx_buffers(IGBCore *core, =20 static void igb_update_rx_stats(IGBCore *core, const E1000E_RingInfo *rxi, - size_t data_size, size_t data_fcs_size) + size_t pkt_size, size_t pkt_fcs_size) { - e1000x_update_rx_total_stats(core->mac, data_size, data_fcs_size); - - switch (net_rx_pkt_get_packet_type(core->rx_pkt)) { - case ETH_PKT_BCAST: - e1000x_inc_reg_if_not_full(core->mac, BPRC); - break; - - case ETH_PKT_MCAST: - e1000x_inc_reg_if_not_full(core->mac, MPRC); - break; - - default: - break; - } + eth_pkt_types_e pkt_type =3D net_rx_pkt_get_packet_type(core->rx_pkt); + e1000x_update_rx_total_stats(core->mac, pkt_type, pkt_size, pkt_fcs_si= ze); =20 if (core->mac[MRQC] & 1) { uint16_t pool =3D rxi->idx % IGB_NUM_VM_POOLS; =20 - core->mac[PVFGORC0 + (pool * 64)] +=3D data_size + 4; + core->mac[PVFGORC0 + (pool * 64)] +=3D pkt_size + 4; core->mac[PVFGPRC0 + (pool * 64)]++; - if (net_rx_pkt_get_packet_type(core->rx_pkt) =3D=3D ETH_PKT_MCAST)= { + if (pkt_type =3D=3D ETH_PKT_MCAST) { core->mac[PVFMPRC0 + (pool * 64)]++; } } --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223723; cv=none; d=zohomail.com; s=zohoarc; b=N6uZgDaJ1Er3xS57cx92vjyf/JxSgLhh3P418xtsxOmnQn82/lpIw6RXfFc3z/M2+3Rw+UOHI2xsruH35GgMmS3OL3XViVbCwGteDkJrE29fcnJu9fqreWIE4ljgQqWiko9UGIAP6f+daT2i4WORzIRtm6kZ1wzJwNCVO/7O6ww= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223723; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=TFx0uWHXmGtU+bW523w2MjKrmNDNNhMu9pkvmW6PJDU=; b=UoxSJQz1d9GR+ZomJI7BVvyhgT9sR2tKg/0ZReH/SdQdETMs8NSnSOSe+MM1PolsHduuy2LiM9IPXwfB2SY0E2w8XvdMUQI/Tr4YLthkQdwgt4nS6JOWV5amHRR5b2kiQoCNlFhhnJ4mQgAFEP25u8ZE+6xa+QwqucIVfu9Uouo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223723654795.358905865719; Sat, 22 Apr 2023 21:22:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRBl-0001oo-9E; Sun, 23 Apr 2023 00:19:01 -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 1pqRBj-0001oL-Fm for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:18:59 -0400 Received: from mail-pl1-x62a.google.com ([2607:f8b0:4864:20::62a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRBh-0000kI-U4 for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:18:59 -0400 Received: by mail-pl1-x62a.google.com with SMTP id d9443c01a7336-1a80d827179so28944655ad.3 for ; Sat, 22 Apr 2023 21:18:57 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.18.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:18:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223536; x=1684815536; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=TFx0uWHXmGtU+bW523w2MjKrmNDNNhMu9pkvmW6PJDU=; b=KCCYOjnEGqBZbr56g2k0G/Z3xmFM8UcegJ86oJQ7apQWMK4eLwgNbT91PsSvo5V4GV 6SYXizS8lSZp0UK7m8lAe1ZSyVo5mYrJtHnqOMahWpNeLFAZnCAZi9l105f8toflDdyI dwiBV6AryFtgkszAx8X5oqhv2VkXjD4cLrEKVWaTkWMdtwVzAtWfrMb5lIBV8FVOk2g0 TCdD1DUYPveFXOFmbqfSxkOchx6MDM/4tepXd8vuBCJoCWcnchyxfEIV6rATi+bOiTwm HxvJZf3+BXxJTRMSTPVHdNgBvjxjxT6+1wilq8rBQPD9PgMqHx4iWSKvl+0K9cv0z8gZ gYHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223536; x=1684815536; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TFx0uWHXmGtU+bW523w2MjKrmNDNNhMu9pkvmW6PJDU=; b=bneJmx1Lu6SPlxe184EesU5cVw0pHodyC3WuS1phvGBQvvps22NsU9LbpIMnjgboOt gQLs0lDJHuqHAp2L3tAralQpaaItza2SpoQStRPAmUyU1P9ogliJBNG6LGh1/QnJTy2j dGNOSoovJ4w2ZZoXNzl4Qh39+c19ROImrHfgzwy91yxpLgo76YPtctVoRhx4cWciXsHw wrdZbqZIE8OZq6CZ/JoCIgW6D24lpbC2fijL0Pv6cqnW10zFP4vigpOAa6t+MKTg02pA V5PZsI0e2VLdXpAB4dsIyTYd0LoGjYh/eHH34HtMH/ijdIip4MJns0+cn5Tx5Hs/bhJ7 1rEw== X-Gm-Message-State: AAQBX9ejg9/xOSpoXcKkI8q1ovkoiBWw1v7YFZc1fZ98nUeOJ0WZRbtl WVhJgDQvIhtzGHBoBaMvqGKh/PZdV86NubJrBKo= X-Google-Smtp-Source: AKy350aH9rgi1IEje1ZSFWe6R8FnKPaEz08e++RmmpwzWu+CXONexp8COvFMlp58ABfr/2nxQY2XHA== X-Received: by 2002:a17:903:1c9:b0:1a9:5f3e:e3bb with SMTP id e9-20020a17090301c900b001a95f3ee3bbmr4426003plh.2.1682223536776; Sat, 22 Apr 2023 21:18:56 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 04/47] igb: Fix Rx packet type encoding Date: Sun, 23 Apr 2023 13:17:50 +0900 Message-Id: <20230423041833.5302-5-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::62a; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x62a.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223724106100001 Content-Type: text/plain; charset="utf-8" igb's advanced descriptor uses a packet type encoding different from one used in e1000e's extended descriptor. Fix the logic to encode Rx packet type accordingly. Fixes: 3a977deebe ("Intrdocue igb device emulation") Signed-off-by: Akihiko Odaki Reviewed-by: Sriram Yagnaraman --- hw/net/igb_regs.h | 5 +++++ hw/net/igb_core.c | 38 +++++++++++++++++++------------------- 2 files changed, 24 insertions(+), 19 deletions(-) diff --git a/hw/net/igb_regs.h b/hw/net/igb_regs.h index c5c5b3c3b8..21ee9a3b2d 100644 --- a/hw/net/igb_regs.h +++ b/hw/net/igb_regs.h @@ -641,6 +641,11 @@ union e1000_adv_rx_desc { =20 #define E1000_STATUS_NUM_VFS_SHIFT 14 =20 +#define E1000_ADVRXD_PKT_IP4 BIT(4) +#define E1000_ADVRXD_PKT_IP6 BIT(6) +#define E1000_ADVRXD_PKT_TCP BIT(8) +#define E1000_ADVRXD_PKT_UDP BIT(9) + static inline uint8_t igb_ivar_entry_rx(uint8_t i) { return i < 8 ? i * 4 : (i - 8) * 4 + 2; diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index 464a41d0aa..dbd1192a8e 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -1227,7 +1227,6 @@ igb_build_rx_metadata(IGBCore *core, struct virtio_net_hdr *vhdr; bool hasip4, hasip6; EthL4HdrProto l4hdr_proto; - uint32_t pkt_type; =20 *status_flags =3D E1000_RXD_STAT_DD; =20 @@ -1266,28 +1265,29 @@ igb_build_rx_metadata(IGBCore *core, trace_e1000e_rx_metadata_ack(); } =20 - if (hasip6 && (core->mac[RFCTL] & E1000_RFCTL_IPV6_DIS)) { - trace_e1000e_rx_metadata_ipv6_filtering_disabled(); - pkt_type =3D E1000_RXD_PKT_MAC; - } else if (l4hdr_proto =3D=3D ETH_L4_HDR_PROTO_TCP || - l4hdr_proto =3D=3D ETH_L4_HDR_PROTO_UDP) { - pkt_type =3D hasip4 ? E1000_RXD_PKT_IP4_XDP : E1000_RXD_PKT_IP6_XD= P; - } else if (hasip4 || hasip6) { - pkt_type =3D hasip4 ? E1000_RXD_PKT_IP4 : E1000_RXD_PKT_IP6; - } else { - pkt_type =3D E1000_RXD_PKT_MAC; - } + if (pkt_info) { + *pkt_info =3D rss_info->enabled ? rss_info->type : 0; =20 - trace_e1000e_rx_metadata_pkt_type(pkt_type); + if (hasip4) { + *pkt_info |=3D E1000_ADVRXD_PKT_IP4; + } =20 - if (pkt_info) { - if (rss_info->enabled) { - *pkt_info =3D rss_info->type; + if (hasip6) { + *pkt_info |=3D E1000_ADVRXD_PKT_IP6; } =20 - *pkt_info |=3D (pkt_type << 4); - } else { - *status_flags |=3D E1000_RXD_PKT_TYPE(pkt_type); + switch (l4hdr_proto) { + case ETH_L4_HDR_PROTO_TCP: + *pkt_info |=3D E1000_ADVRXD_PKT_TCP; + break; + + case ETH_L4_HDR_PROTO_UDP: + *pkt_info |=3D E1000_ADVRXD_PKT_UDP; + break; + + default: + break; + } } =20 if (hdr_info) { --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682224017; cv=none; d=zohomail.com; s=zohoarc; b=XJ0wCA69e2iqPV74FvNFWYM6FGOf98gl12f1OvUMvtS+67aeUl37GevyZ4Mv5KU+oC+xLc0sL8sEG/4YhctRYu1tT9MCNOLuaSEvdUOj1fIOxPcJY7jS48QhjDq23wMB3poFtVug4FmvIFnS4EKEGx95k6OH2elvRk9ceajexgk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682224017; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=publPZs1fhxTrshwCuWg7dsVdQXSXv6ynCZ1gW8YOpU=; b=Rp4aojIcWzdsDg6HDix6kWSvE5HaKABvZChn4t1fO2fPKoaNHGaklH9RRVMfttipBD/f0CEbANFZEQW9+d6TMM9K70KXycnN9TDWLj0DshnaIBeX0BZKFwccevmKrwIsTxHq4Jrq6FNTIrpFifqfF6SZwzLht9jWfkij4z5tQ9o= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682224017316958.8196978507168; Sat, 22 Apr 2023 21:26:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRBo-0001pP-ST; Sun, 23 Apr 2023 00:19:04 -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 1pqRBm-0001or-Op for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:19:02 -0400 Received: from mail-pl1-x62f.google.com ([2607:f8b0:4864:20::62f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRBl-0000kY-8a for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:19:02 -0400 Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-1a526aa3dd5so38184825ad.3 for ; Sat, 22 Apr 2023 21:19:00 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.18.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:18:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223540; x=1684815540; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=publPZs1fhxTrshwCuWg7dsVdQXSXv6ynCZ1gW8YOpU=; b=UsDQenw0GsOb9iEer5TyzcWo6yX4aDnbWMymCCHi0JABj73PTvbTJxIsL2ZoqpWMEv 8HWzgY9fsFZGwDZ8GVBMPjbT6R6f4tELRGe2aItEz6xLmhl7JF87DN/7Z5Vm/LomajFk 5hGiVCgtoYe+zq38pXrMl+uoKojMiKGN+cHOgDS3wfuM4yllRR3GzItjdRVXnppxhIaM dvWt5chXBIIgULJOAEvLsbhnTkf7We0FG9cvP9SmS/B7IFEEgC2kx9n4MMSHAKZWUbai hEwGE0L7qrggGGUsgXD09I9wfpbO2Be8MsrL/79l2e9zCdyDiWcf7q/bz0aD68kW9VRi ihXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223540; x=1684815540; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=publPZs1fhxTrshwCuWg7dsVdQXSXv6ynCZ1gW8YOpU=; b=FqhvO70IlJN5WnsZ6ONtK1PoZf5RhrTP+hWk+jEAWn3g7vpPGACT3/tudpFBfizuX4 Z7IxRTkvUSEcZHIteFdTj9S0QFNbuSC8+qx+LiBesFY/wlT1CBu5MZmG/XAn8t5S2Df6 huqhL36tBMIB/3l+8IGwBFl1efuOJ7SSm+D9T2pScBLjFNTQJzPItAbhuIR4Mkzb1dqU V9cqQehttdhLthg5IRBAiDjzRI7xtlF65JGbNPyF1ZnQ0nz/Qt8A5TbZyeGr4vaqlvpd 5pRIj9ZE0smKWH818pntvPTGIlipfULN7S36Iby1VOHhCaeini8lBolb3Gon/ufvtrUp rxlQ== X-Gm-Message-State: AAQBX9erfPlM5lVAtk62a5oXFSRRz9/Lz0MirB+C+CIAhtE+EiEA2YsW l2Rhk1zIXwtGtwVroZh2AQuNPXORDgt01wJmyLA= X-Google-Smtp-Source: AKy350abQNig62S4NF5JSks4WIp3AxdUSocwllQY5LnUAsX6CshdjjU2LZONHaei9ZaRFr6kkk//kA== X-Received: by 2002:a17:903:113:b0:1a5:167f:620f with SMTP id y19-20020a170903011300b001a5167f620fmr8751489plc.15.1682223540169; Sat, 22 Apr 2023 21:19:00 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 05/47] igb: Do not require CTRL.VME for tx VLAN tagging Date: Sun, 23 Apr 2023 13:17:51 +0900 Message-Id: <20230423041833.5302-6-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::62f; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x62f.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682224019274100015 Content-Type: text/plain; charset="utf-8" While the datasheet of e1000e says it checks CTRL.VME for tx VLAN tagging, igb's datasheet has no such statements. It also says for "CTRL.VLE": > This register only affects the VLAN Strip in Rx it does not have any > influence in the Tx path in the 82576. (Appendix A. Changes from the 82575) There is no "CTRL.VLE" so it is more likely that it is a mistake of CTRL.VME. Fixes: fba7c3b788 ("igb: respect VMVIR and VMOLR for VLAN") Signed-off-by: Akihiko Odaki Reviewed-by: Sriram Yagnaraman --- hw/net/igb_core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index dbd1192a8e..96a118b6c1 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -402,7 +402,7 @@ igb_tx_insert_vlan(IGBCore *core, uint16_t qn, struct i= gb_tx *tx, } } =20 - if (insert_vlan && e1000x_vlan_enabled(core->mac)) { + if (insert_vlan) { net_tx_pkt_setup_vlan_header_ex(tx->tx_pkt, vlan, core->mac[VET] & 0xffff); } --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223783; cv=none; d=zohomail.com; s=zohoarc; b=hF1WS+gu+QPV9/aY8mcEapnQ+p1BJwIpJcILbd5Gdk093Skzsup+4osavLg4woUkKFpYkfeB/GkLCMyHw8ryxtsKu+E/frygu32X/o5wFxERtg3h2u+6q0JZ+ge6m1YfD48pVoQBqRLGEuqHDlF37DwWTGOviILAI/MlQbEZNRg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223783; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=kXRKnm81a5oWp6EqycccsF4Ul8+jyzY9G+OIFomF93w=; b=CpdQWUht7Z6tJOO/mOXeJnaftrxo7ih6SkrDwN+IvgxMoG4Fx3CdUFON/kLHqHLePqGIYISkNN4oKvsPKGpuetqw/4iYELsdJ7gxc63hwkqt8eTpuwhr3i7losryjzNtyi2xDXEmkZR9VyT0qAc5mN677eKq4GM3uYIEItPXqy4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 16822237839247.442371830146726; Sat, 22 Apr 2023 21:23:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRBs-0001qY-Ao; Sun, 23 Apr 2023 00:19:08 -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 1pqRBq-0001pu-AW for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:19:06 -0400 Received: from mail-pf1-x434.google.com ([2607:f8b0:4864:20::434]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRBo-0000kx-P4 for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:19:06 -0400 Received: by mail-pf1-x434.google.com with SMTP id d2e1a72fcca58-63b51fd2972so2794214b3a.3 for ; Sat, 22 Apr 2023 21:19:04 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.19.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:19:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223543; x=1684815543; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=kXRKnm81a5oWp6EqycccsF4Ul8+jyzY9G+OIFomF93w=; b=b8l8+qu606EdIg5oc90zJwXplDeKt9RPDBbnqizIKhc0frxkbDd5TUzDy1tfLfXqDD UQRLWkRFCw0kAEamOug0E7Mu6xSVYrlduRnZXKlpUAu5c4w+V4YU9C/xP0kboyrFiofN AKoCwiNq6C/FTmZ8+MG+AtNEcg/INU/YPlrGM0jJd6QJ4q6LVxthJeRJmuHinsKj3o2p +llG+RLTXszH4TlgOpMAaNn1etcQvM6jRkR4Rq2YYFGCpy+03yiV8Bv/vypwqiBlU9Qh xZebsXnej+K6yt947jDA8/J17USoJFipkxtjAKIsF1mhEprbWdgnEZdWUG4LbFUXo0jV /I+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223543; x=1684815543; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kXRKnm81a5oWp6EqycccsF4Ul8+jyzY9G+OIFomF93w=; b=FfN84jRdsUKS+GmT6hFvpzco0ktOPau8giY/JJxQrBR22YQoaMJ2QnDTpxYyqTwlGh flF9tU5UA6/zZZa1h0ifO3VpnGgf+bPpRs5Y4qSBMC9Afd0Rlc43QJxC1MtapspxyOkd +KcQIgVp+Ac5sioN/IfScB7a/4PCJ4vaechUMdOJYrUyP/3795pKYiwKZiSMEftRW7ak EU9KawQ/Qp7Qb/EBhuJ9hs7Fo4C9kfa06QO4S2DfFysJmqXfqtxbWMt1IlYYxKqJ9ClG k7OWQKO1zuDkCl79MPNnQS42IkogmKP7Vjd9BlaRfwyRvF59hMQ+EG6Vgf9YZyB/CfFU nEYA== X-Gm-Message-State: AAQBX9dguAZz2JwdOFpyTh9vVRNVuDp99lYI/s6AbwuQSn88cK1J94W2 xAMrlxfUn0EiIS3mds6QChOiAQ== X-Google-Smtp-Source: AKy350b51T5iRJjrTHF8e3Z6BMwDSeE0oAuP/JYdNKBlbgsh9BgCBZslGqoSjGdRhBAC8P8d5lKhiw== X-Received: by 2002:a17:902:d58f:b0:1a8:e4:1cfa with SMTP id k15-20020a170902d58f00b001a800e41cfamr10037235plh.68.1682223543554; Sat, 22 Apr 2023 21:19:03 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 06/47] igb: Clear IMS bits when committing ICR access Date: Sun, 23 Apr 2023 13:17:52 +0900 Message-Id: <20230423041833.5302-7-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::434; envelope-from=akihiko.odaki@daynix.com; helo=mail-pf1-x434.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223784389100003 Content-Type: text/plain; charset="utf-8" The datasheet says contradicting statements regarding ICR accesses so it is not reliable to determine the behavior of ICR accesses. However, e1000e does clear IMS bits when reading ICR accesses and Linux also expects ICR accesses will clear IMS bits according to: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/dri= vers/net/ethernet/intel/igb/igb_main.c?h=3Dv6.2#n8048 Fixes: 3a977deebe ("Intrdocue igb device emulation") Signed-off-by: Akihiko Odaki --- hw/net/igb_core.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index 96a118b6c1..eaca5bd2b6 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -2452,16 +2452,16 @@ igb_set_ims(IGBCore *core, int index, uint32_t val) static void igb_commit_icr(IGBCore *core) { /* - * If GPIE.NSICR =3D 0, then the copy of IAM to IMS will occur only if= at + * If GPIE.NSICR =3D 0, then the clear of IMS will occur only if at * least one bit is set in the IMS and there is a true interrupt as * reflected in ICR.INTA. */ if ((core->mac[GPIE] & E1000_GPIE_NSICR) || (core->mac[IMS] && (core->mac[ICR] & E1000_ICR_INT_ASSERTED))) { - igb_set_ims(core, IMS, core->mac[IAM]); - } else { - igb_update_interrupt_state(core); + igb_clear_ims_bits(core, core->mac[IAM]); } + + igb_update_interrupt_state(core); } =20 static void igb_set_icr(IGBCore *core, int index, uint32_t val) --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223630; cv=none; d=zohomail.com; s=zohoarc; b=hKVkBIRlj/GxMVS439MLvy0H7EOlvsJ/u0r6VG96vu7UcveAqk0UtQEjKb1UBcM4TT1AdZZIWwC3TfwfSR9kehbSeUs3F3HNbePjujWMiXeiiQ1Bfzq1K8XE5BdIL7mQP61JXejs5v8Jud2p54rc28CAFZRy3GZI6cLCtsxoM1o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223630; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=XbX0kk3EzojZbFg8WaqmfhGqaNouPuKvplrb+Gup2Js=; b=CnCI+AZTVE0pFFpwZAwgHJrYUPrrsQN3Dl3y5XdoSrBCl00eE8JAWz5xxG543skKKy5Qnh6Ou0R44czYaaHoncqWs/QGASglDQpzZFM23VASbomYxcPuPdp5sfggH1XhAPdZVp/HzhLOUxKKbL5Wl/x6FZ2j0g3Q8ZnPnizjqpc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223630455450.3922714635646; Sat, 22 Apr 2023 21:20:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRBv-0001r3-Fl; Sun, 23 Apr 2023 00:19:11 -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 1pqRBt-0001qg-JC for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:19:09 -0400 Received: from mail-pl1-x634.google.com ([2607:f8b0:4864:20::634]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRBr-0000k4-Ls for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:19:09 -0400 Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-1a66b9bd7dfso38220275ad.2 for ; Sat, 22 Apr 2023 21:19:07 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.19.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:19:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223547; x=1684815547; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=XbX0kk3EzojZbFg8WaqmfhGqaNouPuKvplrb+Gup2Js=; b=2hswt8Ea66AzgNT28j9L8H1Ce+UNl3oNrXx+TS75vaO9WsV1AJthJ29gzL3nuGR6Jo 64yXL1ReRGSJ0d1DGtFtj0bzZ3dwfdog/TaChw+CkR6DyekkrTZXb7p3Mur/7C3qPAh+ udSHZ2RcAUWyM4A0Yd1eIqUnuxZO+jsm98IqkB4qCrMRYdYlht1VOu5grifkzCg24CqW KiQGDO5Rg5quRcLVrEhjsHl12AcLk/bG6pfPC9uGRpt2KXmA9cbRoMUZIoal2bIdVmjo 01qTFU72Antlk6ccy4Ps+r/szdpCIyLqa79SC6nF2IAMSyU9JxjHXmqXln+znPWKe1IC FgWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223547; x=1684815547; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=XbX0kk3EzojZbFg8WaqmfhGqaNouPuKvplrb+Gup2Js=; b=fY6epA2Rc2VBcvZkPmPE/J8fSiBU+oSxaYr+9ZONW3jOrFdcXpiUDIJ5LgoGFKOFEa lqWNI18twjwwxCfnqyubaqrw+QIMt6DeIWhKFzUPVfmF/3AP3bJn6HSok+y2d8hHxga/ oFRlXiVqdfd66L3y2XM3Zgizzd7HUdlQ7k6VYQrmm9e9Bo5vMzy1X8aK9EKo3Ivhyx2Z ZHvsqowFTrdMwm7gSjk3361ADaxA079fxitsjwGUpeJH+cW1C5JqianfnB7Mb8JxDTOS FBlWGjguHSXN70rtqlf0w+dtO0w/wF+A9oJlz9K0Mx13vqIupWTqAKhaDgWaTbtu7tgA AXMg== X-Gm-Message-State: AAQBX9cxIusOrtiYrnnf9rVGby06QecEueslFt++rF5QfHNIbkwUV2ov kZyzk4PO9gMKNo08XqbUgaSHMw== X-Google-Smtp-Source: AKy350aO0ZLTeVAcY6uJ11f2e+ya8gygUjkWTwnWwKmEaKNezGUO6l0yxtg7I2N1buU8cSmQuQtY2Q== X-Received: by 2002:a17:902:e883:b0:1a6:bb7b:7a68 with SMTP id w3-20020a170902e88300b001a6bb7b7a68mr13697723plg.37.1682223546977; Sat, 22 Apr 2023 21:19:06 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 07/47] net/net_rx_pkt: Use iovec for net_rx_pkt_set_protocols() Date: Sun, 23 Apr 2023 13:17:53 +0900 Message-Id: <20230423041833.5302-8-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::634; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x634.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223631856100001 Content-Type: text/plain; charset="utf-8" igb does not properly ensure the buffer passed to net_rx_pkt_set_protocols() is contiguous for the entire L2/L3/L4 header. Allow it to pass scattered data to net_rx_pkt_set_protocols(). Fixes: 3a977deebe ("Intrdocue igb device emulation") Signed-off-by: Akihiko Odaki Reviewed-by: Sriram Yagnaraman --- hw/net/net_rx_pkt.h | 10 ++++++---- include/net/eth.h | 6 +++--- hw/net/igb_core.c | 2 +- hw/net/net_rx_pkt.c | 14 +++++--------- hw/net/virtio-net.c | 7 +++++-- hw/net/vmxnet3.c | 7 ++++++- net/eth.c | 18 ++++++++---------- 7 files changed, 34 insertions(+), 30 deletions(-) diff --git a/hw/net/net_rx_pkt.h b/hw/net/net_rx_pkt.h index d00b484900..a06f5c2675 100644 --- a/hw/net/net_rx_pkt.h +++ b/hw/net/net_rx_pkt.h @@ -55,12 +55,14 @@ size_t net_rx_pkt_get_total_len(struct NetRxPkt *pkt); * parse and set packet analysis results * * @pkt: packet - * @data: pointer to the data buffer to be parsed - * @len: data length + * @iov: received data scatter-gather list + * @iovcnt: number of elements in iov + * @iovoff: data start offset in the iov * */ -void net_rx_pkt_set_protocols(struct NetRxPkt *pkt, const void *data, - size_t len); +void net_rx_pkt_set_protocols(struct NetRxPkt *pkt, + const struct iovec *iov, size_t iovcnt, + size_t iovoff); =20 /** * fetches packet analysis results diff --git a/include/net/eth.h b/include/net/eth.h index c5ae4493b4..9f19c3a695 100644 --- a/include/net/eth.h +++ b/include/net/eth.h @@ -312,10 +312,10 @@ eth_get_l2_hdr_length(const void *p) } =20 static inline uint32_t -eth_get_l2_hdr_length_iov(const struct iovec *iov, int iovcnt) +eth_get_l2_hdr_length_iov(const struct iovec *iov, size_t iovcnt, size_t i= ovoff) { uint8_t p[sizeof(struct eth_header) + sizeof(struct vlan_header)]; - size_t copied =3D iov_to_buf(iov, iovcnt, 0, p, ARRAY_SIZE(p)); + size_t copied =3D iov_to_buf(iov, iovcnt, iovoff, p, ARRAY_SIZE(p)); =20 if (copied < ARRAY_SIZE(p)) { return copied; @@ -397,7 +397,7 @@ typedef struct eth_l4_hdr_info_st { bool has_tcp_data; } eth_l4_hdr_info; =20 -void eth_get_protocols(const struct iovec *iov, int iovcnt, +void eth_get_protocols(const struct iovec *iov, size_t iovcnt, size_t iovo= ff, bool *hasip4, bool *hasip6, size_t *l3hdr_off, size_t *l4hdr_off, diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index eaca5bd2b6..21a8d9ada4 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -1650,7 +1650,7 @@ igb_receive_internal(IGBCore *core, const struct iove= c *iov, int iovcnt, =20 ehdr =3D PKT_GET_ETH_HDR(filter_buf); net_rx_pkt_set_packet_type(core->rx_pkt, get_eth_packet_type(ehdr)); - net_rx_pkt_set_protocols(core->rx_pkt, filter_buf, size); + net_rx_pkt_set_protocols(core->rx_pkt, iov, iovcnt, iov_ofs); =20 queues =3D igb_receive_assign(core, ehdr, size, &rss_info, external_tx= ); if (!queues) { diff --git a/hw/net/net_rx_pkt.c b/hw/net/net_rx_pkt.c index 39cdea06de..63be6e05ad 100644 --- a/hw/net/net_rx_pkt.c +++ b/hw/net/net_rx_pkt.c @@ -103,7 +103,7 @@ net_rx_pkt_pull_data(struct NetRxPkt *pkt, iov, iovcnt, ploff, pkt->tot_len); } =20 - eth_get_protocols(pkt->vec, pkt->vec_len, &pkt->hasip4, &pkt->hasip6, + eth_get_protocols(pkt->vec, pkt->vec_len, 0, &pkt->hasip4, &pkt->hasip= 6, &pkt->l3hdr_off, &pkt->l4hdr_off, &pkt->l5hdr_off, &pkt->ip6hdr_info, &pkt->ip4hdr_info, &pkt->l4hdr_in= fo); =20 @@ -186,17 +186,13 @@ size_t net_rx_pkt_get_total_len(struct NetRxPkt *pkt) return pkt->tot_len; } =20 -void net_rx_pkt_set_protocols(struct NetRxPkt *pkt, const void *data, - size_t len) +void net_rx_pkt_set_protocols(struct NetRxPkt *pkt, + const struct iovec *iov, size_t iovcnt, + size_t iovoff) { - const struct iovec iov =3D { - .iov_base =3D (void *)data, - .iov_len =3D len - }; - assert(pkt); =20 - eth_get_protocols(&iov, 1, &pkt->hasip4, &pkt->hasip6, + eth_get_protocols(iov, iovcnt, iovoff, &pkt->hasip4, &pkt->hasip6, &pkt->l3hdr_off, &pkt->l4hdr_off, &pkt->l5hdr_off, &pkt->ip6hdr_info, &pkt->ip4hdr_info, &pkt->l4hdr_in= fo); } diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 53e1c32643..37551fd854 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -1835,9 +1835,12 @@ static int virtio_net_process_rss(NetClientState *nc= , const uint8_t *buf, VIRTIO_NET_HASH_REPORT_UDPv6, VIRTIO_NET_HASH_REPORT_UDPv6_EX }; + struct iovec iov =3D { + .iov_base =3D (void *)buf, + .iov_len =3D size + }; =20 - net_rx_pkt_set_protocols(pkt, buf + n->host_hdr_len, - size - n->host_hdr_len); + net_rx_pkt_set_protocols(pkt, &iov, 1, n->host_hdr_len); net_rx_pkt_get_protocols(pkt, &hasip4, &hasip6, &l4hdr_proto); net_hash_type =3D virtio_net_get_hash_type(hasip4, hasip6, l4hdr_proto, n->rss_data.hash_types); diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c index 9acff310e7..05f41b6dfa 100644 --- a/hw/net/vmxnet3.c +++ b/hw/net/vmxnet3.c @@ -2001,7 +2001,12 @@ vmxnet3_receive(NetClientState *nc, const uint8_t *b= uf, size_t size) get_eth_packet_type(PKT_GET_ETH_HDR(buf))); =20 if (vmxnet3_rx_filter_may_indicate(s, buf, size)) { - net_rx_pkt_set_protocols(s->rx_pkt, buf, size); + struct iovec iov =3D { + .iov_base =3D (void *)buf, + .iov_len =3D size + }; + + net_rx_pkt_set_protocols(s->rx_pkt, &iov, 1, 0); vmxnet3_rx_need_csum_calculate(s->rx_pkt, buf, size); net_rx_pkt_attach_data(s->rx_pkt, buf, size, s->rx_vlan_stripping); bytes_indicated =3D vmxnet3_indicate_packet(s) ? size : -1; diff --git a/net/eth.c b/net/eth.c index 70bcd8e355..d7b30df79f 100644 --- a/net/eth.c +++ b/net/eth.c @@ -136,7 +136,7 @@ _eth_tcp_has_data(bool is_ip4, return l4len > TCP_HEADER_DATA_OFFSET(tcp); } =20 -void eth_get_protocols(const struct iovec *iov, int iovcnt, +void eth_get_protocols(const struct iovec *iov, size_t iovcnt, size_t iovo= ff, bool *hasip4, bool *hasip6, size_t *l3hdr_off, size_t *l4hdr_off, @@ -147,26 +147,24 @@ void eth_get_protocols(const struct iovec *iov, int i= ovcnt, { int proto; bool fragment =3D false; - size_t l2hdr_len =3D eth_get_l2_hdr_length_iov(iov, iovcnt); size_t input_size =3D iov_size(iov, iovcnt); size_t copied; uint8_t ip_p; =20 *hasip4 =3D *hasip6 =3D false; + *l3hdr_off =3D iovoff + eth_get_l2_hdr_length_iov(iov, iovcnt, iovoff); l4hdr_info->proto =3D ETH_L4_HDR_PROTO_INVALID; =20 - proto =3D eth_get_l3_proto(iov, iovcnt, l2hdr_len); - - *l3hdr_off =3D l2hdr_len; + proto =3D eth_get_l3_proto(iov, iovcnt, *l3hdr_off); =20 if (proto =3D=3D ETH_P_IP) { struct ip_header *iphdr =3D &ip4hdr_info->ip4_hdr; =20 - if (input_size < l2hdr_len) { + if (input_size < *l3hdr_off) { return; } =20 - copied =3D iov_to_buf(iov, iovcnt, l2hdr_len, iphdr, sizeof(*iphdr= )); + copied =3D iov_to_buf(iov, iovcnt, *l3hdr_off, iphdr, sizeof(*iphd= r)); if (copied < sizeof(*iphdr) || IP_HEADER_VERSION(iphdr) !=3D IP_HEADER_VERSION_4) { return; @@ -175,17 +173,17 @@ void eth_get_protocols(const struct iovec *iov, int i= ovcnt, *hasip4 =3D true; ip_p =3D iphdr->ip_p; ip4hdr_info->fragment =3D IP4_IS_FRAGMENT(iphdr); - *l4hdr_off =3D l2hdr_len + IP_HDR_GET_LEN(iphdr); + *l4hdr_off =3D *l3hdr_off + IP_HDR_GET_LEN(iphdr); =20 fragment =3D ip4hdr_info->fragment; } else if (proto =3D=3D ETH_P_IPV6) { - if (!eth_parse_ipv6_hdr(iov, iovcnt, l2hdr_len, ip6hdr_info)) { + if (!eth_parse_ipv6_hdr(iov, iovcnt, *l3hdr_off, ip6hdr_info)) { return; } =20 *hasip6 =3D true; ip_p =3D ip6hdr_info->l4proto; - *l4hdr_off =3D l2hdr_len + ip6hdr_info->full_hdr_len; + *l4hdr_off =3D *l3hdr_off + ip6hdr_info->full_hdr_len; fragment =3D ip6hdr_info->fragment; } else { return; --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223871; cv=none; d=zohomail.com; s=zohoarc; b=g6jMFJGcl2zjwueOyEQWkWFBAbzLf1umOX+AU8dgJtYu8nla+GcFvCLdoQd5p3iuJy78JdHKOjLSQsB1QjZGQGzboL/3JAQOkmvXpdlccM/optBHTajs+A5+GBPGi650gCz+EgpP3ToABOvFdujhdeEyQ2j/5aOXIFIi8fQSPAI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223871; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=VY0RJ2zeL4ADYhynCOJEmTANyW901p2WIKUi3FWJhB8=; b=jQtMO6rplGx2f1DcMZ0KnQl+XFF7QI6dtg6CnoIk7rTdSth3rioTz7GPVAw12fhsvYIXkwcC1DvqIANVgNrm/Sv8M6nWHaRcsBTqnoGCe1GxuD/nvAJOUM98dPHyEcXk0Vs6kPC81hqE7bZaEzwTPCUwYdfofcN/+B5tsszzBQs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 168222387189012.940481758945225; Sat, 22 Apr 2023 21:24:31 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRBy-0001rO-Vh; Sun, 23 Apr 2023 00:19:16 -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 1pqRBx-0001r6-3x for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:19:13 -0400 Received: from mail-pg1-x536.google.com ([2607:f8b0:4864:20::536]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRBv-0000lV-HE for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:19:12 -0400 Received: by mail-pg1-x536.google.com with SMTP id 41be03b00d2f7-5208be24dcbso2628830a12.1 for ; Sat, 22 Apr 2023 21:19:11 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.19.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:19:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223550; x=1684815550; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=VY0RJ2zeL4ADYhynCOJEmTANyW901p2WIKUi3FWJhB8=; b=WwfTgwtHW/4kdfL7zuElcSaFlK3/hg07Vh93AixJSw5nwRaMD1aSWw+SH/LiyVAty6 5MoeCsySVH9D1hJNqz5V6Nt2fXa0UGODNEbBWxsyOnlyWhV9hlTQrryi3FdDh/XeOTeX TmEmWX5p6lXcCoUUJIzLrZAmWRGeMARhIuAMEkhdxy+H0CEECcX9YBQSZcHtD1rOHO2a S2j0f61coaZ+qLNyhPmAnC0I/Lmy6H2XJi9Myv6ITiBmyb7t6IuKVlU9nj4ze+l3u/xN VAof0sK+AASKSM2zeLiSt1d4yOUh6h4CzDA+GI9j1u423m93gNzU0EmBB4PyY+8Og+v0 BADA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223550; x=1684815550; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=VY0RJ2zeL4ADYhynCOJEmTANyW901p2WIKUi3FWJhB8=; b=dbGqaiMI5ArXcZlYU8IhgCtnqKcmmUxpoAhZm1ctd6hDl6iGjmRL4A3HrXkv93+9/m 4tfCngbuJvY78qhkg38ZhTCVivvL5bGzv1bzWYxzhPxLl22TZFKXDq3DsKlIj4VKnT9v aj5BOGemBsco3hkhQDERMk3zZ3MJ6kolVu6W2iNrC3Eocf5KKU+qyv4RjKbc7qc+9jj9 0QEI4XJkIE2Z+EYiJhVJgeDz4NxG3AOv4lGPq7/ACMlyph/Aw4tPt7320qeVc82Cviyc izfulvts8hCWaF7ott+OB1TxoPZU71DlAfpoRL7U3zkX3vGmn4GHlDL0A4EPWfJgv5uy OddQ== X-Gm-Message-State: AAQBX9cwwIXmA0ZLAR08TriW/fNGG07ATLAL3vXDZsH0w586qkLSyStZ TKZxOmISRz6zIt9213ptUt0M3A== X-Google-Smtp-Source: AKy350Ykka3HsFBZxEgYqt6vJ8dScXS07G6BKQD+G+eDL5rA2yRytVdDWKsQMvB63QbL7XeSsnW8mg== X-Received: by 2002:a17:902:c405:b0:1a6:f5d5:b80a with SMTP id k5-20020a170902c40500b001a6f5d5b80amr13837198plk.38.1682223550363; Sat, 22 Apr 2023 21:19:10 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 08/47] e1000e: Always copy ethernet header Date: Sun, 23 Apr 2023 13:17:54 +0900 Message-Id: <20230423041833.5302-9-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::536; envelope-from=akihiko.odaki@daynix.com; helo=mail-pg1-x536.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223872656100001 Content-Type: text/plain; charset="utf-8" e1000e_receive_internal() used to check the iov length to determine copy the iovs to a contiguous buffer, but the check is flawed in two ways: - It does not ensure that iovcnt > 0. - It does not take virtio-net header into consideration. The size of this copy is just 18 octets, which can be even less than the code size required for checks. This (wrong) optimization is probably not worth so just remove it. Fixes: 6f3fbe4ed0 ("net: Introduce e1000e device emulation") Signed-off-by: Akihiko Odaki --- hw/net/e1000e_core.c | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/hw/net/e1000e_core.c b/hw/net/e1000e_core.c index c2d864a504..f3335194d8 100644 --- a/hw/net/e1000e_core.c +++ b/hw/net/e1000e_core.c @@ -1686,12 +1686,9 @@ static ssize_t e1000e_receive_internal(E1000ECore *core, const struct iovec *iov, int iov= cnt, bool has_vnet) { - static const int maximum_ethernet_hdr_len =3D (ETH_HLEN + 4); - uint32_t n =3D 0; uint8_t min_buf[ETH_ZLEN]; struct iovec min_iov; - uint8_t *filter_buf; size_t size, orig_size; size_t iov_ofs =3D 0; E1000E_RxRing rxr; @@ -1714,7 +1711,6 @@ e1000e_receive_internal(E1000ECore *core, const struc= t iovec *iov, int iovcnt, net_rx_pkt_unset_vhdr(core->rx_pkt); } =20 - filter_buf =3D iov->iov_base + iov_ofs; orig_size =3D iov_size(iov, iovcnt); size =3D orig_size - iov_ofs; =20 @@ -1723,15 +1719,13 @@ e1000e_receive_internal(E1000ECore *core, const str= uct iovec *iov, int iovcnt, iov_to_buf(iov, iovcnt, iov_ofs, min_buf, size); memset(&min_buf[size], 0, sizeof(min_buf) - size); e1000x_inc_reg_if_not_full(core->mac, RUC); - min_iov.iov_base =3D filter_buf =3D min_buf; + min_iov.iov_base =3D min_buf; min_iov.iov_len =3D size =3D sizeof(min_buf); iovcnt =3D 1; iov =3D &min_iov; iov_ofs =3D 0; - } else if (iov->iov_len < maximum_ethernet_hdr_len) { - /* This is very unlikely, but may happen. */ - iov_to_buf(iov, iovcnt, iov_ofs, min_buf, maximum_ethernet_hdr_len= ); - filter_buf =3D min_buf; + } else { + iov_to_buf(iov, iovcnt, iov_ofs, min_buf, ETH_HLEN + 4); } =20 /* Discard oversized packets if !LPE and !SBP. */ @@ -1740,9 +1734,9 @@ e1000e_receive_internal(E1000ECore *core, const struc= t iovec *iov, int iovcnt, } =20 net_rx_pkt_set_packet_type(core->rx_pkt, - get_eth_packet_type(PKT_GET_ETH_HDR(filter_buf))); + get_eth_packet_type(PKT_GET_ETH_HDR(min_buf))); =20 - if (!e1000e_receive_filter(core, filter_buf, size)) { + if (!e1000e_receive_filter(core, min_buf, size)) { trace_e1000e_rx_flt_dropped(); return orig_size; } --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682224020; cv=none; d=zohomail.com; s=zohoarc; b=Zy8qOlUViMLiKR1r3KSoQGY8eXK+BCUd4Ihwri4RKtQyF4TbWJwrDdHzH0F28rxm4LbmsONzMwnAgHz4H3EdKui4FiAX86iyeZIdYV3zuOETTW06Rw+aGIqZvvIDHY5K8Y2bSa/cPIouPxiJqL4SrQcG3BwNdXpUhObGtveZDbE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682224020; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=2efEXahMU255jZT21UZSosQiwqibmKe3zIsscPOME/E=; b=LcL6GvZOrCbyL7kD9qvbfxqU7O1YmiLcLCu/FyvRKkZ95mcEyvJO0F92PKZb9/EZEYkyLdQs7dbn3xbBxm4GDzYCbY4HyZUqmfqavv9ni8hZDHHWThUnHWpynx/Kz6CLYV0LHUZ+IksIKV5jVcqt8X7sCCd/f58M4MeWJOdXQSg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 16822240208819.154783001484589; Sat, 22 Apr 2023 21:27:00 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRC3-0001rs-6k; Sun, 23 Apr 2023 00:19:19 -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 1pqRC1-0001rf-Ry for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:19:17 -0400 Received: from mail-pl1-x62b.google.com ([2607:f8b0:4864:20::62b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRBz-0000lq-V2 for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:19:17 -0400 Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-1a6c5acf6ccso27184975ad.3 for ; Sat, 22 Apr 2023 21:19:14 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.19.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:19:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223554; x=1684815554; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=2efEXahMU255jZT21UZSosQiwqibmKe3zIsscPOME/E=; b=JwIf0Hx/yqgFVmiyar3E7a9LPxIEENo/5CXAzEN90j9teHKw4z2U59sBTgbrSrKGyG 44iuFrpX/gVZGprJGeMGe/HXVjtV99hlWsfIZMZRbxmVeRR+wr0li1USKDDLHBKWxApz MuHecaWDnv9z4aRm0izIvFB5M/T51lvPBRJlF56SwX3+9NUQA6wjPfxnJ4p6PEbTABch 4avJFtGkfmI1eyPzaB9YyfLmk79AIY+D7NptLbcgCxbpf2qY7SXFeGuE8ecfYCYC9fuC VZbZIpiSHV6DFap3Qn+GIH5NCyosxO+qae1PHKw5y3ff22N8Gsqlae6H7qx0UNzjg80L xmZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223554; x=1684815554; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=2efEXahMU255jZT21UZSosQiwqibmKe3zIsscPOME/E=; b=SJKw7k/Je246k9qiU2jUaUyl+JHvwr/iiaMBQc+GwO0s33mr2OqRqt8ez7iUlvY2G4 jgVNCz0IzKPHNfqRMegKujTHsWDXsm5haqXx0gutvP0GQ+bOVwGOPL6GBPoJMKrh+9j7 kKa2U9NFkoZDBKytyFq/YEBq10KoSwkXU+iuc5r6VunxvsOXgC9AkGdmwdZ8S+FK2KnO 3w/Fhmxd5/05Bk/mkN0ydEnH7fjPR/HAojviIxElCc/FJGkJoRJEulfPKYnwjQjtWqSI MyG8FduH0UU00DQwxEdDdYDlF0rz5JVcJ5bWalBKjBvwA5WvAsqYlHyf6QfpyBezsYuI J9Vw== X-Gm-Message-State: AAQBX9ey7Loqbj/syvglcn95inI6abEDsHfaCcL9CecM0OnvRFstuPFA tQa38MXl1CcPUBWYinlFC508Ow== X-Google-Smtp-Source: AKy350bXeCNq+gaO5zuChLZGSPjVZrzjDrFmgWK9UicCHovs+R1Gd0ur70lT8jEDTQPDyRFHoAopQg== X-Received: by 2002:a17:903:1212:b0:1a1:c3eb:afd with SMTP id l18-20020a170903121200b001a1c3eb0afdmr11884538plh.65.1682223553763; Sat, 22 Apr 2023 21:19:13 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 09/47] igb: Always copy ethernet header Date: Sun, 23 Apr 2023 13:17:55 +0900 Message-Id: <20230423041833.5302-10-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::62b; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x62b.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682224021254100017 Content-Type: text/plain; charset="utf-8" igb_receive_internal() used to check the iov length to determine copy the iovs to a contiguous buffer, but the check is flawed in two ways: - It does not ensure that iovcnt > 0. - It does not take virtio-net header into consideration. The size of this copy is just 22 octets, which can be even less than the code size required for checks. This (wrong) optimization is probably not worth so just remove it. Removing this also allows igb to assume aligned accesses for the ethernet header. Fixes: 3a977deebe ("Intrdocue igb device emulation") Signed-off-by: Akihiko Odaki Reviewed-by: Sriram Yagnaraman --- hw/net/igb_core.c | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index 21a8d9ada4..1d7f913e5a 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -67,6 +67,11 @@ typedef struct IGBTxPktVmdqCallbackContext { NetClientState *nc; } IGBTxPktVmdqCallbackContext; =20 +typedef struct L2Header { + struct eth_header eth; + struct vlan_header vlan; +} L2Header; + static ssize_t igb_receive_internal(IGBCore *core, const struct iovec *iov, int iovcnt, bool has_vnet, bool *external_tx); @@ -961,15 +966,16 @@ igb_rx_is_oversized(IGBCore *core, uint16_t qn, size_= t size) return size > (lpe ? max_ethernet_lpe_size : max_ethernet_vlan_size); } =20 -static uint16_t igb_receive_assign(IGBCore *core, const struct eth_header = *ehdr, +static uint16_t igb_receive_assign(IGBCore *core, const L2Header *l2_heade= r, size_t size, E1000E_RSSInfo *rss_info, bool *external_tx) { static const int ta_shift[] =3D { 4, 3, 2, 0 }; + const struct eth_header *ehdr =3D &l2_header->eth; uint32_t f, ra[2], *macp, rctl =3D core->mac[RCTL]; uint16_t queues =3D 0; uint16_t oversized =3D 0; - uint16_t vid =3D lduw_be_p(&PKT_GET_VLAN_HDR(ehdr)->h_tci) & VLAN_VID_= MASK; + uint16_t vid =3D be16_to_cpu(l2_header->vlan.h_tci) & VLAN_VID_MASK; bool accepted =3D false; int i; =20 @@ -1590,14 +1596,13 @@ static ssize_t igb_receive_internal(IGBCore *core, const struct iovec *iov, int iovcnt, bool has_vnet, bool *external_tx) { - static const int maximum_ethernet_hdr_len =3D (ETH_HLEN + 4); - uint16_t queues =3D 0; uint32_t n =3D 0; - uint8_t min_buf[ETH_ZLEN]; + union { + L2Header l2_header; + uint8_t octets[ETH_ZLEN]; + } min_buf; struct iovec min_iov; - struct eth_header *ehdr; - uint8_t *filter_buf; size_t size, orig_size; size_t iov_ofs =3D 0; E1000E_RxRing rxr; @@ -1623,24 +1628,21 @@ igb_receive_internal(IGBCore *core, const struct io= vec *iov, int iovcnt, net_rx_pkt_unset_vhdr(core->rx_pkt); } =20 - filter_buf =3D iov->iov_base + iov_ofs; orig_size =3D iov_size(iov, iovcnt); size =3D orig_size - iov_ofs; =20 /* Pad to minimum Ethernet frame length */ if (size < sizeof(min_buf)) { - iov_to_buf(iov, iovcnt, iov_ofs, min_buf, size); - memset(&min_buf[size], 0, sizeof(min_buf) - size); + iov_to_buf(iov, iovcnt, iov_ofs, &min_buf, size); + memset(&min_buf.octets[size], 0, sizeof(min_buf) - size); e1000x_inc_reg_if_not_full(core->mac, RUC); - min_iov.iov_base =3D filter_buf =3D min_buf; + min_iov.iov_base =3D &min_buf; min_iov.iov_len =3D size =3D sizeof(min_buf); iovcnt =3D 1; iov =3D &min_iov; iov_ofs =3D 0; - } else if (iov->iov_len < maximum_ethernet_hdr_len) { - /* This is very unlikely, but may happen. */ - iov_to_buf(iov, iovcnt, iov_ofs, min_buf, maximum_ethernet_hdr_len= ); - filter_buf =3D min_buf; + } else { + iov_to_buf(iov, iovcnt, iov_ofs, &min_buf, sizeof(min_buf.l2_heade= r)); } =20 /* Discard oversized packets if !LPE and !SBP. */ @@ -1648,11 +1650,12 @@ igb_receive_internal(IGBCore *core, const struct io= vec *iov, int iovcnt, return orig_size; } =20 - ehdr =3D PKT_GET_ETH_HDR(filter_buf); - net_rx_pkt_set_packet_type(core->rx_pkt, get_eth_packet_type(ehdr)); + net_rx_pkt_set_packet_type(core->rx_pkt, + get_eth_packet_type(&min_buf.l2_header.eth)= ); net_rx_pkt_set_protocols(core->rx_pkt, iov, iovcnt, iov_ofs); =20 - queues =3D igb_receive_assign(core, ehdr, size, &rss_info, external_tx= ); + queues =3D igb_receive_assign(core, &min_buf.l2_header, size, + &rss_info, external_tx); if (!queues) { trace_e1000e_rx_flt_dropped(); return orig_size; --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223618; cv=none; d=zohomail.com; s=zohoarc; b=jhP8WrEoirlobj6LEbuHtXkXM+BPr4wA/m6Q0LbmEnVv9agsZINVgdTuvMKg62Y0Xu5/Nzm1PNUReGslj/u9EH57Pl8QGTTSQwj3F8EZ2ATrZFn1O+/6rMOPqddNnCk42E57l84S2PG5iQIQoBY8fxIbJMeXLNFFEetyEm9v33o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223618; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=hO7vy38C7n7U8m09DYFIOuqZKNDrQj3wd3r1DxexBJ4=; b=jG547uQkfiGUk4GXTG10M4zV1v2kf014NI7RqXBTSzmeuAj1+a3DNjHmVPU9fYEY/GBfEbt8s1LPGQGrX1bunOjnyGireD583mj0EUVAYIh4s15UpqiMkUzPfnNRoDchACdhXfuhuyR/h4DMKNdSIQHpQq9XuCWzJQBK9+5NaUk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223618679995.4652621954986; Sat, 22 Apr 2023 21:20:18 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRC6-0001tt-Ox; Sun, 23 Apr 2023 00:19:22 -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 1pqRC4-0001s9-0v for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:19:20 -0400 Received: from mail-pf1-x434.google.com ([2607:f8b0:4864:20::434]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRC2-0000mB-GY for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:19:19 -0400 Received: by mail-pf1-x434.google.com with SMTP id d2e1a72fcca58-63d4595d60fso21521896b3a.0 for ; Sat, 22 Apr 2023 21:19:18 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.19.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:19:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223557; x=1684815557; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=hO7vy38C7n7U8m09DYFIOuqZKNDrQj3wd3r1DxexBJ4=; b=ZyoBiaTnsHagMrfTLx/G0VW7QYUGsj+txEsEV/35Ai8nc/daJ9Jygkc6x7zzgXmWck p5pBDAo24TnZvr8FjaFGfKDcEWkhylSDNzW9K3xQYpsnepBZDECKAm9iP+NP/G/ErcQR C81jpf1zMO7kLDp9xmeckaYDUbZve+ftnCB1NuTZJWOfcCU/C7JmC1sb2pVZIQvKoUEs hxErxAbU0alP7U0Mr7Ayf4p4sHeis3uqoYBuFlgN/+fi6xSXFqNNwKNBT3Z8BYyl1Xsf ZqY6biZ/N4CivLXcYga8OiDIexCO0DHZpBi153sYkRMjTnnMVZmlMj0OtqRbhxb4BJSs zm8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223557; x=1684815557; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hO7vy38C7n7U8m09DYFIOuqZKNDrQj3wd3r1DxexBJ4=; b=Usc1lbf07BiOzIJhguB8nrcodxybi1oYisGXoHHy6lFGGWdAWKjz3knfzXxDgFt+Lu sIyY+dDP+H9jaOFOFO+RMBoynwS2E+UO0w69VNAwvk/p2gZuEd/J2g1BM6OR7eSonNne IWHLOL60h+ZRCzQPbQwBjFQVbNfEyNH+hHka3Hou1ed+qfU8xVX/gwkiaiBDQVbnttzo pvQ+IOlNfbr7AiEZ5aUcS4JIARWSrlmB2SDfGLcCZXOZRo29ReZSIGtg2uKqKabCRPnF PzUDHm3ATpW2fNiGE23eyQ3Y4E9w9RsWYqg9+EyOPGIblcqF5AXwR6M5GYq7sHD0IeI0 rqKQ== X-Gm-Message-State: AAQBX9eI14JZ9ihGZAh7xZbzWZXFtrvckD3bVTxa7FRvpur34OreMQEr AmlDIEcSF7rsL9k3wwHodR5FFQ== X-Google-Smtp-Source: AKy350ZdseUshHH8fWYNLxzJLjAQQpdBmkN4rtUW8b+QpbRNKNS8LiSFDTI8u9MIvL9cB6NO8mUfIg== X-Received: by 2002:a17:90b:188e:b0:237:ae98:a47f with SMTP id mn14-20020a17090b188e00b00237ae98a47fmr16320335pjb.1.1682223557157; Sat, 22 Apr 2023 21:19:17 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 10/47] Fix references to igb Avocado test Date: Sun, 23 Apr 2023 13:17:56 +0900 Message-Id: <20230423041833.5302-11-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::434; envelope-from=akihiko.odaki@daynix.com; helo=mail-pf1-x434.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223619731100001 Fixes: 9f95111474 ("tests/avocado: re-factor igb test to avoid timeouts") Signed-off-by: Akihiko Odaki Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- MAINTAINERS | 2 +- docs/system/devices/igb.rst | 2 +- scripts/ci/org.centos/stream/8/x86_64/test-avocado | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index ef45b5e71e..c31d2279ab 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2256,7 +2256,7 @@ R: Sriram Yagnaraman S: Maintained F: docs/system/devices/igb.rst F: hw/net/igb* -F: tests/avocado/igb.py +F: tests/avocado/netdev-ethtool.py F: tests/qtest/igb-test.c F: tests/qtest/libqos/igb.c =20 diff --git a/docs/system/devices/igb.rst b/docs/system/devices/igb.rst index 70edadd574..afe036dad2 100644 --- a/docs/system/devices/igb.rst +++ b/docs/system/devices/igb.rst @@ -60,7 +60,7 @@ Avocado test and can be ran with the following command: =20 .. code:: shell =20 - make check-avocado AVOCADO_TESTS=3Dtests/avocado/igb.py + make check-avocado AVOCADO_TESTS=3Dtests/avocado/netdev-ethtool.py =20 References =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D diff --git a/scripts/ci/org.centos/stream/8/x86_64/test-avocado b/scripts/c= i/org.centos/stream/8/x86_64/test-avocado index d2c0e5fb4c..a1aa601ee3 100755 --- a/scripts/ci/org.centos/stream/8/x86_64/test-avocado +++ b/scripts/ci/org.centos/stream/8/x86_64/test-avocado @@ -30,7 +30,7 @@ make get-vm-images tests/avocado/cpu_queries.py:QueryCPUModelExpansion.test \ tests/avocado/empty_cpu_model.py:EmptyCPUModel.test \ tests/avocado/hotplug_cpu.py:HotPlugCPU.test \ - tests/avocado/igb.py:IGB.test \ + tests/avocado/netdev-ethtool.py:NetDevEthtool.test_igb_nomsi \ tests/avocado/info_usernet.py:InfoUsernet.test_hostfwd \ tests/avocado/intel_iommu.py:IntelIOMMU.test_intel_iommu \ tests/avocado/intel_iommu.py:IntelIOMMU.test_intel_iommu_pt \ --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223595; cv=none; d=zohomail.com; s=zohoarc; b=JXIcAG1W2bthtTcSa2LCvoRiJ8GcsJjyZMeLXMgve/YWQOHXl7aNx4B1iQnf56sePD83XtZrrSkS4jv0P5P6ITsUkXy7HsPM82yOKJJyu2jVDZHy018783AW5ND0sUyol0aIOyM+AlEirjm7k0kXoRPyK+TwYhnGzqlsQpfLgKY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223595; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=3xDGlD2yRV3C0PkIp3jpH6p4fU6/buA90WdM6GaBzNs=; b=Rnfc3GhRKUhLh86hTxNE5Sqlh876WAar69bbCVjkFLiBK5AYv8feBG+83VBo3D+P7f0qBkYAI/F4gIMVOqW12/Q1mUJ7JQ9kTYTHfFpaD8r9Ook8zSiIx3daAwgasII8Wb7VkvI4xIDNHb0RKr6mFHYW7Z6KMptsnMGtsm4vYKA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 168222359558862.77876244445338; Sat, 22 Apr 2023 21:19:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRCB-0001ua-NX; Sun, 23 Apr 2023 00:19:27 -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 1pqRC7-0001uE-BI for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:19:24 -0400 Received: from mail-pl1-x62d.google.com ([2607:f8b0:4864:20::62d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRC5-0000nx-TO for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:19:23 -0400 Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-1a69f686345so28309485ad.2 for ; Sat, 22 Apr 2023 21:19:21 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.19.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:19:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223560; x=1684815560; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=3xDGlD2yRV3C0PkIp3jpH6p4fU6/buA90WdM6GaBzNs=; b=NerQFb+KpvyXoFBcY/rzahVogc7BydLxr3uQcltPH12miN52a0JO60oxMWy2gfkLYS EYd/pfbBwxAdw9RSOiKGPvcXkpnc8PnQ/V288juNEEGyZjVxD7Z+c4QpfHtIkW8DSG15 vthAdaZgWNKj6bCQOLmVZY3/0T8B5ghD8qXDGflVYiKmAyAo2zHR87cLw6ZkY6qbwRP5 Hg7cKeEssRbGiTdasYKBdxbGRx8SbiOyK0fNXm8sB1Jyvnk6Fp1C6NAIEtZH0CRCQNeZ AudutP/kHityZwjMO67SP0/IKsE7iZk+mbFKPbx/A3obLis1uTJ8iKrSQoSP20p9aipi Jb3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223560; x=1684815560; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3xDGlD2yRV3C0PkIp3jpH6p4fU6/buA90WdM6GaBzNs=; b=d+iAMPl2VzHVfp97c2Dep2rGc4fy3FjsGRp/jhKQWv8DeAIZDuQgWSWajheP2dZ9VK tcLPbnMLf+Uzj6gTC6iziP3vcVQkBqf2iIYaQ/+KqLlPzwh3qJTRyT8jfLfestmRIRmQ P24NYqH3Yq4x+7mT/TICncq/Ci3ILfVqdCSXoX2OfeFBfNMHBP4fWzAOwKRyijxKmVNh 3DHILTyV+k/ITLuIRtar1KYn5lsxkzzljXTPw7HbhV1hCyZsCumjSFb0iXqS6S+eV467 8qvzEFfXNuAyGSF5+sysho4uYb9gMotVSbN/pD9ieY1k5v924UnWBWMGGbWHiYjvcazY 8yxQ== X-Gm-Message-State: AAQBX9eHSi9a0eWgEbYyA0c1okxYamKjsMQZ+jWtAI+St9ZoSV2MWzbl WAQzmgUqRY7UpwCRnFy30HGOfA== X-Google-Smtp-Source: AKy350Y3kkIcco5FPByHfblYWolCWlAFeIJG6SPHRXvPgbslyuqLip3lZuHxfgawWEGMq9R31VihQQ== X-Received: by 2002:a17:902:ec81:b0:19d:20a:a219 with SMTP id x1-20020a170902ec8100b0019d020aa219mr12191007plg.66.1682223560524; Sat, 22 Apr 2023 21:19:20 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 11/47] tests/avocado: Remove unused imports Date: Sun, 23 Apr 2023 13:17:57 +0900 Message-Id: <20230423041833.5302-12-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::62d; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x62d.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223597630100003 Content-Type: text/plain; charset="utf-8" Signed-off-by: Akihiko Odaki --- tests/avocado/netdev-ethtool.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/avocado/netdev-ethtool.py b/tests/avocado/netdev-ethtool= .py index f7e9464184..8de118e313 100644 --- a/tests/avocado/netdev-ethtool.py +++ b/tests/avocado/netdev-ethtool.py @@ -7,7 +7,6 @@ =20 from avocado import skip from avocado_qemu import QemuSystemTest -from avocado_qemu import exec_command, exec_command_and_wait_for_pattern from avocado_qemu import wait_for_console_pattern =20 class NetDevEthtool(QemuSystemTest): --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223890; cv=none; d=zohomail.com; s=zohoarc; b=Su0XSXIEBTa56nKpVo+qUOtvK9vJqWJkjJ66d5kGKZWmU7YUuSfxPRCFBoDDcPC4t/ODdvQTpUrjVp0geroFWvAVUz7sxvbxLOQAQxFiqrIpSK+HvqipOKMDxWomvPVG9vz6PQ8++R5xHIQhWdPznOMPOV4BiQIBAkleSReQenk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223890; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=AUBKW0bOVpI3HeJe5UwSavvtooPoaFokXdNy31dH5Ac=; b=NZkYISHaIN3tzhDAQAz5L8kXqNqj3QdDnPEL0QpFqK305E26QENAUqB+VX42SyJNMZYRDyIdx0BJVU42GqxdK3aVGIp1CHG9bxg7B12z7LKf6olXajCqqY1Ona2JUq3dEocuYi0HGayut8W3yeIYzUInc4NhbDfRt4BTiLDTQF8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223890472910.5611891340806; Sat, 22 Apr 2023 21:24:50 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRCD-0001vL-Dk; Sun, 23 Apr 2023 00:19:29 -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 1pqRCA-0001uQ-PF for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:19:26 -0400 Received: from mail-pf1-x42c.google.com ([2607:f8b0:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRC9-0000oC-8F for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:19:26 -0400 Received: by mail-pf1-x42c.google.com with SMTP id d2e1a72fcca58-63b7588005fso2965947b3a.0 for ; Sat, 22 Apr 2023 21:19:24 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.19.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:19:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223564; x=1684815564; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=AUBKW0bOVpI3HeJe5UwSavvtooPoaFokXdNy31dH5Ac=; b=UQaHgNNpIaLsGGAXstX6xJBr9jfs1khTPLBBeOwlVpCzfwa0YCINdyfh3KHdB8uQAa GDRRAT/xv7JDbVhF7o3Ly6QYSR7tVWqXBiHwRmcLUmi/7DaNhwh7TQ99sIXeyBnqjYjc 6rt7m7WL0jUtKn+cq2Swo1VMDkjzOiUx8BtYo2QRj3McNKYbswhPqtIIOhNFK+o3RJb7 2MPmUv0rFV09oWCtHy/dHF0+0IjBFOvKZ8uvsoM0fx24ZvJldP8aihce+7NjExM4MEGF iIYkYFTYR6Snt0JdUxtoBJGJ/9RYhPJDZ2NK4cUtxF82Kp+/WREcVAFQZ7CXmZcealXL GQVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223564; x=1684815564; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=AUBKW0bOVpI3HeJe5UwSavvtooPoaFokXdNy31dH5Ac=; b=QhIqMAdhpM54q/odEycoGWPMrE/uIL9RVw/pYwddDo5A647KG5Zimpi2LYfxGe6qLT iJ1hEmc6/RGBpQ42al2qhe12dDmJzPWASaz0YUezluMPmz63I4SyYn1C3WG5NJI1S2Te j12+JktdcM77a26RSutB5qd08X48OOKWaK4LMWODFWBITDakPuhHiUPwbIVttNm+hR0g L0QQKDwH2UnU87xIUTPs538cE3e6Okqp9rknsiO/xiYDfyyEaQ8QSniEugsfEPu040Lc iER45jXFS9c1ezAjpJnKPcIEsbAaGAIOzelbMAQAUuY9PR/YbyhRSAZNKnSPo4uwqISV qjlw== X-Gm-Message-State: AAQBX9ebrkr6Y/EkofOj3ROdvQuO5n4dcAA2IkChLyb2BEUyGq1fiM0b bgnBb7wqKb534A9CEaKRpgD4Sai1EZO1BxNweL0= X-Google-Smtp-Source: AKy350YcI6T3PYPmsfbna45RpR/6gn1gAO7wWeWilvk/kjD4KX1w/9NYeAOKt7i7W6zoTuU7tkzTLg== X-Received: by 2002:a17:902:da84:b0:1a6:b5b2:6a25 with SMTP id j4-20020a170902da8400b001a6b5b26a25mr12202144plx.2.1682223563899; Sat, 22 Apr 2023 21:19:23 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 12/47] tests/avocado: Remove test_igb_nomsi_kvm Date: Sun, 23 Apr 2023 13:17:58 +0900 Message-Id: <20230423041833.5302-13-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::42c; envelope-from=akihiko.odaki@daynix.com; helo=mail-pf1-x42c.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223891146100001 It is unlikely to find more bugs with KVM so remove test_igb_nomsi_kvm to save time to run it. Signed-off-by: Akihiko Odaki Reviewed-by: Thomas Huth Acked-by: Alex Benn=C3=A9e --- tests/avocado/netdev-ethtool.py | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/tests/avocado/netdev-ethtool.py b/tests/avocado/netdev-ethtool= .py index 8de118e313..6da800f62b 100644 --- a/tests/avocado/netdev-ethtool.py +++ b/tests/avocado/netdev-ethtool.py @@ -29,7 +29,7 @@ def get_asset(self, name, sha1): # URL into a unique one return self.fetch_asset(name=3Dname, locations=3D(url), asset_hash= =3Dsha1) =20 - def common_test_code(self, netdev, extra_args=3DNone, kvm=3DFalse): + def common_test_code(self, netdev, extra_args=3DNone): =20 # This custom kernel has drivers for all the supported network # devices we can emulate in QEMU @@ -57,9 +57,6 @@ def common_test_code(self, netdev, extra_args=3DNone, kvm= =3DFalse): '-drive', drive, '-device', netdev) =20 - if kvm: - self.vm.add_args('-accel', 'kvm') - self.vm.set_console(console_index=3D0) self.vm.launch() =20 @@ -86,13 +83,6 @@ def test_igb_nomsi(self): """ self.common_test_code("igb", "pci=3Dnomsi") =20 - def test_igb_nomsi_kvm(self): - """ - :avocado: tags=3Ddevice:igb - """ - self.require_accelerator('kvm') - self.common_test_code("igb", "pci=3Dnomsi", True) - # It seems the other popular cards we model in QEMU currently fail # the pattern test with: # --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223619; cv=none; d=zohomail.com; s=zohoarc; b=jox2cT07AefdhGBZwiQBKW3AsUnnBBW8yJW6tZ1u+cqLDzi5rgdgDOLJY6RaO4zsti8emCPg8YO4A9zmztlDvmIqH45q96iF8Mt7f4aLXYLA5s62KNw43R4A/iyYCwViEq/tRseLygCBENiC6jftGyN2tnFmzlTJWmFTGqIN0h8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223619; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=s7PZIm04ooSj6Ki8OsJLg23id0yLR39T0g3+u0vz1Wk=; b=i+OJODQ6kVhnG/FjKavnSFD2uPbfa1gyv72nUoFE2nrWx2NtkEKjfr8xcf3BEAlTUFKG7pwhG47ygSoqAMTq6olM9pXHYRpVeNjTKZ1zz9GrEu2Hu/YVCNOXPlfaA7fF6ncJogwklT0S74EhQLM17x6zNFzC18bgn7IjUMHkJ/s= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223619889722.4470264568498; Sat, 22 Apr 2023 21:20:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRCG-0001vV-FV; Sun, 23 Apr 2023 00:19:32 -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 1pqRCD-0001vN-Vp for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:19:29 -0400 Received: from mail-pg1-x52e.google.com ([2607:f8b0:4864:20::52e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRCC-0000oR-FY for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:19:29 -0400 Received: by mail-pg1-x52e.google.com with SMTP id 41be03b00d2f7-5191796a483so2638585a12.0 for ; Sat, 22 Apr 2023 21:19:28 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.19.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:19:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223567; x=1684815567; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=s7PZIm04ooSj6Ki8OsJLg23id0yLR39T0g3+u0vz1Wk=; b=L5KEy90k4bC0P1voYkM64QUXy0FQIRSock0sRoUD/9yJZS5QuJYYirIi9mOlh0KggL ew7/j4vF9/ueDApSVd/QLj+0pwiGZzjbqVYQnLIfY29BPv7QgIaKfXzl1T5PtCP0g13O xDSsI508R+6Da4bRAnEma/ZI6fEYoE7IhNMNQBvqvHQbkiYfiNObNYTaK/S/W10p7Ssc XaRHI69xpPJlkhTcn6xfKbI7pQX7kYWks3NtA1tI0Pm+V9bVUP2NfSkYa5HCxrys+MI9 3XTAIgvmYCOYJbgsNyuUe2ZCKgFnhRvSqC8/j+Uw34nQ+t22swbPs5AN3B0All8byMp/ 4iGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223567; x=1684815567; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=s7PZIm04ooSj6Ki8OsJLg23id0yLR39T0g3+u0vz1Wk=; b=fep+pRMdZcVm89VeJVA02l1ThwTurgcuzZWUIB03oiUxtY8sC40dxoy18YXhQU1c3C f75XRUWPwccpPwzxGyg5UsQg1WtMIfx1HpIqXfMyHLHrRnbAv88Y52e6eYBwKiy2Tl8m wYTcZsEiXn+LUyyCKxVGg0+UCJA4aepWqJ594ZUtPOD2qRMMezVpOnfJxDCMddN9hBll ZhTEGKtEtZ9TRuVwyLH1IKgEdV79j1Oid19w8uY/sqO1FEWlR/HLjtfipRO/s57XjXBE xyQAG7RmivL4qm9O0MojrjV+00PkpsVBZTZY86oWA9556DTmMGy/GqvFms/XeMVxJUSG 8Vjw== X-Gm-Message-State: AAQBX9ddijEIToOdy82tTsSJaERsVz9DbrY10x1JY1vNLb2ZEi8WlO0t xGaVMCa5xWWDjRAc0kLZ+DJTPA== X-Google-Smtp-Source: AKy350a2/iDgXAyz2I15duRVzNF/RfWUe2X5yUPTIx5R7s1hELle6OJ1gajZSlNCNTiUKs+65j3zcA== X-Received: by 2002:a17:902:e54e:b0:1a3:d5af:9b6f with SMTP id n14-20020a170902e54e00b001a3d5af9b6fmr10620832plf.19.1682223567268; Sat, 22 Apr 2023 21:19:27 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 13/47] hw/net/net_tx_pkt: Remove net_rx_pkt_get_l4_info Date: Sun, 23 Apr 2023 13:17:59 +0900 Message-Id: <20230423041833.5302-14-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::52e; envelope-from=akihiko.odaki@daynix.com; helo=mail-pg1-x52e.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223621634100013 Content-Type: text/plain; charset="utf-8" This function is not used. Signed-off-by: Akihiko Odaki --- hw/net/net_rx_pkt.h | 9 --------- hw/net/net_rx_pkt.c | 5 ----- 2 files changed, 14 deletions(-) diff --git a/hw/net/net_rx_pkt.h b/hw/net/net_rx_pkt.h index a06f5c2675..ce8dbdb284 100644 --- a/hw/net/net_rx_pkt.h +++ b/hw/net/net_rx_pkt.h @@ -119,15 +119,6 @@ eth_ip6_hdr_info *net_rx_pkt_get_ip6_info(struct NetRx= Pkt *pkt); */ eth_ip4_hdr_info *net_rx_pkt_get_ip4_info(struct NetRxPkt *pkt); =20 -/** - * fetches L4 header analysis results - * - * Return: pointer to analysis results structure which is stored in inter= nal - * packet area. - * - */ -eth_l4_hdr_info *net_rx_pkt_get_l4_info(struct NetRxPkt *pkt); - typedef enum { NetPktRssIpV4, NetPktRssIpV4Tcp, diff --git a/hw/net/net_rx_pkt.c b/hw/net/net_rx_pkt.c index 63be6e05ad..6125a063d7 100644 --- a/hw/net/net_rx_pkt.c +++ b/hw/net/net_rx_pkt.c @@ -236,11 +236,6 @@ eth_ip4_hdr_info *net_rx_pkt_get_ip4_info(struct NetRx= Pkt *pkt) return &pkt->ip4hdr_info; } =20 -eth_l4_hdr_info *net_rx_pkt_get_l4_info(struct NetRxPkt *pkt) -{ - return &pkt->l4hdr_info; -} - static inline void _net_rx_rss_add_chunk(uint8_t *rss_input, size_t *bytes_written, void *ptr, size_t size) --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223673; cv=none; d=zohomail.com; s=zohoarc; b=Kq86kHKjnfmUM/TtEri7NjSPkvxXLRwaB2IFFkRTV31jH9SaAp4B+Cp80Ia/bsHjouZUmSJT/X/GYWkC3aAvHYexhpgTPkPHD9DYoJlWgut3BKnTIeyTHHyxkW28K1fjzRMuJQGME1A2ehtfMgzSSwhdX/CZHazQqs8n9Tz5a8A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223673; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=gSCbOSVRPbfEpQgKQ7GTg6ZDQX9iteIjz577vrXcJ4w=; b=SN9ld013o5oxAwSEoxD1hWklxTvzcmnhXdAgUZg7iBV786USI7qBFppl3ggRscX8GlQ3/QuheTyYn3sbM9/XEuTUy2dTtlgAO6moFuCbUoshL0aGT1NhTXGoARcT0E5gDCE6mtyyT/ydZHx/K7O+UqoVJHakPoXUUyYrW3KSBrs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223673732417.97537303736453; Sat, 22 Apr 2023 21:21:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRCK-0001wD-KP; Sun, 23 Apr 2023 00:19:36 -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 1pqRCH-0001vf-Ef for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:19:33 -0400 Received: from mail-pl1-x62a.google.com ([2607:f8b0:4864:20::62a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRCF-0000oj-Vv for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:19:33 -0400 Received: by mail-pl1-x62a.google.com with SMTP id d9443c01a7336-1a6ebc66ca4so27064525ad.3 for ; Sat, 22 Apr 2023 21:19:31 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.19.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:19:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223570; x=1684815570; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=gSCbOSVRPbfEpQgKQ7GTg6ZDQX9iteIjz577vrXcJ4w=; b=mmYGX+ajgVt2MpDE4gJOjQIBnA90D14UrJDe0rREMh1xH+RtCsEDUoxH8RxSHiRjYt CkDUy5phoPH1+utMVI21uEAAzVQw9pRRXAI+AaqUb3x9jB7A5zq2h15CiDjIpxE83Quf /BGm42231FxuPCvV0DLkFU9baUPF8EHPfBfhmpOShtOx81jNcw8i9sIHb+9wbAYZv6Mc flFyq5IReWd2SMlk7Xf8ALNs+eoiYEi+Hvzkw5dZ0E5T+2ZQHPeTKlFtZmmqsm++k0rY SyLVCRGgPXPngh/AgKA8GOmudc7cpCRmIPBSycA/sGEXdbhaOlnRoHckLNgk2eduIuz9 d+KA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223570; x=1684815570; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gSCbOSVRPbfEpQgKQ7GTg6ZDQX9iteIjz577vrXcJ4w=; b=bgCml8rbq/HDxsmkH6fFKK+qTXw+CK/x6AcUpNw1CZ5bESxtDw6iN4bsQtgx35fxd3 2qXQuhfmTshV7c2Fhw2PXHPVIhcQK0V/xgix4lb7aVSvwZpjoeh02wV2P1DpXmwZ1W9J HK+p/37l2YLhYN7hlax3donOvA/vVwcz/Qbhai+fuzlxgJdqTPCkNiettA/RM7ggIisT kexJNqrTw576PHSqu+0szAWM8PLfXJzgu8eeKxPWM8J97qYdwvtqk/YgIohqiVZoATIK 60r+Vz3ygAw+MAWd8d7vK73bJtc425YIdpU68+rikjtTTZkv9PSrbsecIWvwbnHwHvKG CxvQ== X-Gm-Message-State: AAQBX9fQE7NTlsAHleJ0j6cuL6ZbQN7dfrNxn6IkP1aN0KWkvY7YmcFX Z21nuKp9OsE+er/y7nNAs2y18w== X-Google-Smtp-Source: AKy350Y6DXaJXMW0HJjpRajxW1QXHT1HUyCO8SSyJapM7U+dcqU2srxdCGYf2zMFx2VYCRhV6Sc6gw== X-Received: by 2002:a17:902:d4d1:b0:19a:9880:175f with SMTP id o17-20020a170902d4d100b0019a9880175fmr12225648plg.51.1682223570674; Sat, 22 Apr 2023 21:19:30 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 14/47] net/eth: Rename eth_setup_vlan_headers_ex Date: Sun, 23 Apr 2023 13:18:00 +0900 Message-Id: <20230423041833.5302-15-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::62a; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x62a.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223674278100001 The old eth_setup_vlan_headers has no user so remove it and rename eth_setup_vlan_headers_ex. Signed-off-by: Akihiko Odaki Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- include/net/eth.h | 9 +-------- hw/net/net_tx_pkt.c | 2 +- net/eth.c | 2 +- 3 files changed, 3 insertions(+), 10 deletions(-) diff --git a/include/net/eth.h b/include/net/eth.h index 9f19c3a695..e8af5742be 100644 --- a/include/net/eth.h +++ b/include/net/eth.h @@ -351,16 +351,9 @@ eth_strip_vlan_ex(const struct iovec *iov, int iovcnt,= size_t iovoff, uint16_t eth_get_l3_proto(const struct iovec *l2hdr_iov, int iovcnt, size_t l2hdr_l= en); =20 -void eth_setup_vlan_headers_ex(struct eth_header *ehdr, uint16_t vlan_tag, +void eth_setup_vlan_headers(struct eth_header *ehdr, uint16_t vlan_tag, uint16_t vlan_ethtype, bool *is_new); =20 -static inline void -eth_setup_vlan_headers(struct eth_header *ehdr, uint16_t vlan_tag, - bool *is_new) -{ - eth_setup_vlan_headers_ex(ehdr, vlan_tag, ETH_P_VLAN, is_new); -} - =20 uint8_t eth_get_gso_type(uint16_t l3_proto, uint8_t *l3_hdr, uint8_t l4pro= to); =20 diff --git a/hw/net/net_tx_pkt.c b/hw/net/net_tx_pkt.c index cc36750c9b..ce6b102391 100644 --- a/hw/net/net_tx_pkt.c +++ b/hw/net/net_tx_pkt.c @@ -368,7 +368,7 @@ void net_tx_pkt_setup_vlan_header_ex(struct NetTxPkt *p= kt, bool is_new; assert(pkt); =20 - eth_setup_vlan_headers_ex(pkt->vec[NET_TX_PKT_L2HDR_FRAG].iov_base, + eth_setup_vlan_headers(pkt->vec[NET_TX_PKT_L2HDR_FRAG].iov_base, vlan, vlan_ethtype, &is_new); =20 /* update l2hdrlen */ diff --git a/net/eth.c b/net/eth.c index d7b30df79f..b6ff89c460 100644 --- a/net/eth.c +++ b/net/eth.c @@ -21,7 +21,7 @@ #include "net/checksum.h" #include "net/tap.h" =20 -void eth_setup_vlan_headers_ex(struct eth_header *ehdr, uint16_t vlan_tag, +void eth_setup_vlan_headers(struct eth_header *ehdr, uint16_t vlan_tag, uint16_t vlan_ethtype, bool *is_new) { struct vlan_header *vhdr =3D PKT_GET_VLAN_HDR(ehdr); --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223644; cv=none; d=zohomail.com; s=zohoarc; b=GGRSce6gxbrHEgz5JthBtrrjwKnlj+hPEI7WYe3O2JWRWWosgc7LqQZeJiQZdkNITQqLmTj43U2+2kmnBXEHQlbIYjQLSnFgVB/Mb/7CzGyzpIh/B3rltgXxwK9R9Bdf40aJTEigN4adStOzPv66ytwJ4MHSxW342gaOd6jRIps= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223644; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=91gJjiXM4elMDcz93op4FGE4XiMUzkApzoe6zA52fdE=; b=GztZ7JrDURQLgrPDdiDsZPul2a8jK3RBmJIqpvIxdOvC7uqKUCPUeaI1Xijt/IeXhBVroQuMGI39uNePzjBMwuUh6SayPPGDLk5PcBhy/KHbJ5nuljtedmKY/g1Q9rbbGcql1/0Bw33BYrHwsYgNqmkAwz4oitsYKGNTi0wgRxk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223644692606.9661637377895; Sat, 22 Apr 2023 21:20:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRCN-0001x1-OU; Sun, 23 Apr 2023 00:19:39 -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 1pqRCK-0001wG-Pd for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:19:37 -0400 Received: from mail-pl1-x634.google.com ([2607:f8b0:4864:20::634]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRCI-0000k4-PA for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:19:36 -0400 Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-1a66b9bd7dfso38222775ad.2 for ; Sat, 22 Apr 2023 21:19:34 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.19.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:19:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223574; x=1684815574; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=91gJjiXM4elMDcz93op4FGE4XiMUzkApzoe6zA52fdE=; b=2um7pzx3M7A4wa2VDb9A/EqQ3+qYvpanjDx6T+AwWgMZgDQyzvvYTTPurZ61GNCPBM wEXMcM+C9f8O4lFzNCKpeV25BOJRg3dRJnCco5Pt/xRjabV1Ec6E8PKgRyd3JHqRsyhi vV+DaAzyaWxhmwnSEE6VvomcZE6jdbIodEdwGwg+xzJmqTdJiGEtg/0egPbO8u4dMn8w blOXBOx0wb9bxoDqKOsfOdYdbPabE2Fj9Sy6hesPTkHfSu1CwgU4G78PFx6gAUUnguHF 9HegcMt4lSH3ZGZyL9kuhhPlMA9Au4oCJpOrZOhs+3ve6nSIO75fRbs2Q9+eL/+IxXxb 8YiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223574; x=1684815574; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=91gJjiXM4elMDcz93op4FGE4XiMUzkApzoe6zA52fdE=; b=EoxPzyxzrTR4kle0s9tf9vsrrLf4BtOGPMaeM56T4Y8mZqDYP/m+1a7WVkqqoXjXZK epTFORkWDfdh0IAf3dbFlNMfGZrxnEA/JwQGPSmxOZlI2bVvb8krKM755hu/4jGVoPhq 6AfZY5C/jUbu129I55MfbBI1TdypZeWeSzZ3O+e3GLcktYBAQ3QvJjOTXmShTYFBTqYJ yOJJrGoAuCW/Jjw1TOa6AsMeO73YmL2/S1KmHKBY1lgga+ONAnqPSDtQ6LI/K7Skroui ikbjA88TnoP5GSp9zf+Vsl5//uH1GcJVoxidHJTPVLKO5gxM9c1UR80GhQh/+457tb3N zM7A== X-Gm-Message-State: AAQBX9eeuTX7auB8r/6f1iOfXI7Yw/kN7Oei4yio+WAjyjXTvgQ3mqTz dwQEvYBVFwB2/6EEgCu8vA51eMeGYv3TXZZAp4E= X-Google-Smtp-Source: AKy350acXqAPqqeUidSyGZJ0Z0ZD1wk1kEwneMzFKeMeek2q1LOqUG0WRPxDbMCwVWs+Jd3QFGIwIA== X-Received: by 2002:a17:902:e5d1:b0:1a1:e237:5f0 with SMTP id u17-20020a170902e5d100b001a1e23705f0mr12491144plf.58.1682223574077; Sat, 22 Apr 2023 21:19:34 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 15/47] e1000x: Share more Rx filtering logic Date: Sun, 23 Apr 2023 13:18:01 +0900 Message-Id: <20230423041833.5302-16-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::634; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x634.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223645875100004 Content-Type: text/plain; charset="utf-8" This saves some code and enables tracepoint for e1000's VLAN filtering. Signed-off-by: Akihiko Odaki Reviewed-by: Sriram Yagnaraman --- hw/net/e1000x_common.h | 4 +++- hw/net/e1000.c | 35 +++++-------------------------- hw/net/e1000e_core.c | 47 +++++------------------------------------- hw/net/e1000x_common.c | 44 +++++++++++++++++++++++++++++++++------ hw/net/igb_core.c | 41 +++--------------------------------- hw/net/trace-events | 4 ++-- 6 files changed, 56 insertions(+), 119 deletions(-) diff --git a/hw/net/e1000x_common.h b/hw/net/e1000x_common.h index 0298e06283..be291684de 100644 --- a/hw/net/e1000x_common.h +++ b/hw/net/e1000x_common.h @@ -107,7 +107,9 @@ bool e1000x_rx_ready(PCIDevice *d, uint32_t *mac); =20 bool e1000x_is_vlan_packet(const void *buf, uint16_t vet); =20 -bool e1000x_rx_group_filter(uint32_t *mac, const uint8_t *buf); +bool e1000x_rx_vlan_filter(uint32_t *mac, const struct vlan_header *vhdr); + +bool e1000x_rx_group_filter(uint32_t *mac, const struct eth_header *ehdr); =20 bool e1000x_hw_rx_enabled(uint32_t *mac); =20 diff --git a/hw/net/e1000.c b/hw/net/e1000.c index 18eb6d8876..aae5f0bdc0 100644 --- a/hw/net/e1000.c +++ b/hw/net/e1000.c @@ -804,36 +804,11 @@ start_xmit(E1000State *s) } =20 static int -receive_filter(E1000State *s, const uint8_t *buf, int size) +receive_filter(E1000State *s, const void *buf) { - uint32_t rctl =3D s->mac_reg[RCTL]; - int isbcast =3D is_broadcast_ether_addr(buf); - int ismcast =3D is_multicast_ether_addr(buf); - - if (e1000x_is_vlan_packet(buf, le16_to_cpu(s->mac_reg[VET])) && - e1000x_vlan_rx_filter_enabled(s->mac_reg)) { - uint16_t vid =3D lduw_be_p(&PKT_GET_VLAN_HDR(buf)->h_tci); - uint32_t vfta =3D - ldl_le_p((uint32_t *)(s->mac_reg + VFTA) + - ((vid >> E1000_VFTA_ENTRY_SHIFT) & E1000_VFTA_ENTRY_M= ASK)); - if ((vfta & (1 << (vid & E1000_VFTA_ENTRY_BIT_SHIFT_MASK))) =3D=3D= 0) { - return 0; - } - } - - if (!isbcast && !ismcast && (rctl & E1000_RCTL_UPE)) { /* promiscuous = ucast */ - return 1; - } - - if (ismcast && (rctl & E1000_RCTL_MPE)) { /* promiscuous mcas= t */ - return 1; - } - - if (isbcast && (rctl & E1000_RCTL_BAM)) { /* broadcast enable= d */ - return 1; - } - - return e1000x_rx_group_filter(s->mac_reg, buf); + return (!e1000x_is_vlan_packet(buf, s->mac_reg[VET]) || + e1000x_rx_vlan_filter(s->mac_reg, PKT_GET_VLAN_HDR(buf))) && + e1000x_rx_group_filter(s->mac_reg, buf); } =20 static void @@ -949,7 +924,7 @@ e1000_receive_iov(NetClientState *nc, const struct iove= c *iov, int iovcnt) return size; } =20 - if (!receive_filter(s, filter_buf, size)) { + if (!receive_filter(s, filter_buf)) { return size; } =20 diff --git a/hw/net/e1000e_core.c b/hw/net/e1000e_core.c index f3335194d8..743b36ddfb 100644 --- a/hw/net/e1000e_core.c +++ b/hw/net/e1000e_core.c @@ -1034,48 +1034,11 @@ e1000e_rx_l4_cso_enabled(E1000ECore *core) } =20 static bool -e1000e_receive_filter(E1000ECore *core, const uint8_t *buf, int size) +e1000e_receive_filter(E1000ECore *core, const void *buf) { - uint32_t rctl =3D core->mac[RCTL]; - - if (e1000x_is_vlan_packet(buf, core->mac[VET]) && - e1000x_vlan_rx_filter_enabled(core->mac)) { - uint16_t vid =3D lduw_be_p(&PKT_GET_VLAN_HDR(buf)->h_tci); - uint32_t vfta =3D - ldl_le_p((uint32_t *)(core->mac + VFTA) + - ((vid >> E1000_VFTA_ENTRY_SHIFT) & E1000_VFTA_ENTRY_M= ASK)); - if ((vfta & (1 << (vid & E1000_VFTA_ENTRY_BIT_SHIFT_MASK))) =3D=3D= 0) { - trace_e1000e_rx_flt_vlan_mismatch(vid); - return false; - } else { - trace_e1000e_rx_flt_vlan_match(vid); - } - } - - switch (net_rx_pkt_get_packet_type(core->rx_pkt)) { - case ETH_PKT_UCAST: - if (rctl & E1000_RCTL_UPE) { - return true; /* promiscuous ucast */ - } - break; - - case ETH_PKT_BCAST: - if (rctl & E1000_RCTL_BAM) { - return true; /* broadcast enabled */ - } - break; - - case ETH_PKT_MCAST: - if (rctl & E1000_RCTL_MPE) { - return true; /* promiscuous mcast */ - } - break; - - default: - g_assert_not_reached(); - } - - return e1000x_rx_group_filter(core->mac, buf); + return (!e1000x_is_vlan_packet(buf, core->mac[VET]) || + e1000x_rx_vlan_filter(core->mac, PKT_GET_VLAN_HDR(buf))) && + e1000x_rx_group_filter(core->mac, buf); } =20 static inline void @@ -1736,7 +1699,7 @@ e1000e_receive_internal(E1000ECore *core, const struc= t iovec *iov, int iovcnt, net_rx_pkt_set_packet_type(core->rx_pkt, get_eth_packet_type(PKT_GET_ETH_HDR(min_buf))); =20 - if (!e1000e_receive_filter(core, min_buf, size)) { + if (!e1000e_receive_filter(core, min_buf)) { trace_e1000e_rx_flt_dropped(); return orig_size; } diff --git a/hw/net/e1000x_common.c b/hw/net/e1000x_common.c index 7694673bcc..6cc23138a8 100644 --- a/hw/net/e1000x_common.c +++ b/hw/net/e1000x_common.c @@ -58,32 +58,64 @@ bool e1000x_is_vlan_packet(const void *buf, uint16_t ve= t) return res; } =20 -bool e1000x_rx_group_filter(uint32_t *mac, const uint8_t *buf) +bool e1000x_rx_vlan_filter(uint32_t *mac, const struct vlan_header *vhdr) +{ + if (e1000x_vlan_rx_filter_enabled(mac)) { + uint16_t vid =3D lduw_be_p(&vhdr->h_tci); + uint32_t vfta =3D + ldl_le_p((uint32_t *)(mac + VFTA) + + ((vid >> E1000_VFTA_ENTRY_SHIFT) & E1000_VFTA_ENTRY_M= ASK)); + if ((vfta & (1 << (vid & E1000_VFTA_ENTRY_BIT_SHIFT_MASK))) =3D=3D= 0) { + trace_e1000x_rx_flt_vlan_mismatch(vid); + return false; + } + + trace_e1000x_rx_flt_vlan_match(vid); + } + + return true; +} + +bool e1000x_rx_group_filter(uint32_t *mac, const struct eth_header *ehdr) { static const int mta_shift[] =3D { 4, 3, 2, 0 }; uint32_t f, ra[2], *rp, rctl =3D mac[RCTL]; =20 + if (is_broadcast_ether_addr(ehdr->h_dest)) { + if (rctl & E1000_RCTL_BAM) { + return true; + } + } else if (is_multicast_ether_addr(ehdr->h_dest)) { + if (rctl & E1000_RCTL_MPE) { + return true; + } + } else { + if (rctl & E1000_RCTL_UPE) { + return true; + } + } + for (rp =3D mac + RA; rp < mac + RA + 32; rp +=3D 2) { if (!(rp[1] & E1000_RAH_AV)) { continue; } ra[0] =3D cpu_to_le32(rp[0]); ra[1] =3D cpu_to_le32(rp[1]); - if (!memcmp(buf, (uint8_t *)ra, ETH_ALEN)) { + if (!memcmp(ehdr->h_dest, (uint8_t *)ra, ETH_ALEN)) { trace_e1000x_rx_flt_ucast_match((int)(rp - mac - RA) / 2, - MAC_ARG(buf)); + MAC_ARG(ehdr->h_dest)); return true; } } - trace_e1000x_rx_flt_ucast_mismatch(MAC_ARG(buf)); + trace_e1000x_rx_flt_ucast_mismatch(MAC_ARG(ehdr->h_dest)); =20 f =3D mta_shift[(rctl >> E1000_RCTL_MO_SHIFT) & 3]; - f =3D (((buf[5] << 8) | buf[4]) >> f) & 0xfff; + f =3D (((ehdr->h_dest[5] << 8) | ehdr->h_dest[4]) >> f) & 0xfff; if (mac[MTA + (f >> 5)] & (1 << (f & 0x1f))) { return true; } =20 - trace_e1000x_rx_flt_inexact_mismatch(MAC_ARG(buf), + trace_e1000x_rx_flt_inexact_mismatch(MAC_ARG(ehdr->h_dest), (rctl >> E1000_RCTL_MO_SHIFT) & 3, f >> 5, mac[MTA + (f >> 5)]); diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index 1d7f913e5a..d8fd0e1813 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -976,7 +976,6 @@ static uint16_t igb_receive_assign(IGBCore *core, const= L2Header *l2_header, uint16_t queues =3D 0; uint16_t oversized =3D 0; uint16_t vid =3D be16_to_cpu(l2_header->vlan.h_tci) & VLAN_VID_MASK; - bool accepted =3D false; int i; =20 memset(rss_info, 0, sizeof(E1000E_RSSInfo)); @@ -986,16 +985,8 @@ static uint16_t igb_receive_assign(IGBCore *core, cons= t L2Header *l2_header, } =20 if (e1000x_is_vlan_packet(ehdr, core->mac[VET] & 0xffff) && - e1000x_vlan_rx_filter_enabled(core->mac)) { - uint32_t vfta =3D - ldl_le_p((uint32_t *)(core->mac + VFTA) + - ((vid >> E1000_VFTA_ENTRY_SHIFT) & E1000_VFTA_ENTRY_M= ASK)); - if ((vfta & (1 << (vid & E1000_VFTA_ENTRY_BIT_SHIFT_MASK))) =3D=3D= 0) { - trace_e1000e_rx_flt_vlan_mismatch(vid); - return queues; - } else { - trace_e1000e_rx_flt_vlan_match(vid); - } + !e1000x_rx_vlan_filter(core->mac, PKT_GET_VLAN_HDR(ehdr))) { + return queues; } =20 if (core->mac[MRQC] & 1) { @@ -1103,33 +1094,7 @@ static uint16_t igb_receive_assign(IGBCore *core, co= nst L2Header *l2_header, } } } else { - switch (net_rx_pkt_get_packet_type(core->rx_pkt)) { - case ETH_PKT_UCAST: - if (rctl & E1000_RCTL_UPE) { - accepted =3D true; /* promiscuous ucast */ - } - break; - - case ETH_PKT_BCAST: - if (rctl & E1000_RCTL_BAM) { - accepted =3D true; /* broadcast enabled */ - } - break; - - case ETH_PKT_MCAST: - if (rctl & E1000_RCTL_MPE) { - accepted =3D true; /* promiscuous mcast */ - } - break; - - default: - g_assert_not_reached(); - } - - if (!accepted) { - accepted =3D e1000x_rx_group_filter(core->mac, ehdr->h_dest); - } - + bool accepted =3D e1000x_rx_group_filter(core->mac, ehdr); if (!accepted) { for (macp =3D core->mac + RA2; macp < core->mac + RA2 + 16; ma= cp +=3D 2) { if (!(macp[1] & E1000_RAH_AV)) { diff --git a/hw/net/trace-events b/hw/net/trace-events index d35554fce8..a34d196ff7 100644 --- a/hw/net/trace-events +++ b/hw/net/trace-events @@ -106,6 +106,8 @@ e1000_receiver_overrun(size_t s, uint32_t rdh, uint32_t= rdt) "Receiver overrun: # e1000x_common.c e1000x_rx_can_recv_disabled(bool link_up, bool rx_enabled, bool pci_master= ) "link_up: %d, rx_enabled %d, pci_master %d" e1000x_vlan_is_vlan_pkt(bool is_vlan_pkt, uint16_t eth_proto, uint16_t vet= ) "Is VLAN packet: %d, ETH proto: 0x%X, VET: 0x%X" +e1000x_rx_flt_vlan_mismatch(uint16_t vid) "VID mismatch: 0x%X" +e1000x_rx_flt_vlan_match(uint16_t vid) "VID match: 0x%X" e1000x_rx_flt_ucast_match(uint32_t idx, uint8_t b0, uint8_t b1, uint8_t b2= , uint8_t b3, uint8_t b4, uint8_t b5) "unicast match[%d]: %02x:%02x:%02x:%0= 2x:%02x:%02x" e1000x_rx_flt_ucast_mismatch(uint8_t b0, uint8_t b1, uint8_t b2, uint8_t b= 3, uint8_t b4, uint8_t b5) "unicast mismatch: %02x:%02x:%02x:%02x:%02x:%02x" e1000x_rx_flt_inexact_mismatch(uint8_t b0, uint8_t b1, uint8_t b2, uint8_t= b3, uint8_t b4, uint8_t b5, uint32_t mo, uint32_t mta, uint32_t mta_val) "= inexact mismatch: %02x:%02x:%02x:%02x:%02x:%02x MO %d MTA[%d] 0x%x" @@ -154,8 +156,6 @@ e1000e_rx_can_recv_rings_full(void) "Cannot receive: al= l rings are full" e1000e_rx_can_recv(void) "Can receive" e1000e_rx_has_buffers(int ridx, uint32_t free_desc, size_t total_size, uin= t32_t desc_buf_size) "ring #%d: free descr: %u, packet size %zu, descr buff= er size %u" e1000e_rx_null_descriptor(void) "Null RX descriptor!!" -e1000e_rx_flt_vlan_mismatch(uint16_t vid) "VID mismatch: 0x%X" -e1000e_rx_flt_vlan_match(uint16_t vid) "VID match: 0x%X" e1000e_rx_desc_ps_read(uint64_t a0, uint64_t a1, uint64_t a2, uint64_t a3)= "buffers: [0x%"PRIx64", 0x%"PRIx64", 0x%"PRIx64", 0x%"PRIx64"]" e1000e_rx_desc_ps_write(uint16_t a0, uint16_t a1, uint16_t a2, uint16_t a3= ) "bytes written: [%u, %u, %u, %u]" e1000e_rx_desc_buff_sizes(uint32_t b0, uint32_t b1, uint32_t b2, uint32_t = b3) "buffer sizes: [%u, %u, %u, %u]" --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223985; cv=none; d=zohomail.com; s=zohoarc; b=EgUFPF/2GC97Nrgwvk473i/P9EDKYgLGhja6kujjGINH0XaqtEEMP3Y6TyGjISWDqYqvjQ+rYWHR9l1OkfPwcSXKuZBNmB6iSStMGAZsGO8LR/+VsVr8xDnJvM+G7j69uN/f+A2NvP1R28BRihU3/eRO/WP7thEPSJsuqrk34ek= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223985; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=rwy5rvMUqP3oelPjHxfIZcxpBNQc9ghPL/3JUmVe4oU=; b=g+t5fiLqAbkIrFjnTR4krSe/HSVuK1J6sXhsTLG871WUtqfweHa3Yv5vHikwmABxgk73ypYpvLZB0smjkBpi6eKFlQFiwSTBdMHSaXL/aiI5H/alfamg8IT0vA+uX2Dt+5XkCzJoSwBspDeoWiF+9Hy8GeGjMojoqSxwkPBhps8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223985237947.3066068909203; Sat, 22 Apr 2023 21:26:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRCQ-0001xv-Dy; Sun, 23 Apr 2023 00:19:42 -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 1pqRCO-0001xE-RC for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:19:40 -0400 Received: from mail-pf1-x435.google.com ([2607:f8b0:4864:20::435]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRCM-0000pQ-Iz for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:19:40 -0400 Received: by mail-pf1-x435.google.com with SMTP id d2e1a72fcca58-63b5465fb99so2946436b3a.1 for ; Sat, 22 Apr 2023 21:19:38 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.19.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:19:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223577; x=1684815577; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=rwy5rvMUqP3oelPjHxfIZcxpBNQc9ghPL/3JUmVe4oU=; b=u4tiGKW0AOJr6YyBZGicJ3Y7z09Nin8AbJfN/0IG+iQ3T97ppjubVF2WLl8yc8kGiM 3fvgao5iF+9ZkuoJKMEwsCVtjK+fsPTufQcHV16g4bklwIEnkxIwz9Uxoy/DcQe00/Ox IkF6vFNzmGYXWCLu+PjujuE4RPO8+TPZsi6x28Jb27aV+nSoRPYJBzL74W+bFl0oPTKq EBFeZrhKsIvH5tNR8aHYFbr3+80UCWPBF7/u8agOYj6rCL7z0zu/mJmUaU5dUa95lKYR D99qfn7nTh7DjE1bDVybGAb9l/A+z+qdRM+ZdpuvhC4qiwngpvy2fSzRhlBC2g3kefa2 yMCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223577; x=1684815577; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rwy5rvMUqP3oelPjHxfIZcxpBNQc9ghPL/3JUmVe4oU=; b=TYRIb6dzgP4tR2hT35ppdLFG8V/ZO5tKEqpKVFAETAtDqpMptmSRCW+tRayje3wEHy yN/7tQfrZgZgOAmahm4CKhyWo1qYZH39c1YSxLTL9ikJSmduMeqF57Q0wi4/rkt12Q1N GL3RDYc3fkk3EmEvSJawM0cpmZ4u4NWTIVVxNDByztTxx8uhFSJAB15DWhEDwRs9RW1P 7sKRW2qv0hJPTEJ7uQbBjq6PxbAUDREEKuUBPUJSQbMIkITRUnWXSy+yC8d/ZiDw4WIf zc/R8uo7bkBKpuuQjpSBIWEfRPlZsxdaPkuVk9MCFKTRtggy7QObQtIGwIz7TIM45eVg TjVQ== X-Gm-Message-State: AAQBX9fNdVLWKWGd4KTL9CAAjkO4Zy6jhTYm34QC0pW/tniVHO0lwmw0 yXyPugyGQ8ZmTwgkWVUMxo0JBw== X-Google-Smtp-Source: AKy350bWfkhMcuuN/wiWgg9WUn55rJeNmCiHTD40KgOU7/79AQM+g0Nl/YIp6/AtoeTNorys86Ujeg== X-Received: by 2002:a17:902:e88c:b0:1a1:a830:cef8 with SMTP id w12-20020a170902e88c00b001a1a830cef8mr13757449plg.27.1682223577444; Sat, 22 Apr 2023 21:19:37 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 16/47] e1000x: Take CRC into consideration for size check Date: Sun, 23 Apr 2023 13:18:02 +0900 Message-Id: <20230423041833.5302-17-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::435; envelope-from=akihiko.odaki@daynix.com; helo=mail-pf1-x435.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223986967100011 Content-Type: text/plain; charset="utf-8" Section 13.7.15 Receive Length Error Count says: > Packets over 1522 bytes are oversized if LongPacketEnable is 0b > (RCTL.LPE). If LongPacketEnable (LPE) is 1b, then an incoming packet > is considered oversized if it exceeds 16384 bytes. > These lengths are based on bytes in the received packet from > through , inclusively. As QEMU processes packets without CRC, the number of bytes for CRC need to be subtracted. This change adds some size definitions to be used to derive the new size thresholds to eth.h. Signed-off-by: Akihiko Odaki --- include/net/eth.h | 2 ++ hw/net/e1000x_common.c | 10 +++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/include/net/eth.h b/include/net/eth.h index e8af5742be..05f56931e7 100644 --- a/include/net/eth.h +++ b/include/net/eth.h @@ -32,6 +32,8 @@ #define ETH_ALEN 6 #define ETH_HLEN 14 #define ETH_ZLEN 60 /* Min. octets in frame without FCS */ +#define ETH_FCS_LEN 4 +#define ETH_MTU 1500 =20 struct eth_header { uint8_t h_dest[ETH_ALEN]; /* destination eth addr */ diff --git a/hw/net/e1000x_common.c b/hw/net/e1000x_common.c index 6cc23138a8..212873fd77 100644 --- a/hw/net/e1000x_common.c +++ b/hw/net/e1000x_common.c @@ -140,16 +140,16 @@ bool e1000x_hw_rx_enabled(uint32_t *mac) =20 bool e1000x_is_oversized(uint32_t *mac, size_t size) { + size_t header_size =3D sizeof(struct eth_header) + sizeof(struct vlan_= header); /* this is the size past which hardware will drop packets when setting LPE=3D0 */ - static const int maximum_ethernet_vlan_size =3D 1522; + size_t maximum_short_size =3D header_size + ETH_MTU; /* this is the size past which hardware will drop packets when setting LPE=3D1 */ - static const int maximum_ethernet_lpe_size =3D 16 * KiB; + size_t maximum_large_size =3D 16 * KiB - ETH_FCS_LEN; =20 - if ((size > maximum_ethernet_lpe_size || - (size > maximum_ethernet_vlan_size - && !(mac[RCTL] & E1000_RCTL_LPE))) + if ((size > maximum_large_size || + (size > maximum_short_size && !(mac[RCTL] & E1000_RCTL_LPE))) && !(mac[RCTL] & E1000_RCTL_SBP)) { e1000x_inc_reg_if_not_full(mac, ROC); trace_e1000x_rx_oversized(size); --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223619; cv=none; d=zohomail.com; s=zohoarc; b=aVaX/RcBVNiA3W/I3RbcbzHibDaMelUWCeBXJOUN76onyV3D/WaKYakjpRZmusXUtNGyiD1V05ibO/QaNBmXFmfMz+UE4CIIR2yrVlux6CtJ2ZdkmcPZ64OFflXWUBS25Juo2OeEyMTJIrU4cTrYTkJ7r/TKr1fFjVkXd3t4hPM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223619; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=fct0Y5G/r2GbAbjz9x4GsMYtMyrxAhgWmdu5KZzXHlA=; b=e1sJYT/MNEbX/7nYBkpjdB2FP5kSoTu4wLYYXJRU6bXPYUXlZVDIgekRI6E+aKzYx1yrSA3nuWA9TtgHUoZcln4XijeAvAwY7nN7MRa2JGyPJmUfwjgwuMJ18XKUcBpB2r2Utfu2o8SB51xDjvWGe2GJ1xzzDjrOQQRgi7R//YE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223619321985.7044126516513; Sat, 22 Apr 2023 21:20:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRCU-0002CZ-0S; Sun, 23 Apr 2023 00:19:46 -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 1pqRCS-00023g-7Z for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:19:44 -0400 Received: from mail-pl1-x629.google.com ([2607:f8b0:4864:20::629]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRCQ-0000pr-H4 for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:19:43 -0400 Received: by mail-pl1-x629.google.com with SMTP id d9443c01a7336-1a92369761cso28656985ad.3 for ; Sat, 22 Apr 2023 21:19:42 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.19.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:19:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223581; x=1684815581; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=fct0Y5G/r2GbAbjz9x4GsMYtMyrxAhgWmdu5KZzXHlA=; b=hWNcI3mSgRcu5iK0vyMXnvXk4Bi8xC1PNrhKoexdIEcsrACOYcxxc3iJWUO5B1dTTn 9ifUSX6G4C8EXh2FeARWW4MgMwJAjPVgROil4iC0a1dS9lA+w/RezX1uiSdCw000gBbi SYQGAOdtxKQTV2OKn8QYMbc7X4ZIvRPYmvquU0DPxr+aF/jOKrSeKwZpdNbGO4LRFcp8 ihgbfFwLqYfVp6bldV4rjqqGyiVELrRxs5enGKvoCB2ITFW/T+AxdnS25RgQDiW4IEzZ /AtoTESq+qNLfNFJSizeGtsVXhf4tEgaZ0s7uAUMFCe2tWZEii15b995hW3YBUOa07xs BcEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223581; x=1684815581; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=fct0Y5G/r2GbAbjz9x4GsMYtMyrxAhgWmdu5KZzXHlA=; b=jlmltm50TxUtOB37muESPYen6XSfKieY4f3/q8HfYOyaBr7wrb6UFbzZWO9GoGIuvw GvUpWEqsMT+OfikyYYG82KlR5YDhk9tZk3VdLRdfoAE5nmKvfJWtsx3L+IoBI6t9oJ4r /F7Yiayp9h46u+nEZuSChvouSyXMHl8CGPUBBKUi+B6r1S8SXtbQPW/FYxdGaw8uYjPF dPYsMscr9VrqJLpO+8MfT+830T7Jqx9J0El8qgc2BXmBBzRpYKoki7w7ElgL4DTmYk03 je7ogqZk1D+/S2+8FylltDnoYBIyGs6b3rKQNZraEAMTFohGWhDiOZOH5N5TrlKP2nUT 3SCQ== X-Gm-Message-State: AAQBX9dO3JvKzQcgpb252Cb9wVuyaHzKKgAJe6k9VsV6pkH09D29dX73 5iu2YSY4ciiqH139dWwVOrO3DQ== X-Google-Smtp-Source: AKy350ZKN+muZ4nrmSx6C+00iZEn1Ac9Xc+7IRfP65LiffrWWDNdeB99y2U+wkYfNOlnoc/+aCSrLw== X-Received: by 2002:a17:902:ce81:b0:1a6:983d:a1ec with SMTP id f1-20020a170902ce8100b001a6983da1ecmr12981232plg.26.1682223580821; Sat, 22 Apr 2023 21:19:40 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 17/47] e1000x: Rename TcpIpv6 into TcpIpv6Ex Date: Sun, 23 Apr 2023 13:18:03 +0900 Message-Id: <20230423041833.5302-18-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::629; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x629.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223619795100003 Content-Type: text/plain; charset="utf-8" e1000e and igb employs NetPktRssIpV6TcpEx for RSS hash if TcpIpv6 MRQC bit is set. Moreover, igb also has a MRQC bit for NetPktRssIpV6Tcp though it is not implemented yet. Rename it to TcpIpv6Ex to avoid confusion. Signed-off-by: Akihiko Odaki Reviewed-by: Sriram Yagnaraman --- hw/net/e1000x_regs.h | 24 ++++++++++++------------ hw/net/e1000e_core.c | 8 ++++---- hw/net/igb_core.c | 8 ++++---- hw/net/trace-events | 2 +- 4 files changed, 21 insertions(+), 21 deletions(-) diff --git a/hw/net/e1000x_regs.h b/hw/net/e1000x_regs.h index 6d3c4c6d3a..13760c66d3 100644 --- a/hw/net/e1000x_regs.h +++ b/hw/net/e1000x_regs.h @@ -290,18 +290,18 @@ #define E1000_RETA_IDX(hash) ((hash) & (BIT(7) - 1)) #define E1000_RETA_VAL(reta, hash) (((uint8_t *)(reta))[E1000_RETA_IDX(ha= sh)]) =20 -#define E1000_MRQC_EN_TCPIPV4(mrqc) ((mrqc) & BIT(16)) -#define E1000_MRQC_EN_IPV4(mrqc) ((mrqc) & BIT(17)) -#define E1000_MRQC_EN_TCPIPV6(mrqc) ((mrqc) & BIT(18)) -#define E1000_MRQC_EN_IPV6EX(mrqc) ((mrqc) & BIT(19)) -#define E1000_MRQC_EN_IPV6(mrqc) ((mrqc) & BIT(20)) - -#define E1000_MRQ_RSS_TYPE_NONE (0) -#define E1000_MRQ_RSS_TYPE_IPV4TCP (1) -#define E1000_MRQ_RSS_TYPE_IPV4 (2) -#define E1000_MRQ_RSS_TYPE_IPV6TCP (3) -#define E1000_MRQ_RSS_TYPE_IPV6EX (4) -#define E1000_MRQ_RSS_TYPE_IPV6 (5) +#define E1000_MRQC_EN_TCPIPV4(mrqc) ((mrqc) & BIT(16)) +#define E1000_MRQC_EN_IPV4(mrqc) ((mrqc) & BIT(17)) +#define E1000_MRQC_EN_TCPIPV6EX(mrqc) ((mrqc) & BIT(18)) +#define E1000_MRQC_EN_IPV6EX(mrqc) ((mrqc) & BIT(19)) +#define E1000_MRQC_EN_IPV6(mrqc) ((mrqc) & BIT(20)) + +#define E1000_MRQ_RSS_TYPE_NONE (0) +#define E1000_MRQ_RSS_TYPE_IPV4TCP (1) +#define E1000_MRQ_RSS_TYPE_IPV4 (2) +#define E1000_MRQ_RSS_TYPE_IPV6TCPEX (3) +#define E1000_MRQ_RSS_TYPE_IPV6EX (4) +#define E1000_MRQ_RSS_TYPE_IPV6 (5) =20 #define E1000_ICR_ASSERTED BIT(31) #define E1000_EIAC_MASK 0x01F00000 diff --git a/hw/net/e1000e_core.c b/hw/net/e1000e_core.c index 743b36ddfb..481db41931 100644 --- a/hw/net/e1000e_core.c +++ b/hw/net/e1000e_core.c @@ -537,7 +537,7 @@ e1000e_rss_get_hash_type(E1000ECore *core, struct NetRx= Pkt *pkt) ip6info->rss_ex_dst_valid, ip6info->rss_ex_src_valid, core->mac[MRQC], - E1000_MRQC_EN_TCPIPV6(core->mac[MRQC]), + E1000_MRQC_EN_TCPIPV6EX(core->mac[MRQC]), E1000_MRQC_EN_IPV6EX(core->mac[MRQC]), E1000_MRQC_EN_IPV6(core->mac[MRQC])); =20 @@ -546,8 +546,8 @@ e1000e_rss_get_hash_type(E1000ECore *core, struct NetRx= Pkt *pkt) ip6info->rss_ex_src_valid))) { =20 if (l4hdr_proto =3D=3D ETH_L4_HDR_PROTO_TCP && - E1000_MRQC_EN_TCPIPV6(core->mac[MRQC])) { - return E1000_MRQ_RSS_TYPE_IPV6TCP; + E1000_MRQC_EN_TCPIPV6EX(core->mac[MRQC])) { + return E1000_MRQ_RSS_TYPE_IPV6TCPEX; } =20 if (E1000_MRQC_EN_IPV6EX(core->mac[MRQC])) { @@ -581,7 +581,7 @@ e1000e_rss_calc_hash(E1000ECore *core, case E1000_MRQ_RSS_TYPE_IPV4TCP: type =3D NetPktRssIpV4Tcp; break; - case E1000_MRQ_RSS_TYPE_IPV6TCP: + case E1000_MRQ_RSS_TYPE_IPV6TCPEX: type =3D NetPktRssIpV6TcpEx; break; case E1000_MRQ_RSS_TYPE_IPV6: diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index d8fd0e1813..1b69775fd6 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -301,7 +301,7 @@ igb_rss_get_hash_type(IGBCore *core, struct NetRxPkt *p= kt) ip6info->rss_ex_dst_valid, ip6info->rss_ex_src_valid, core->mac[MRQC], - E1000_MRQC_EN_TCPIPV6(core->mac[MRQC]), + E1000_MRQC_EN_TCPIPV6EX(core->mac[MRQC]), E1000_MRQC_EN_IPV6EX(core->mac[MRQC]), E1000_MRQC_EN_IPV6(core->mac[MRQC])); =20 @@ -310,8 +310,8 @@ igb_rss_get_hash_type(IGBCore *core, struct NetRxPkt *p= kt) ip6info->rss_ex_src_valid))) { =20 if (l4hdr_proto =3D=3D ETH_L4_HDR_PROTO_TCP && - E1000_MRQC_EN_TCPIPV6(core->mac[MRQC])) { - return E1000_MRQ_RSS_TYPE_IPV6TCP; + E1000_MRQC_EN_TCPIPV6EX(core->mac[MRQC])) { + return E1000_MRQ_RSS_TYPE_IPV6TCPEX; } =20 if (E1000_MRQC_EN_IPV6EX(core->mac[MRQC])) { @@ -343,7 +343,7 @@ igb_rss_calc_hash(IGBCore *core, struct NetRxPkt *pkt, = E1000E_RSSInfo *info) case E1000_MRQ_RSS_TYPE_IPV4TCP: type =3D NetPktRssIpV4Tcp; break; - case E1000_MRQ_RSS_TYPE_IPV6TCP: + case E1000_MRQ_RSS_TYPE_IPV6TCPEX: type =3D NetPktRssIpV6TcpEx; break; case E1000_MRQ_RSS_TYPE_IPV6: diff --git a/hw/net/trace-events b/hw/net/trace-events index a34d196ff7..64d776bc2a 100644 --- a/hw/net/trace-events +++ b/hw/net/trace-events @@ -179,7 +179,7 @@ e1000e_rx_rss_disabled(void) "RSS is disabled" e1000e_rx_rss_type(uint32_t type) "RSS type is %u" e1000e_rx_rss_ip4(int l4hdr_proto, uint32_t mrqc, bool tcpipv4_enabled, bo= ol ipv4_enabled) "RSS IPv4: L4 header protocol %d, mrqc 0x%X, tcpipv4 enabl= ed %d, ipv4 enabled %d" e1000e_rx_rss_ip6_rfctl(uint32_t rfctl) "RSS IPv6: rfctl 0x%X" -e1000e_rx_rss_ip6(bool ex_dis, bool new_ex_dis, int l4hdr_proto, bool has_= ext_headers, bool ex_dst_valid, bool ex_src_valid, uint32_t mrqc, bool tcpi= pv6_enabled, bool ipv6ex_enabled, bool ipv6_enabled) "RSS IPv6: ex_dis: %d,= new_ex_dis: %d, L4 header protocol %d, has_ext_headers %d, ex_dst_valid %d= , ex_src_valid %d, mrqc 0x%X, tcpipv6 enabled %d, ipv6ex enabled %d, ipv6 e= nabled %d" +e1000e_rx_rss_ip6(bool ex_dis, bool new_ex_dis, int l4hdr_proto, bool has_= ext_headers, bool ex_dst_valid, bool ex_src_valid, uint32_t mrqc, bool tcpi= pv6ex_enabled, bool ipv6ex_enabled, bool ipv6_enabled) "RSS IPv6: ex_dis: %= d, new_ex_dis: %d, L4 header protocol %d, has_ext_headers %d, ex_dst_valid = %d, ex_src_valid %d, mrqc 0x%X, tcpipv6ex enabled %d, ipv6ex enabled %d, ip= v6 enabled %d" =20 e1000e_rx_metadata_protocols(bool hasip4, bool hasip6, int l4hdr_protocol)= "protocols: ip4: %d, ip6: %d, l4hdr: %d" e1000e_rx_metadata_vlan(uint16_t vlan_tag) "VLAN tag is 0x%X" --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223896; cv=none; d=zohomail.com; s=zohoarc; b=X+7djpAzhMBYDXu/v7k7GzfbDXHR99YZWMv5NAQK9QwAxSuO7JIPPFpkXNUnPpJlEKSvJCF+EdLbbbbDrizK45IE1GPPtVPPcPy7gz5YSai3eeXLQkxc8pr74PmVb3DbUXyn8bBRgYRy3pnldq/12EqkxdUK69Xw89LT9eH21no= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223896; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=NKrjZcc5spW3PcfEcfPF1xgA9c/5G8C/80+pcYNs6X0=; b=Afc5/TKn8eNUNl+sCReOsoCz5A+QPdljkgdRcs6cafs9Gh9Ou041q2qF0yIg2kmdwnywyShSuirTlBVgZ03aNPYno6rmRl06USFo1GJHgV+aw3GJddcj/2/pQjS59NR+LHj0ONmdJBTs/sElZB67m090vUrqCVJGjohfptsfUf8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223896192145.43971147697494; Sat, 22 Apr 2023 21:24:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRCt-0003Yc-Gi; Sun, 23 Apr 2023 00:20:11 -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 1pqRCg-000313-0l for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:00 -0400 Received: from mail-pl1-x634.google.com ([2607:f8b0:4864:20::634]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRCT-0000q9-Gl for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:19:57 -0400 Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-1a667067275so28786135ad.1 for ; Sat, 22 Apr 2023 21:19:45 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.19.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:19:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223584; x=1684815584; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=NKrjZcc5spW3PcfEcfPF1xgA9c/5G8C/80+pcYNs6X0=; b=iQ0163dgGbrXi2JLNfhTYq+XWsmnhykcUYLlxOhFocgtn/L3szQIiRUdaKhjHqzWPY eX3yijmLqblDpBvPm4cmn3APu2RqQsEbdNN8fV1TRAseccyabYomJMmurelMhpTjOV+S xcvAE1hU9kIjhmrz/Hd+dq4iQTIDv1HvT2GSpKHQfXuxkmlDpBnBdXxfLzr+oEkMFXWm GJq63P7GtHiEYT9yCb8iUaMc7vOXsHPQFtqq+z4huDwcKFII4tiptsj7E1VuRQYQSrih osqcSjGG2pIOglNUl98CTKImJYMtOu/0wLvMciKsITpqnX5bqAKkoODmTG+zBNpcY0jU mFcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223584; x=1684815584; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NKrjZcc5spW3PcfEcfPF1xgA9c/5G8C/80+pcYNs6X0=; b=MoWnl1bkxL9aHo/5qQMQq1ALbOAZapoSX72Ev+bCWptXnp1b9z95qCzMqiRy6Krrp3 2mHG8NLFlWNwPKne/74jy6Rg+MHcTXX7CoUyifMWvWX7IloHWIQfYr/5QS1ydQ3Q9muO PpL2Vnnjuv25cFpVSfl5ozGNgWnp6twKPw5j6+drANT1MfqUiOlluPu+Squ/q0IXzYf/ PCF4ocnBOc7LkPnTAvgVWnf9E+DpCjl9L+49ZS03kp2ha7w7Op5DLLGGGidIC/RskIIv uzbOxcBl2/QFQG6fUY8vHw008fGg8i9RBw3dd6B60TpQGHe8/tUWhJortklAEo528g1s /bzA== X-Gm-Message-State: AAQBX9disCNxa/0nA92/uffAntGQObUt0wo8hWXdbFbwHOImP48KmI+z EQKTSXlaZiASarhYAHdp90upIw== X-Google-Smtp-Source: AKy350a0EPfWXMz3GpBCu+QC33+6ezDQn9RVYgIp+R1MMJcpAGT9ngEvCeCIECiNJV9NYWXE6IT81g== X-Received: by 2002:a17:902:f541:b0:1a9:72e5:518a with SMTP id h1-20020a170902f54100b001a972e5518amr412948plf.31.1682223584222; Sat, 22 Apr 2023 21:19:44 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 18/47] e1000e: Always log status after building rx metadata Date: Sun, 23 Apr 2023 13:18:04 +0900 Message-Id: <20230423041833.5302-19-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::634; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x634.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223896575100001 Without this change, the status flags may not be traced e.g. if checksum offloading is disabled. Signed-off-by: Akihiko Odaki Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/net/e1000e_core.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/hw/net/e1000e_core.c b/hw/net/e1000e_core.c index 481db41931..d4a9984fe4 100644 --- a/hw/net/e1000e_core.c +++ b/hw/net/e1000e_core.c @@ -1244,9 +1244,8 @@ e1000e_build_rx_metadata(E1000ECore *core, trace_e1000e_rx_metadata_l4_cso_disabled(); } =20 - trace_e1000e_rx_metadata_status_flags(*status_flags); - func_exit: + trace_e1000e_rx_metadata_status_flags(*status_flags); *status_flags =3D cpu_to_le32(*status_flags); } =20 --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223744; cv=none; d=zohomail.com; s=zohoarc; b=BAC+NaLQD8Zu2EFoWN2IgFEmT1QuP1bNzwZvtJzGa0l6sNTyqLXT9FzN9R/I8hz9ECplivIbsUQC3EKMmpR9CQcbXlm0gF11jsnGpaox5NR/gDmxxRfyBJIRgIYrnBIBHqLug1gCZhvpML6P3HGrO63xR+2mLmVkmmkHZPjVlek= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223744; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=ouDUtwID91yHmnTbW9yyY4mwCko9ygccl6n6SqLS0Po=; b=n47eSAN/hl3/WcsHMJQZCdzep0/bdDOWfbEi5CNyzDdZlXNIoCSJXqDWv/RNMdKg9b/kzSjb+xrhcjQe3Hlti5zC9AJkuJvdHq4Z3ct5MFucW0XTRnCOwTWk9rG3PoGkel4/M3tiTJG/6sqTjKdrZuMVq4iGcJ5NxIj05HNXHPY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223744049963.6094831702217; Sat, 22 Apr 2023 21:22:24 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRCi-0002v9-FB; Sun, 23 Apr 2023 00:20:01 -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 1pqRCY-0002hj-SJ for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:19:50 -0400 Received: from mail-pf1-x432.google.com ([2607:f8b0:4864:20::432]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRCW-0000qO-UV for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:19:50 -0400 Received: by mail-pf1-x432.google.com with SMTP id d2e1a72fcca58-63d2ba63dddso2821667b3a.2 for ; Sat, 22 Apr 2023 21:19:48 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.19.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:19:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223587; x=1684815587; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ouDUtwID91yHmnTbW9yyY4mwCko9ygccl6n6SqLS0Po=; b=kBPaDXyDGzo0VpKPyEBW5znFW4TupA3AkAQeEe+PbEzPmxl/GeLHjz7JV9HX/f1mWv mEvd6G1FNoZBoOrzzqjFwz197XNj6YUx9cCcSyDQi9ttngkSlsZ0CrKHhT87WCBfzZAJ GfL9Re+gfIh9EFcJtjjayOUphVdeh/Q86o3Gp+dIy+ApqePpMcBDh9PO3oQB/eApPNga +GTmolVMmKF+9URj9x17XkNJMxQOQ+ogGzJUL5HAJx8hV3RKwmyIR2jUyi4HrhDfVpRE Kt6IC07SA/aogroGyPINR2Qb8Ik3eXO5oJIOQ5ASpN9GDU4uuEtp4ZKymeJvfJg8jF3T pwLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223587; x=1684815587; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ouDUtwID91yHmnTbW9yyY4mwCko9ygccl6n6SqLS0Po=; b=Q5JADmUlB4Q32aefEF8k4MTE7VbH8K/K4KL+t7LqXpllZmtq1JTL22p4K/jV96OdfM j1UQi1Ozk8Gr/nkj5xJyctGU64yLXxnt7R6Y/Y0NyxI4HTtyw7ExOdSn716GWFZQEzCd nT7eWo/OElCGIBzQXNe/ddrV7nwlmga6AOsSbreOLDz0V/krhBMqaIocHOz08cbWJjr0 G9rI9Q1Fq6fIRIfAjnfDZA+HelfXNXKlfdP8wsQrVdZdfXRGlEQti4179W6zPDJif2Bb KS8axfYZEJL0i7lM0Sl6kVYnzPZGDBL6J1ZgAgnTpO9n0Phb6fcGualJcCENj9sIVvxs y73w== X-Gm-Message-State: AAQBX9dVBOgKeYt4nih4aOvo1Ix81KsNBJsskSApzu4JTIExEHc/ZHWN ql2f/hC120KfP1c0PfrjJsRXaw== X-Google-Smtp-Source: AKy350ZMB5pSkB0VqMditaOzd7PHst9JNTk6CBHThZl13bkGMEGpdq+mRbTaMz4/VKis1av6Jwb29w== X-Received: by 2002:a17:903:1c5:b0:1a6:b496:4053 with SMTP id e5-20020a17090301c500b001a6b4964053mr13028684plh.59.1682223587592; Sat, 22 Apr 2023 21:19:47 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 19/47] igb: Always log status after building rx metadata Date: Sun, 23 Apr 2023 13:18:05 +0900 Message-Id: <20230423041833.5302-20-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::432; envelope-from=akihiko.odaki@daynix.com; helo=mail-pf1-x432.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223744571100005 Without this change, the status flags may not be traced e.g. if checksum offloading is disabled. Signed-off-by: Akihiko Odaki Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/net/igb_core.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index 1b69775fd6..167e1f949d 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -1303,9 +1303,8 @@ igb_build_rx_metadata(IGBCore *core, trace_e1000e_rx_metadata_l4_cso_disabled(); } =20 - trace_e1000e_rx_metadata_status_flags(*status_flags); - func_exit: + trace_e1000e_rx_metadata_status_flags(*status_flags); *status_flags =3D cpu_to_le32(*status_flags); } =20 --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682224029; cv=none; d=zohomail.com; s=zohoarc; b=BwiO4mCD9jqBl7KcZw0zrUOPOaeqSy2r1o6NR+V1/x7DD2YsI4PV/b/0qTSwW4zLERzXY1/caj48MYy+LuG1pi3ZJAD8E09GGKvfbVrRjl9E74vTcQyhYUoNm+PMvdeemgp837M/ISl5pamVEVV20PskRxR5qYge31DgLC93YcI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682224029; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=CBA1GkUlp6RANFF4i4mWmjvW3mnXMfDstja65r4JnaQ=; b=InU9mKOadwLdXy+sj882b2NlHE8NyZpYKuI/dlId3V91z9TPliNrcCrzCKFSdzLNNHMrmmAACLnAJcUbJGNnCebPPLlbt9d1IKFz423uGzmHxPn6emu+nmuRmtiYzlSYWqStLxPTk9K2/cfjRposlfvHhKN7JwmpHmTwaji0n7c= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682224029984661.9306609363398; Sat, 22 Apr 2023 21:27:09 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRCo-00035A-AW; Sun, 23 Apr 2023 00:20:06 -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 1pqRCc-0002zr-NT for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:19:56 -0400 Received: from mail-pl1-x62f.google.com ([2607:f8b0:4864:20::62f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRCb-0000qi-5v for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:19:54 -0400 Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-1a682eee3baso27209505ad.0 for ; Sat, 22 Apr 2023 21:19:52 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.19.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:19:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223591; x=1684815591; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=CBA1GkUlp6RANFF4i4mWmjvW3mnXMfDstja65r4JnaQ=; b=AzlEgRTn98kN7yRs8/1eu3Bth/ifX7he5go+y8Z9SU7CiTN3hl0/MCv6wAB1Zo3rwG N6SEx5WknhMeJHo1g6KDq+3+nIk+eWiQcr7IWmjbp/nshKXwvMbKeyjtihFf4oSaPSH2 M/dfkqt9HZ8c9czlZKmiOWbivReIMdkVYlt98oibdjyUJkjNGA/ob/qjkJIYmUoUynuJ vvXb6cDn5fhppOdbEZ7O3F8x3X4u8ZxMLeK5smBGQAH2VUQ+tVa+OF6o7TPmE65FZBXR rFJf+0VdwdgeCZYkBma6/nuoPt3QhEggWMdTIiHYliXHY6B9hPRHVFOg7KVArGO86LeI Q4wg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223591; x=1684815591; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=CBA1GkUlp6RANFF4i4mWmjvW3mnXMfDstja65r4JnaQ=; b=iAja03BGR6lq7u4aZTDRRQJc1Afzn/4tt80ReZ2ODhEuK8wDUMsgrWiege7L08mKu5 k30UPoE2W3SxoNJAamO3Q/1uiQBTIy8+Z1CiPHATxE1D/UUC4Jtlc6hLFBde1uSCP37j LloMWvYokfuApHGbffmRHFVI+l4082+LzUO+/rDA5XInUE2j7+Bol33hVH+g6dO9Lx8I dTC/Pyjyw0f+ergvcN39lUzmJ4vNb62LysZOIM4b5+9WfQ042e5cEF3lkBjYnvxxSngO FiFmHD3f5b9sFsUxLzjBTye+UfQqxerctveEkoW4PCJin0JwXF84E+zwZo3vvMpR0TX/ 7srg== X-Gm-Message-State: AAQBX9eJW4rhKT7LDeNgEq7MTFhcV4ywbxVmGO+dGt0h2sh3iEBfhwcK gV9iN4JneuhIs/YqErS5Df0p1g== X-Google-Smtp-Source: AKy350aBfzAZNMUm0/AK69XuAampCIuDG0Gs7GVDExktRSzCncfEVRcNADfU83geE94ydIaD/cuh9A== X-Received: by 2002:a17:902:dac4:b0:1a9:5c41:3f8e with SMTP id q4-20020a170902dac400b001a95c413f8emr4486594plx.42.1682223590989; Sat, 22 Apr 2023 21:19:50 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 20/47] igb: Remove goto Date: Sun, 23 Apr 2023 13:18:06 +0900 Message-Id: <20230423041833.5302-21-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::62f; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x62f.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682224031318100001 Content-Type: text/plain; charset="utf-8" The goto is a bit confusing as it changes the control flow only if L4 protocol is not recognized. It is also different from e1000e, and noisy when comparing e1000e and igb. Signed-off-by: Akihiko Odaki Reviewed-by: Sriram Yagnaraman --- hw/net/igb_core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index 167e1f949d..2de04fabfe 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -1297,7 +1297,7 @@ igb_build_rx_metadata(IGBCore *core, break; =20 default: - goto func_exit; + break; } } else { trace_e1000e_rx_metadata_l4_cso_disabled(); --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682224016; cv=none; d=zohomail.com; s=zohoarc; b=I132BhiNgTPjcoSJNYXWVwJcEqI0wWCxx/z+Xko6KEGp72WwIHtAVW0chJvN3CMH+COC3WD+Mh86UXKCcMKzQn1fEJoboeNJiPz2hu+9JX9s7Fn5/DJgy0lFRU5btHcTB+/Ol6KyVPVliQJE9eHpvFKBSbw7WYfdphj62jK04/U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682224016; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=3tcjJdECqHzQHowtvhGwDzeBUVv76McgouuLzHxrMSc=; b=CIJtsWmTPPpDojOJaJXx0qjyQBqeCd4tJk0YDoqlLe3zhKklTBCLLcMcjx4t55qZs6LrwgX0UcdyCZroAW54l9xICfkqWgvk7yJKrDh03X+JCBd24Xe3ZynZngdMhoXVmncalMp6DwCEyjENErcRXGWpK9Xjzi4kqyOljXPqR10= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682224016493483.2519899028192; Sat, 22 Apr 2023 21:26:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRCo-00038Z-TU; Sun, 23 Apr 2023 00:20:07 -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 1pqRCg-000312-0Q for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:00 -0400 Received: from mail-pl1-x630.google.com ([2607:f8b0:4864:20::630]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRCe-0000qz-0w for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:19:57 -0400 Received: by mail-pl1-x630.google.com with SMTP id d9443c01a7336-1a68d61579bso27282935ad.1 for ; Sat, 22 Apr 2023 21:19:55 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.19.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:19:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223594; x=1684815594; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=3tcjJdECqHzQHowtvhGwDzeBUVv76McgouuLzHxrMSc=; b=Ya7x5s8T1f7PEXJH+aZ+9YAv/V9W5t4z5rxX6tcyLdhfjv45Uz5aS4TD962M7nzsi+ RdK6moMSYMCaF5oy1oDmydp23iDzO2SN6rxyguKPfNtPZeNHBtAM9h1vWQ60M7GTqai9 ie5if/M/bSf5u3eEfpBAIgdA1h9B7HfI2wVbI8hYl/xQ3PLItfy0p2iJr2EP95gjYLkI THEGPLvLqbSrEjbCBz9Ij0GpztY696cB6ThfE0TSroH/AEm26ER0NXHuGrfc6DwvPOoQ bFYK/SgwcsEZLHTa4zWPf92bklIJR7ITkPp2aLVxo3Cj+5kEMkDOK7vEgxy/FHV6Cpqy cAGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223594; x=1684815594; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3tcjJdECqHzQHowtvhGwDzeBUVv76McgouuLzHxrMSc=; b=h4mWqA0M5Kh73ruxYQWfv+Tsi1ikQjY6paoXgTnt8wpuvXgtjtH/yCmWblwuiSkWKj ozHrFxsv+BpZ02p0qTJjJnx57ucrZygxBQLklm2yGo/K6VyGKPaVOl+LKCfgtOaJ/AtK 29JreD48YpPr40Xz4oBQh4xaOLvJo4ufQz/gapwkiO/WLqzZih1NOXYDkz1gNBBHmOpf ASjCi0isbNFg6snqS2JEQVH3ijai2IkZNJRm/eYFpJ1DXKHpTatnJSmbU7qTw5CMTkVP s13TzHVDTxfL2ED4w1Dp7MysevqxQkYBs9LYsS8JKJSqobAgNqnrbiWMgrzCeIW/jWei EneQ== X-Gm-Message-State: AAQBX9fuiKcc8Z9yZ1zOjraOgcYmiAnUnXlXjNWcUs9PxrThqS6ZkcIS lNEkCMRYaDu4vJJppTk8XixiIA== X-Google-Smtp-Source: AKy350bmY+0njkI1ysGYsrx1IMPMMzGzl50cgsngqlcernkHGZIqy6ND68NC2jM/VGmHErP8l38mHA== X-Received: by 2002:a17:902:ccce:b0:1a6:8442:546f with SMTP id z14-20020a170902ccce00b001a68442546fmr10941824ple.19.1682223594345; Sat, 22 Apr 2023 21:19:54 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 21/47] igb: Read DCMD.VLE of the first Tx descriptor Date: Sun, 23 Apr 2023 13:18:07 +0900 Message-Id: <20230423041833.5302-22-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::630; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x630.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682224017356100009 Content-Type: text/plain; charset="utf-8" Section 7.2.2.3 Advanced Transmit Data Descriptor says: > For frames that spans multiple descriptors, all fields apart from > DCMD.EOP, DCMD.RS, DCMD.DEXT, DTALEN, Address and DTYP are valid only > in the first descriptors and are ignored in the subsequent ones. Signed-off-by: Akihiko Odaki Reviewed-by: Sriram Yagnaraman --- hw/net/igb_core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index 2de04fabfe..4ac7e7af44 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -613,7 +613,7 @@ igb_process_tx_desc(IGBCore *core, idx =3D (tx->first_olinfo_status >> 4) & 1; igb_tx_insert_vlan(core, queue_index, tx, tx->ctx[idx].vlan_macip_lens >> 16, - !!(cmd_type_len & E1000_TXD_CMD_VLE)); + !!(tx->first_cmd_type_len & E1000_TXD_CMD_VLE)); =20 if (igb_tx_pkt_send(core, tx, queue_index)) { igb_on_tx_done_update_stats(core, tx->tx_pkt, queue_index); --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223648; cv=none; d=zohomail.com; s=zohoarc; b=FmN7Gb6CXKN2Q9mnN7BteKsvBJiS5oRD2L47andaH4I9pw7/IN+jnJBokvJt/pYgZvYmyWy9vCyyqUfWUH3XAJsMuDXq4sTsozRyfW3qMBWxb+5Yk9SGXHXwtu1wjgoKmouANyPSamyi/q3IJwVoSWkB9lqSHTxL8uOqjfXYbTI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223648; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=WOJ6hIB2Qfh92lFD+jfSoOxdT6/0aqhANv6JPVUUvUg=; b=VGS9LsD7RNFlvF6iJYKyMPzLGfFhWztg7go8rn3MdECRQYssBkhcYGHxBypuqRMrRvEvwlE8cjQF0T+jnq9Xn2I5paaMvlLzKpyHMsj3DQf+rx6XgAK1DH7fBDUzlVRPM5TRaAvVUCvKSh2zS8QB3pEliqamHwX3mbNt7sn4Md0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223648183923.1482059659554; Sat, 22 Apr 2023 21:20:48 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRCq-0003EB-Eo; Sun, 23 Apr 2023 00:20:09 -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 1pqRCj-00032l-My for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:02 -0400 Received: from mail-pg1-x52e.google.com ([2607:f8b0:4864:20::52e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRCg-0000rV-Ow for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:00 -0400 Received: by mail-pg1-x52e.google.com with SMTP id 41be03b00d2f7-5144a9c11c7so3531923a12.2 for ; Sat, 22 Apr 2023 21:19:58 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.19.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:19:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223597; x=1684815597; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=WOJ6hIB2Qfh92lFD+jfSoOxdT6/0aqhANv6JPVUUvUg=; b=ZfX4CmiluRvzuBAcmFk3B1v9/TEq0sgM9Etc0503CODbkYU3RZSYYFbGt3sO7wKziZ 9kCuF98WjsUsGiHxig95yIYdwu9jC3Mo3JrRW/tCnKNjK5jINiCTFVT7EksMLFXG7xzk 65TeJ31/b9bWDo98rWwrksr46CACZk+KJFo02aGPB8nNh/Uqt1AFflGgJRg/0RvuTCUw pxeeBYcCx8oInbtPm5SX+lVuOojDoPctThnZZuw4LJfrcFrp/VdiOwunIw+bsws8LrQG 4vthTdFpGFWGnTHzhV7sdUREoncCa1HkATyou2uqr3Bg1dQXEJ9Ptifk9at8wML7GTMD T9Xw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223597; x=1684815597; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=WOJ6hIB2Qfh92lFD+jfSoOxdT6/0aqhANv6JPVUUvUg=; b=dQPbupzFa+OA2aZDs/5itO9qDSaUDYEAoYq4k00nqANWvormyTyG6NRUbY6y4Dl/j9 dx4CGIUzb2ojKTWq5VeYMiXffIzf+FmQE9N+KYoQ+XCUhVsmkHwD1kknYnFH8w2GmNqi 7zn9k5bB2klOoDtCd+ZdQGwWun+pUuln8Q/twZ8hccZ5A2BV8ODpcb5f5V0/U/Toy86+ Cd+B3ddsLylZkBAXdlz1uSPI8hCs0eLhPjNf4zqiNyz1/fgQjjO1y2JYL4iKK0H/4JZf Zdx4bnP6tWZtBsu/GG3t8OiGgv+7gXX8auZ3SS84yhVLlzcf6CYRPh6mQzl64hzGAQva A7xQ== X-Gm-Message-State: AAQBX9ebuOfj5LxDVZGJ9gRMaNJO4qIGfrMztktWK2HoLRT0kgmJjy8K R1rWcW4GKOU/GrfB0kxuKaucdg== X-Google-Smtp-Source: AKy350YV101WD+NG7YAuZU3pGB/xTUqSPnReaYn7kA7zfvp/0ZzvaFoNYSmRq5ftJXvRAeN4hVHceA== X-Received: by 2002:a17:903:120d:b0:1a5:b8d7:8ba1 with SMTP id l13-20020a170903120d00b001a5b8d78ba1mr11307649plh.39.1682223597747; Sat, 22 Apr 2023 21:19:57 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 22/47] e1000e: Reset packet state after emptying Tx queue Date: Sun, 23 Apr 2023 13:18:08 +0900 Message-Id: <20230423041833.5302-23-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::52e; envelope-from=akihiko.odaki@daynix.com; helo=mail-pg1-x52e.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223649849100001 Content-Type: text/plain; charset="utf-8" Keeping Tx packet state after the transmit queue is emptied has some problems: - The datasheet says the descriptors can be reused after the transmit queue is emptied, but the Tx packet state may keep references to them. - The Tx packet state cannot be migrated so it can be reset anytime the migration happens. Always reset Tx packet state always after the queue is emptied. Signed-off-by: Akihiko Odaki --- hw/net/e1000e_core.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/hw/net/e1000e_core.c b/hw/net/e1000e_core.c index d4a9984fe4..27124bba07 100644 --- a/hw/net/e1000e_core.c +++ b/hw/net/e1000e_core.c @@ -959,6 +959,8 @@ e1000e_start_xmit(E1000ECore *core, const E1000E_TxRing= *txr) if (!ide || !e1000e_intrmgr_delay_tx_causes(core, &cause)) { e1000e_set_interrupt_cause(core, cause); } + + net_tx_pkt_reset(txr->tx->tx_pkt, net_tx_pkt_unmap_frag_pci, core->own= er); } =20 static bool @@ -3389,8 +3391,6 @@ e1000e_core_pci_uninit(E1000ECore *core) qemu_del_vm_change_state_handler(core->vmstate); =20 for (i =3D 0; i < E1000E_NUM_QUEUES; i++) { - net_tx_pkt_reset(core->tx[i].tx_pkt, - net_tx_pkt_unmap_frag_pci, core->owner); net_tx_pkt_uninit(core->tx[i].tx_pkt); } =20 @@ -3515,8 +3515,6 @@ static void e1000e_reset(E1000ECore *core, bool sw) e1000x_reset_mac_addr(core->owner_nic, core->mac, core->permanent_mac); =20 for (i =3D 0; i < ARRAY_SIZE(core->tx); i++) { - net_tx_pkt_reset(core->tx[i].tx_pkt, - net_tx_pkt_unmap_frag_pci, core->owner); memset(&core->tx[i].props, 0, sizeof(core->tx[i].props)); core->tx[i].skip_cp =3D false; } --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682224023; cv=none; d=zohomail.com; s=zohoarc; b=epsXBBmeRYoL4TbVlSx0e6wMY+mYmYlfjdnHhdYOSD6fSAx7rJgtd3Df8gAZjwigJH2g57UiLu0DcyY8VDRrXOp3zNXwwReb5o/mFCDS1YjQ7S59f+v0GTdCp22V9uTPBVPanry35FEO/c2LH0CCfaPOyb8YOvmlPpjOSCNaImI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682224023; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=vyIvtVtEkzRRQ65xTTp3qSNNrOItJcBqvkf4ykjxuok=; b=JXt9jUD50BLtIArk8JjcxDL1heFYMP8jMZpcdAGGfloJKP7oLXAMG3gDums+ZVdhT7bJP+qyLMhSfFe4sVxlm113U3bxJnoVCULSQ0CfawYaybflOBfz2iMAbqmBIDVXUgAk3icT6zhFKkvJflm7PQownPiyYPhWeBXO9R+xwFc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682224023270376.3126980267315; Sat, 22 Apr 2023 21:27:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRCp-0003Ai-O4; Sun, 23 Apr 2023 00:20:07 -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 1pqRCo-00033n-0g for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:06 -0400 Received: from mail-pl1-x62d.google.com ([2607:f8b0:4864:20::62d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRCk-0000ry-HD for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:04 -0400 Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-1a5197f00e9so28473645ad.1 for ; Sat, 22 Apr 2023 21:20:02 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.19.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:20:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223601; x=1684815601; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=vyIvtVtEkzRRQ65xTTp3qSNNrOItJcBqvkf4ykjxuok=; b=HzzBexsyOjcnx9mD4mMcvsPi8w2GiKfouGJVJT02t+Y4bMhTQni+IqNwI40HM7VAkn j52KS4260BmFAWk6gCYap+OkSY1cL0jZcLbLXN9exNu1W1+yNBlbYVE2t/n9hHZINki+ wvWWflTVvacZk9/2PB1BduIYfKabOgbTVaoQJUt/N1HLkDGAVmIixZiU6QNl2IlS6kml ZYArHUSsX9tvomYo3g+a0OfvmgsqqM/u1/B1KPMwKefbKJl0IFcVOSEyEJw81phTdFHx fo0pUXUHCnePjXEBqaXhUVuuELyOefLTRz8+hybUkbyNdTPzbl1dTyCDHMozjpA1o2d5 cLZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223601; x=1684815601; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=vyIvtVtEkzRRQ65xTTp3qSNNrOItJcBqvkf4ykjxuok=; b=E0CcvBKqnICFVfoe2wi7+SjAu3fe7eJvjSP8BhvQuFQgP2gdHYRwsAn/puvLoATbgM DDUxDVTpXp4MsZpkBHd58PH0KzK+RbNua8icjNsm0o7wB58tViXYn0tfHV/bztKavXTY f7IxBmRRJ4BCXGVrBe5De3tmk6punrrfCSv+IuwlB0cGY98DO12JuUA4z/npAWkf/RqL 8saWOa8WwETeVXMEsHunxNAB5M3R9AycsSUk4k9G820/dm8yxHx7SPFZugl4CwCCMXLu wV9R4IucIch6CJ32ThBUYMSyBVws+L+wc+eQv6nhSUBa4gqw4wFttFeQNtdEoE6tSQwV /Tkg== X-Gm-Message-State: AAQBX9cF79/Zqzh8alnlxR7fZD6DIsf09xFMXAcG3mEqVb0RCFE/GoBy qUXE+DMjHVAJwd/2KPXeFW8ddA== X-Google-Smtp-Source: AKy350ajslBw5A+jVFmlC6p3z3a/qCIQsNZGj27wrXQI/v5rMxicica6BaaIp9ggmfxCOdApj/g0PA== X-Received: by 2002:a17:902:ebc6:b0:1a5:22a6:4e6a with SMTP id p6-20020a170902ebc600b001a522a64e6amr10721232plg.51.1682223601464; Sat, 22 Apr 2023 21:20:01 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 23/47] vmxnet3: Reset packet state after emptying Tx queue Date: Sun, 23 Apr 2023 13:18:09 +0900 Message-Id: <20230423041833.5302-24-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::62d; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x62d.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682224023803100021 Content-Type: text/plain; charset="utf-8" Keeping Tx packet state after the transmit queue is emptied but this behavior is unreliable as the state can be reset anytime the migration happens. Always reset Tx packet state always after the queue is emptied. Signed-off-by: Akihiko Odaki --- hw/net/vmxnet3.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c index 05f41b6dfa..18b9edfdb2 100644 --- a/hw/net/vmxnet3.c +++ b/hw/net/vmxnet3.c @@ -681,6 +681,8 @@ static void vmxnet3_process_tx_queue(VMXNET3State *s, i= nt qidx) net_tx_pkt_unmap_frag_pci, PCI_DEVICE(s)); } } + + net_tx_pkt_reset(s->tx_pkt, net_tx_pkt_unmap_frag_pci, PCI_DEVICE(s)); } =20 static inline void @@ -1159,7 +1161,6 @@ static void vmxnet3_deactivate_device(VMXNET3State *s) { if (s->device_active) { VMW_CBPRN("Deactivating vmxnet3..."); - net_tx_pkt_reset(s->tx_pkt, net_tx_pkt_unmap_frag_pci, PCI_DEVICE(= s)); net_tx_pkt_uninit(s->tx_pkt); net_rx_pkt_uninit(s->rx_pkt); s->device_active =3D false; --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223794; cv=none; d=zohomail.com; s=zohoarc; b=M4x7042cF+ZQr1RqKWGAXzw16a54XrtyqVvSFpak0LiT+N0lNfKwfHoHEl5+OHr0lcvx5dKKmKn9PSCKjet7SQcQ6mkXONCrjbalnRyOqu47MSOjoICHFValbb6dYvvBACnwKE30mpKN6df/APrp3LMjzeqd/4EhsroecPiFOLI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223794; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=EdeWqV/q8JHODRa34sLM7+dwV7kBQYTP3MfCii3wL/s=; b=lCReEAhJ4w42R0CgSKUkRrFgSmHQjIw4J8gL1dtyTWnBjt/ShPfd7msHpW2EoHv6xjd6tAW9AkboSDkIxxXzH4X354L/WXuUpre7hhL5mvRvpiZQis8X/91t1rKhyGRe6eErU83+HIUSjqF4fw9+68j3yuqEEmt2U8wTotPi4Ck= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223794778830.6660125405643; Sat, 22 Apr 2023 21:23:14 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRCv-0003hk-1Z; Sun, 23 Apr 2023 00:20:13 -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 1pqRCp-0003Ce-Uu for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:07 -0400 Received: from mail-pj1-x102c.google.com ([2607:f8b0:4864:20::102c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRCo-00011S-6o for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:07 -0400 Received: by mail-pj1-x102c.google.com with SMTP id 98e67ed59e1d1-24756a12ba0so2356366a91.1 for ; Sat, 22 Apr 2023 21:20:05 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.20.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:20:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223605; x=1684815605; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=EdeWqV/q8JHODRa34sLM7+dwV7kBQYTP3MfCii3wL/s=; b=KF5cKFoW4JbC9LSOeeXxzxoIB7Sd4Bb/nOLI7KkHGXcEZfJ0p77qQJZS9GaPGvGhvf TY38OObv1kUPO3EvaG8DdYVgkWl93xPn9iEv+nid9k/YdJVRU2P5pcKT4y/gw7YR2qG2 O5+5ei4TWJa4udHq1EwJ1GU0aP23bThnF2MrF46f7Jr4dvLzhGGCM39guhgcl8uBt6Sy EaWcpRSmrJepmtIY+sBtDxVtk0DaGVHYwP/0aaGJPd/DxpKMKf03vRwzwLou74NYRxFx pUiG/xwWNUb/0mJTQ/8DVH3goMS0eYxTTebowqkjL9IeG7V0R7WZ9g2UnG9mZzQvrxNP LPmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223605; x=1684815605; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=EdeWqV/q8JHODRa34sLM7+dwV7kBQYTP3MfCii3wL/s=; b=ksp+n8LSEo/nEXQkIU41jXqHFy3BkfJSzLK5OfAxbkr2xG5/uyqRchKV/LWptjoQHD K/ze+VqSrmxQh8wpFOcuW0hVhJsUsFiS7mxrsKw0lNQ2VmwXO6P7PzxWKuHnyRAhmfew wS2eEtMzasuaTJfc0H/CeA85UGqbryCN5d/fbfnf31/6Zvv2540+ZcQPJ1NWtgDBh95S TBC+l2e3jsA6ls4nU9mPSNiQxoov1rqh3MAW9SGdoiF75MwknegtbPa9u+TryvleFM7n 4TRW1SFdqagy9ZrktD5pbglcFm6xhE6MmztAQw5l5WFeP9mq6eghynfs2WTKOE9FnURX xk+Q== X-Gm-Message-State: AAQBX9cFTJHJCq5yXUbi/sXZyheTX2jOce4ckMrMz/dW3KcHkxc7z9NW HaJS6pCS4wG++2f862C9dBwIrA== X-Google-Smtp-Source: AKy350YtVMKvFoHppYB+zhYQaHYirXrIDPD5qau5EL76GdrbCMdOLdLKUkvk84rTfEYyKrMEnbdRlA== X-Received: by 2002:a17:90a:ad90:b0:247:bd63:c3af with SMTP id s16-20020a17090aad9000b00247bd63c3afmr10800007pjq.8.1682223604825; Sat, 22 Apr 2023 21:20:04 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 24/47] igb: Add more definitions for Tx descriptor Date: Sun, 23 Apr 2023 13:18:10 +0900 Message-Id: <20230423041833.5302-25-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::102c; envelope-from=akihiko.odaki@daynix.com; helo=mail-pj1-x102c.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223796382100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Akihiko Odaki Reviewed-by: Sriram Yagnaraman --- hw/net/igb_regs.h | 32 +++++++++++++++++++++++++++----- hw/net/igb_core.c | 4 ++-- 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/hw/net/igb_regs.h b/hw/net/igb_regs.h index 21ee9a3b2d..eb995d8b2e 100644 --- a/hw/net/igb_regs.h +++ b/hw/net/igb_regs.h @@ -42,11 +42,6 @@ union e1000_adv_tx_desc { } wb; }; =20 -#define E1000_ADVTXD_DTYP_CTXT 0x00200000 /* Advanced Context Descriptor = */ -#define E1000_ADVTXD_DTYP_DATA 0x00300000 /* Advanced Data Descriptor */ -#define E1000_ADVTXD_DCMD_DEXT 0x20000000 /* Descriptor Extension (1=3DAd= v) */ -#define E1000_ADVTXD_DCMD_TSE 0x80000000 /* TCP/UDP Segmentation Enable = */ - #define E1000_ADVTXD_POTS_IXSM 0x00000100 /* Insert TCP/UDP Checksum */ #define E1000_ADVTXD_POTS_TXSM 0x00000200 /* Insert TCP/UDP Checksum */ =20 @@ -151,6 +146,10 @@ union e1000_adv_rx_desc { #define IGB_82576_VF_DEV_ID 0x10CA #define IGB_I350_VF_DEV_ID 0x1520 =20 +/* VLAN info */ +#define IGB_TX_FLAGS_VLAN_MASK 0xffff0000 +#define IGB_TX_FLAGS_VLAN_SHIFT 16 + /* from igb/e1000_82575.h */ =20 #define E1000_MRQC_ENABLE_RSS_MQ 0x00000002 @@ -160,6 +159,29 @@ union e1000_adv_rx_desc { #define E1000_MRQC_RSS_FIELD_IPV6_UDP 0x00800000 #define E1000_MRQC_RSS_FIELD_IPV6_UDP_EX 0x01000000 =20 +/* Adv Transmit Descriptor Config Masks */ +#define E1000_ADVTXD_MAC_TSTAMP 0x00080000 /* IEEE1588 Timestamp packet = */ +#define E1000_ADVTXD_DTYP_CTXT 0x00200000 /* Advanced Context Descripto= r */ +#define E1000_ADVTXD_DTYP_DATA 0x00300000 /* Advanced Data Descriptor */ +#define E1000_ADVTXD_DCMD_EOP 0x01000000 /* End of Packet */ +#define E1000_ADVTXD_DCMD_IFCS 0x02000000 /* Insert FCS (Ethernet CRC) = */ +#define E1000_ADVTXD_DCMD_RS 0x08000000 /* Report Status */ +#define E1000_ADVTXD_DCMD_DEXT 0x20000000 /* Descriptor extension (1=3D= Adv) */ +#define E1000_ADVTXD_DCMD_VLE 0x40000000 /* VLAN pkt enable */ +#define E1000_ADVTXD_DCMD_TSE 0x80000000 /* TCP Seg enable */ +#define E1000_ADVTXD_PAYLEN_SHIFT 14 /* Adv desc PAYLEN shift */ + +#define E1000_ADVTXD_MACLEN_SHIFT 9 /* Adv ctxt desc mac len shift */ +#define E1000_ADVTXD_TUCMD_L4T_UDP 0x00000000 /* L4 Packet TYPE of UDP */ +#define E1000_ADVTXD_TUCMD_IPV4 0x00000400 /* IP Packet Type: 1=3DIPv4= */ +#define E1000_ADVTXD_TUCMD_L4T_TCP 0x00000800 /* L4 Packet TYPE of TCP */ +#define E1000_ADVTXD_TUCMD_L4T_SCTP 0x00001000 /* L4 packet TYPE of SCTP */ +/* IPSec Encrypt Enable for ESP */ +#define E1000_ADVTXD_L4LEN_SHIFT 8 /* Adv ctxt L4LEN shift */ +#define E1000_ADVTXD_MSS_SHIFT 16 /* Adv ctxt MSS shift */ +/* Adv ctxt IPSec SA IDX mask */ +/* Adv ctxt IPSec ESP len mask */ + /* Additional Transmit Descriptor Control definitions */ #define E1000_TXDCTL_QUEUE_ENABLE 0x02000000 /* Enable specific Tx Queue = */ =20 diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index 4ac7e7af44..5fb2a38a6f 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -418,7 +418,7 @@ igb_setup_tx_offloads(IGBCore *core, struct igb_tx *tx) { if (tx->first_cmd_type_len & E1000_ADVTXD_DCMD_TSE) { uint32_t idx =3D (tx->first_olinfo_status >> 4) & 1; - uint32_t mss =3D tx->ctx[idx].mss_l4len_idx >> 16; + uint32_t mss =3D tx->ctx[idx].mss_l4len_idx >> E1000_ADVTXD_MSS_SH= IFT; if (!net_tx_pkt_build_vheader(tx->tx_pkt, true, true, mss)) { return false; } @@ -612,7 +612,7 @@ igb_process_tx_desc(IGBCore *core, if (!tx->skip_cp && net_tx_pkt_parse(tx->tx_pkt)) { idx =3D (tx->first_olinfo_status >> 4) & 1; igb_tx_insert_vlan(core, queue_index, tx, - tx->ctx[idx].vlan_macip_lens >> 16, + tx->ctx[idx].vlan_macip_lens >> IGB_TX_FLAGS_VLAN_SHIFT, !!(tx->first_cmd_type_len & E1000_TXD_CMD_VLE)); =20 if (igb_tx_pkt_send(core, tx, queue_index)) { --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223810; cv=none; d=zohomail.com; s=zohoarc; b=fOV9i8/qRjQWdZmZ9cY5XSCvQJT0wiUfjRQux17E6OUaw7EoGrHBHKNoOQEYTr4QfL1NE39XdGGnQzdfEiLqBuliil0q2ri+vvFLFl7XzyCg8w/X7cyYcsmtKNx1BwEHFVBdg6d8geU7x99rvpDmMo4cfIZcGjLtp7ZRmi+MlZ8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223810; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=MrtCRX6iQBVwgwLH2Xil/FY7eqoBzL39/3IOXtgkA6M=; b=bDYUKMEbuHT2KWgyM1wjw1DT3hbdq20URBwFl2+BE5o/pMTsli2gvZlZgvunzJZ90NlZ1xkLpIu8MWtxD65jcsySQVK+c7xL1IMcbu4S3ab4Sl21NqsCkgfIuBSpqi2Mrj+v5biB93pon11kdaPDkYzt6OltzrNyBgEZlxLnjqA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223810443162.7582976015832; Sat, 22 Apr 2023 21:23:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRCw-0003po-W6; Sun, 23 Apr 2023 00:20:15 -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 1pqRCu-0003eR-Ah for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:13 -0400 Received: from mail-pl1-x632.google.com ([2607:f8b0:4864:20::632]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRCs-00014V-J2 for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:12 -0400 Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-1a80d827179so28947385ad.3 for ; Sat, 22 Apr 2023 21:20:10 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.20.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:20:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223608; x=1684815608; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=MrtCRX6iQBVwgwLH2Xil/FY7eqoBzL39/3IOXtgkA6M=; b=VCqNVXQm4OUYtbFBsTgqD96siMb6/P2AWR9WJU20piHvCilGDW5FeJocF4GowGlG5v ZJkVsWCQiFbccHxfjVNd/T5o3tnv3GCT3V2K0u+tam4eox2B8Pm9s+fRtLE7ogqDjtd7 /dR5fmK2VwAQpEPImXk3yCkdevUp1gbsSVHeErHGxNKW/7zkZfaTtbn2IqGN4ibiSR8b P1L3m6ZGxIeg10Esm0DnKc0jesIHCPsvGL1GQsCUsLkIrg7mV2Bv6yGQrpHHb+YEXWfa eXv8m+R1W5mKxX6v1R4f1zcLerM2iI1WD4amRL/lO+lTrmUg8o3vYf3WjRKSGqe3KBX0 GvlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223608; x=1684815608; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=MrtCRX6iQBVwgwLH2Xil/FY7eqoBzL39/3IOXtgkA6M=; b=fkCHN3MKd3tsKEwiD1SwHnrntDQpQdE5RGrnzviCoMdjMBg+YK6kN4I3gjTBF9WqNq ni1gml39AtiD/K1hQgEgPvdUCYtUijK2aLX1CFAwGr/KcWN2+/zL//Nj8LBvbBjYUBad XViCGWFv5A6EuBuYkrz0EOoeuFqyb9244VE9PyWfdbFE/P8rihh82TAFjp92OxXjhgsq bLNkEkb8T5nZZUKNYlIHLYI5EUrd3EHhlvUljqd5on+JGDQJ/i7mHaX+PPvpQkq30POM yOfiE9bCGgpXpSfPwJOIZqrpzs5HTeo5FyW395PwO/L6zy4NQnchFyg3GueYSeMl076G YUaA== X-Gm-Message-State: AAQBX9duII8AEE6wIGpc0D59vPZ7FcHsn0d6aRyYGDVZL40M0sIzivth G0qGxeA12pHEKg6kpJMZ/erCIQ== X-Google-Smtp-Source: AKy350bMr1XSSBhpzPMGNofWi1ey7SHAlBmQVP8Pab0nUL/9Kg0hM+YWpDLFHMIxY19xZni5GOB5wQ== X-Received: by 2002:a17:903:41ca:b0:1a4:fca9:7f44 with SMTP id u10-20020a17090341ca00b001a4fca97f44mr12127634ple.56.1682223608193; Sat, 22 Apr 2023 21:20:08 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 25/47] igb: Share common VF constants Date: Sun, 23 Apr 2023 13:18:11 +0900 Message-Id: <20230423041833.5302-26-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::632; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x632.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223812517100003 The constants need to be consistent between the PF and VF. Signed-off-by: Akihiko Odaki Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Sriram Yagnaraman --- hw/net/igb_common.h | 8 ++++++++ hw/net/igb.c | 10 +++++----- hw/net/igbvf.c | 7 ------- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/hw/net/igb_common.h b/hw/net/igb_common.h index 69ac490f75..f2a9065791 100644 --- a/hw/net/igb_common.h +++ b/hw/net/igb_common.h @@ -28,6 +28,14 @@ =20 #include "igb_regs.h" =20 +#define TYPE_IGBVF "igbvf" + +#define IGBVF_MMIO_BAR_IDX (0) +#define IGBVF_MSIX_BAR_IDX (3) + +#define IGBVF_MMIO_SIZE (16 * 1024) +#define IGBVF_MSIX_SIZE (16 * 1024) + #define defreg(x) x =3D (E1000_##x >> 2) #define defreg_indexed(x, i) x##i =3D (E1000_##x(i) >> 2) #define defreg_indexeda(x, i) x##i##_A =3D (E1000_##x##_A(i) >> 2) diff --git a/hw/net/igb.c b/hw/net/igb.c index 51a7e9133e..1c989d7677 100644 --- a/hw/net/igb.c +++ b/hw/net/igb.c @@ -433,16 +433,16 @@ static void igb_pci_realize(PCIDevice *pci_dev, Error= **errp) =20 pcie_ari_init(pci_dev, 0x150, 1); =20 - pcie_sriov_pf_init(pci_dev, IGB_CAP_SRIOV_OFFSET, "igbvf", + pcie_sriov_pf_init(pci_dev, IGB_CAP_SRIOV_OFFSET, TYPE_IGBVF, IGB_82576_VF_DEV_ID, IGB_MAX_VF_FUNCTIONS, IGB_MAX_VF_FUNCTIONS, IGB_VF_OFFSET, IGB_VF_STRIDE); =20 - pcie_sriov_pf_init_vf_bar(pci_dev, 0, + pcie_sriov_pf_init_vf_bar(pci_dev, IGBVF_MMIO_BAR_IDX, PCI_BASE_ADDRESS_MEM_TYPE_64 | PCI_BASE_ADDRESS_MEM_PREFETCH, - 16 * KiB); - pcie_sriov_pf_init_vf_bar(pci_dev, 3, + IGBVF_MMIO_SIZE); + pcie_sriov_pf_init_vf_bar(pci_dev, IGBVF_MSIX_BAR_IDX, PCI_BASE_ADDRESS_MEM_TYPE_64 | PCI_BASE_ADDRESS_MEM_PREFETCH, - 16 * KiB); + IGBVF_MSIX_SIZE); =20 igb_init_net_peer(s, pci_dev, macaddr); =20 diff --git a/hw/net/igbvf.c b/hw/net/igbvf.c index 70beb7af50..284ea61184 100644 --- a/hw/net/igbvf.c +++ b/hw/net/igbvf.c @@ -50,15 +50,8 @@ #include "trace.h" #include "qapi/error.h" =20 -#define TYPE_IGBVF "igbvf" OBJECT_DECLARE_SIMPLE_TYPE(IgbVfState, IGBVF) =20 -#define IGBVF_MMIO_BAR_IDX (0) -#define IGBVF_MSIX_BAR_IDX (3) - -#define IGBVF_MMIO_SIZE (16 * 1024) -#define IGBVF_MSIX_SIZE (16 * 1024) - struct IgbVfState { PCIDevice parent_obj; =20 --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223891; cv=none; d=zohomail.com; s=zohoarc; b=BM9XoB9v5T4uMyfrxClSArp19XBfM0/jKsbC82m9HJ5PhEaBbJS296XzsAp/INz8Cq6DFtp5obsJZBL6mZm/SCyClQRNR0WhH7wHvWfhETYAFLC7LPylKa11/1IXbvsrZCiatO/4FV6YwbqdHNF+aoDEn/ZTE76h/2KQSkwPFWM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223891; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=Rv2ivFOb+al9ATLbdWafPIF6MnrGKAO9zkrVjCm/34Q=; b=eJbUqF2LXzCNqjpxmWlARwZusbkleGkCvf9R0FcJfAz2drGbtlFl+GE2XNIDieuZXtnybDmAtwbS9VeE5vmbN4x9qZ07xuPS4/N4p9BTLYNP/QpVqC8GwHk11u44zhOu1fmPtUgKg7sI+YATplvue4qR8D7zHfhPK37J8bAyQ9I= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 168222389141866.00706873658771; Sat, 22 Apr 2023 21:24:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRCy-0003xm-GV; Sun, 23 Apr 2023 00:20:16 -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 1pqRCw-0003qJ-Sy for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:14 -0400 Received: from mail-pl1-x630.google.com ([2607:f8b0:4864:20::630]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRCu-0000qz-5z for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:13 -0400 Received: by mail-pl1-x630.google.com with SMTP id d9443c01a7336-1a68d61579bso27283575ad.1 for ; Sat, 22 Apr 2023 21:20:11 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.20.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:20:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223611; x=1684815611; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Rv2ivFOb+al9ATLbdWafPIF6MnrGKAO9zkrVjCm/34Q=; b=j+qoQypmxwXUatLVqPZwhmTFwwGskinY0ojSnjcB5aoEdEjVMBNqsMftBMnZsIFory fR4woClRT7X4dTDH1DNFgWovf2KqF1N/ha5dW/V5L0RRsD+N2Z9h8JrQRVPHZ+Wv3ccK pb16hIt3inDWBqz6WC8wgfVAI1cgVxnRGun+WUGkyKjdPLFTfJs3366Hmg5MwWywKgWb d3ZXDot2qN/ekvx4z2dgGROAoCeaNsK8z4/URNcwkUGV05Cnfu0PwbS41H+rWCzbrOQt WumVEYwcwJC9crRu2hHRrq6/YtpgcOSsMmrqnXsk8Ubo8xJQwoYWwZnz1xvdGEVwsFBw 0IPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223611; x=1684815611; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Rv2ivFOb+al9ATLbdWafPIF6MnrGKAO9zkrVjCm/34Q=; b=J1BJROGpWavnR6yMUmCFVIWH3zKFTVLTocjr4+/j/LfAvNh+O9CkQa1Kq3Y0TDP7jW E4vaZza/MYGaM1d+yhf/2q+23Ab66Riz9b/0Vn8DJa1hy2WJCu9aKyY7Sq5rmeZ/jMYz M1pHgt2ZQl1Mlz2HLk52vc4P/89x+pdfyFENBOvcJnOxuwuJn/gfg66y0pErRKOl1N9F kHuRm0e1hlF44kVqG+AFziLa+YRW+Yo18sLy9IsMKBxHRi+L7j5X713Hgir+iOWhuEri LSA6etVj7dSe7bDCmeZeVirrRqLfmkJIbfp51i27AzM72/BV7ycgbRP1Ag0Hpar19Vj2 O5qQ== X-Gm-Message-State: AAQBX9eRATJ5eyITHpOSgVjhcHpCLCevy0n/XHu2CB96F1QrKXB7Uqyk LSgIvszQqBd/qxE71f3i4UsEZQ== X-Google-Smtp-Source: AKy350ZSB4hXPuODCwWCQ12ctWKE0sChNGcLxcC5yQfxDonikj8XwBEWKpRZMqVBsDXuLCqxL5URPA== X-Received: by 2002:a17:902:f54b:b0:1a6:68fe:2ea2 with SMTP id h11-20020a170902f54b00b001a668fe2ea2mr13428300plf.2.1682223611531; Sat, 22 Apr 2023 21:20:11 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 26/47] igb: Fix igb_mac_reg_init coding style alignment Date: Sun, 23 Apr 2023 13:18:12 +0900 Message-Id: <20230423041833.5302-27-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::630; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x630.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, UPPERCASE_50_75=0.008 autolearn=no 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223892761100007 Signed-off-by: Akihiko Odaki Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/net/igb_core.c | 96 +++++++++++++++++++++++------------------------ 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index 5fb2a38a6f..3c1ef11afd 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -4027,54 +4027,54 @@ static const uint32_t igb_mac_reg_init[] =3D { [VMOLR0 ... VMOLR0 + 7] =3D 0x2600 | E1000_VMOLR_STRCRC, [RPLOLR] =3D E1000_RPLOLR_STRCRC, [RLPML] =3D 0x2600, - [TXCTL0] =3D E1000_DCA_TXCTRL_DATA_RRO_EN | - E1000_DCA_TXCTRL_TX_WB_RO_EN | - E1000_DCA_TXCTRL_DESC_RRO_EN, - [TXCTL1] =3D E1000_DCA_TXCTRL_DATA_RRO_EN | - E1000_DCA_TXCTRL_TX_WB_RO_EN | - E1000_DCA_TXCTRL_DESC_RRO_EN, - [TXCTL2] =3D E1000_DCA_TXCTRL_DATA_RRO_EN | - E1000_DCA_TXCTRL_TX_WB_RO_EN | - E1000_DCA_TXCTRL_DESC_RRO_EN, - [TXCTL3] =3D E1000_DCA_TXCTRL_DATA_RRO_EN | - E1000_DCA_TXCTRL_TX_WB_RO_EN | - E1000_DCA_TXCTRL_DESC_RRO_EN, - [TXCTL4] =3D E1000_DCA_TXCTRL_DATA_RRO_EN | - E1000_DCA_TXCTRL_TX_WB_RO_EN | - E1000_DCA_TXCTRL_DESC_RRO_EN, - [TXCTL5] =3D E1000_DCA_TXCTRL_DATA_RRO_EN | - E1000_DCA_TXCTRL_TX_WB_RO_EN | - E1000_DCA_TXCTRL_DESC_RRO_EN, - [TXCTL6] =3D E1000_DCA_TXCTRL_DATA_RRO_EN | - E1000_DCA_TXCTRL_TX_WB_RO_EN | - E1000_DCA_TXCTRL_DESC_RRO_EN, - [TXCTL7] =3D E1000_DCA_TXCTRL_DATA_RRO_EN | - E1000_DCA_TXCTRL_TX_WB_RO_EN | - E1000_DCA_TXCTRL_DESC_RRO_EN, - [TXCTL8] =3D E1000_DCA_TXCTRL_DATA_RRO_EN | - E1000_DCA_TXCTRL_TX_WB_RO_EN | - E1000_DCA_TXCTRL_DESC_RRO_EN, - [TXCTL9] =3D E1000_DCA_TXCTRL_DATA_RRO_EN | - E1000_DCA_TXCTRL_TX_WB_RO_EN | - E1000_DCA_TXCTRL_DESC_RRO_EN, - [TXCTL10] =3D E1000_DCA_TXCTRL_DATA_RRO_EN | - E1000_DCA_TXCTRL_TX_WB_RO_EN | - E1000_DCA_TXCTRL_DESC_RRO_EN, - [TXCTL11] =3D E1000_DCA_TXCTRL_DATA_RRO_EN | - E1000_DCA_TXCTRL_TX_WB_RO_EN | - E1000_DCA_TXCTRL_DESC_RRO_EN, - [TXCTL12] =3D E1000_DCA_TXCTRL_DATA_RRO_EN | - E1000_DCA_TXCTRL_TX_WB_RO_EN | - E1000_DCA_TXCTRL_DESC_RRO_EN, - [TXCTL13] =3D E1000_DCA_TXCTRL_DATA_RRO_EN | - E1000_DCA_TXCTRL_TX_WB_RO_EN | - E1000_DCA_TXCTRL_DESC_RRO_EN, - [TXCTL14] =3D E1000_DCA_TXCTRL_DATA_RRO_EN | - E1000_DCA_TXCTRL_TX_WB_RO_EN | - E1000_DCA_TXCTRL_DESC_RRO_EN, - [TXCTL15] =3D E1000_DCA_TXCTRL_DATA_RRO_EN | - E1000_DCA_TXCTRL_TX_WB_RO_EN | - E1000_DCA_TXCTRL_DESC_RRO_EN, + [TXCTL0] =3D E1000_DCA_TXCTRL_DATA_RRO_EN | + E1000_DCA_TXCTRL_TX_WB_RO_EN | + E1000_DCA_TXCTRL_DESC_RRO_EN, + [TXCTL1] =3D E1000_DCA_TXCTRL_DATA_RRO_EN | + E1000_DCA_TXCTRL_TX_WB_RO_EN | + E1000_DCA_TXCTRL_DESC_RRO_EN, + [TXCTL2] =3D E1000_DCA_TXCTRL_DATA_RRO_EN | + E1000_DCA_TXCTRL_TX_WB_RO_EN | + E1000_DCA_TXCTRL_DESC_RRO_EN, + [TXCTL3] =3D E1000_DCA_TXCTRL_DATA_RRO_EN | + E1000_DCA_TXCTRL_TX_WB_RO_EN | + E1000_DCA_TXCTRL_DESC_RRO_EN, + [TXCTL4] =3D E1000_DCA_TXCTRL_DATA_RRO_EN | + E1000_DCA_TXCTRL_TX_WB_RO_EN | + E1000_DCA_TXCTRL_DESC_RRO_EN, + [TXCTL5] =3D E1000_DCA_TXCTRL_DATA_RRO_EN | + E1000_DCA_TXCTRL_TX_WB_RO_EN | + E1000_DCA_TXCTRL_DESC_RRO_EN, + [TXCTL6] =3D E1000_DCA_TXCTRL_DATA_RRO_EN | + E1000_DCA_TXCTRL_TX_WB_RO_EN | + E1000_DCA_TXCTRL_DESC_RRO_EN, + [TXCTL7] =3D E1000_DCA_TXCTRL_DATA_RRO_EN | + E1000_DCA_TXCTRL_TX_WB_RO_EN | + E1000_DCA_TXCTRL_DESC_RRO_EN, + [TXCTL8] =3D E1000_DCA_TXCTRL_DATA_RRO_EN | + E1000_DCA_TXCTRL_TX_WB_RO_EN | + E1000_DCA_TXCTRL_DESC_RRO_EN, + [TXCTL9] =3D E1000_DCA_TXCTRL_DATA_RRO_EN | + E1000_DCA_TXCTRL_TX_WB_RO_EN | + E1000_DCA_TXCTRL_DESC_RRO_EN, + [TXCTL10] =3D E1000_DCA_TXCTRL_DATA_RRO_EN | + E1000_DCA_TXCTRL_TX_WB_RO_EN | + E1000_DCA_TXCTRL_DESC_RRO_EN, + [TXCTL11] =3D E1000_DCA_TXCTRL_DATA_RRO_EN | + E1000_DCA_TXCTRL_TX_WB_RO_EN | + E1000_DCA_TXCTRL_DESC_RRO_EN, + [TXCTL12] =3D E1000_DCA_TXCTRL_DATA_RRO_EN | + E1000_DCA_TXCTRL_TX_WB_RO_EN | + E1000_DCA_TXCTRL_DESC_RRO_EN, + [TXCTL13] =3D E1000_DCA_TXCTRL_DATA_RRO_EN | + E1000_DCA_TXCTRL_TX_WB_RO_EN | + E1000_DCA_TXCTRL_DESC_RRO_EN, + [TXCTL14] =3D E1000_DCA_TXCTRL_DATA_RRO_EN | + E1000_DCA_TXCTRL_TX_WB_RO_EN | + E1000_DCA_TXCTRL_DESC_RRO_EN, + [TXCTL15] =3D E1000_DCA_TXCTRL_DATA_RRO_EN | + E1000_DCA_TXCTRL_TX_WB_RO_EN | + E1000_DCA_TXCTRL_DESC_RRO_EN, }; =20 static void igb_reset(IGBCore *core, bool sw) --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223645; cv=none; d=zohomail.com; s=zohoarc; b=EYcEfTqOBSQ0FCYXW18Gb58uvRFREv2jFQs4UhrrQFhn9cZjO886apc1tnweAMG/fdvhtQ6/rfGNNLZ/OGGMxLzdguXt25ETy4unO46ho/n37BONLf1vSNbh0Ha2fF9lvGzgc5FmHqqPkT33cpY47XZB8cJEZcduB4+NUfy9ZU4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223645; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=/ocFjXCC8oIvQV9/JFkQa70q0sDme/ntA+/BYDjdVPk=; b=LkPfxRteOzO9/ff5TffHElt+GSVyX4ApgW2fGysChm9esE/KX5ZQ9ZZ0rDiMFACZ9oT3Xp735JOHaCogdMpLTsaFe6OsFzxFoSP7kKSSFi29sa4WACwSrVOUXg+Yz96iXTpL0usqGnQ1RrmO5Fg5D6/qdwV1qhE0swR61FZ8a4Y= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223645487831.9053401669037; Sat, 22 Apr 2023 21:20:45 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRD4-0004Iq-Mm; Sun, 23 Apr 2023 00:20:24 -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 1pqRD1-0004Bv-4O for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:19 -0400 Received: from mail-pl1-x634.google.com ([2607:f8b0:4864:20::634]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRCy-00015I-1M for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:18 -0400 Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-1a68f2345c5so28665795ad.2 for ; Sat, 22 Apr 2023 21:20:15 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.20.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:20:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223615; x=1684815615; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=/ocFjXCC8oIvQV9/JFkQa70q0sDme/ntA+/BYDjdVPk=; b=4AuVBG37HdHEplUyEmvgW6gN4XoITia5TVNurW5vJYi2f6cioT9sLU50AP4aVyUqCB kKBns67QrCrKJR1+WmQG3Evc+4iK+uW2h4HqpkcRC3G5cqdRNjmemadqLfb4PTRrom7E 8pZZKwB32R9u1JBFhD8MA5rxexJMWfH/k5YXE246+skjKl15RGmVVcrbMx0XcGY5dJ3z 3Fi3XvvujpeTBkv6s/xe3FymLkjSXoF3dniAEdqqXM2mhg3HPq9W7viVntb+dJcwlyQR OF/OVeX59tvxVshMu98l7a2yy++4pIry45sNKNS94xgwjUizA6G0hTHRsQ/lb7GB8EEy wZOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223615; x=1684815615; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/ocFjXCC8oIvQV9/JFkQa70q0sDme/ntA+/BYDjdVPk=; b=S1ZCDfs7/tARFwTGAM+5cELVVdNq6kwH5IZuJsT2qvwOI2bcK0eVKBDBGyIrjEpINi Qi8yNw45/a+sUd8DNY02Nv1uELHYuGBzrZKg3ic8n9hX+qQ42uS5CseqJfKHAmDFhOUx tBEiTaLpKGGLh6j78hJBWNseMrccNWU7ZeeIjSAO/Sf/33aTE2tPiekJlNI3Qvj3vjcE 9O1bCknDmGjKJyRF1w2m758n2+diAqkbl1EeQiKikFk191Gg63mJHPqDrFmLa7eDKlpC Ci5FOuo4JI0TzilUEQqECOewwEENRqq2l5BB/1dnFpEw+idpyb+Xbm5EebP3BkCy54PI 2d9g== X-Gm-Message-State: AAQBX9dF1pRX44PtqiWdrNk84zy/+yeHzri2vf4CMaAlUVVjGi3MMkJa Z2tFoW5o6zXnfibGgN59mmFBzg== X-Google-Smtp-Source: AKy350Z6S6BV62uKhT8hYzP2jJLP+nQBRteteofRA9vT4k4iQd7VlGybMb/mVLrHaG9+1tcQJ+fwqw== X-Received: by 2002:a17:903:5c3:b0:1a6:639e:887e with SMTP id kf3-20020a17090305c300b001a6639e887emr9315474plb.13.1682223614929; Sat, 22 Apr 2023 21:20:14 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 27/47] igb: Clear EICR bits for delayed MSI-X interrupts Date: Sun, 23 Apr 2023 13:18:13 +0900 Message-Id: <20230423041833.5302-28-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::634; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x634.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223645851100003 Content-Type: text/plain; charset="utf-8" Section 7.3.4.1 says: > When auto-clear is enabled for an interrupt cause, the EICR bit is > set when a cause event mapped to this vector occurs. When the EITR > Counter reaches zero, the MSI-X message is sent on PCIe. Then the > EICR bit is cleared and enabled to be set by a new cause event Signed-off-by: Akihiko Odaki --- hw/net/igb_core.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index 3c1ef11afd..ef29e68096 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -97,23 +97,31 @@ igb_lower_legacy_irq(IGBCore *core) pci_set_irq(core->owner, 0); } =20 -static void igb_msix_notify(IGBCore *core, unsigned int vector) +static void igb_msix_notify(IGBCore *core, unsigned int cause) { PCIDevice *dev =3D core->owner; uint16_t vfn; + uint32_t effective_eiac; + unsigned int vector; =20 - vfn =3D 8 - (vector + 2) / IGBVF_MSIX_VEC_NUM; + vfn =3D 8 - (cause + 2) / IGBVF_MSIX_VEC_NUM; if (vfn < pcie_sriov_num_vfs(core->owner)) { dev =3D pcie_sriov_get_vf_at_index(core->owner, vfn); assert(dev); - vector =3D (vector + 2) % IGBVF_MSIX_VEC_NUM; - } else if (vector >=3D IGB_MSIX_VEC_NUM) { + vector =3D (cause + 2) % IGBVF_MSIX_VEC_NUM; + } else if (cause >=3D IGB_MSIX_VEC_NUM) { qemu_log_mask(LOG_GUEST_ERROR, "igb: Tried to use vector unavailable for PF"); return; + } else { + vector =3D cause; } =20 msix_notify(dev, vector); + + trace_e1000e_irq_icr_clear_eiac(core->mac[EICR], core->mac[EIAC]); + effective_eiac =3D core->mac[EIAC] & BIT(cause); + core->mac[EICR] &=3D ~effective_eiac; } =20 static inline void @@ -1834,7 +1842,6 @@ igb_eitr_should_postpone(IGBCore *core, int idx) static void igb_send_msix(IGBCore *core) { uint32_t causes =3D core->mac[EICR] & core->mac[EIMS]; - uint32_t effective_eiac; int vector; =20 for (vector =3D 0; vector < IGB_INTR_NUM; ++vector) { @@ -1842,10 +1849,6 @@ static void igb_send_msix(IGBCore *core) =20 trace_e1000e_irq_msix_notify_vec(vector); igb_msix_notify(core, vector); - - trace_e1000e_irq_icr_clear_eiac(core->mac[EICR], core->mac[EIA= C]); - effective_eiac =3D core->mac[EIAC] & BIT(vector); - core->mac[EICR] &=3D ~effective_eiac; } } } --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682224016; cv=none; d=zohomail.com; s=zohoarc; b=UvhtgLZf2rer2WKV9xh7TFF8Y9GSsU2Edl2cK7szc7LEZmFtAB5EJhqbmVTlXAjWEoarVEuDT75z4edDSvhxE5lbyxUMEn5eMM5qpCFY59J5nk9FG68+aJEeGUFlUV9PbmX8VrlSsC45iSglHBmi4IeaXGUjJRvTP1cEqL8CyI0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682224016; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=nkZeqMGrC5T4wD0PKQEIGg+Sarundri/kY+tU5NvW80=; b=l123qM7Y3/jiN0JeHdF/FAOJC3s0zl0qJRxT3O8UOflvBj3R/+7eiPApiT1KiTRobDlb1C7wHBGHP5HCbJUM12Nm9vuFZAzTEIdaoDZFVeMcgCRf1/pN8uzgplG4WpO4dVehp3C/+UICDAVK235IRgf2zo7k8bg9sxmzHtmXFIA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682224016803858.8949323185838; Sat, 22 Apr 2023 21:26:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRDA-0004Wx-V8; Sun, 23 Apr 2023 00:20:29 -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 1pqRD3-0004JU-G1 for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:22 -0400 Received: from mail-pf1-x435.google.com ([2607:f8b0:4864:20::435]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRD1-00015e-MJ for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:20 -0400 Received: by mail-pf1-x435.google.com with SMTP id d2e1a72fcca58-63b4a64c72bso2815815b3a.0 for ; Sat, 22 Apr 2023 21:20:19 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.20.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:20:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223618; x=1684815618; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=nkZeqMGrC5T4wD0PKQEIGg+Sarundri/kY+tU5NvW80=; b=YEMn5shYpvqtc3DaT1FDjSwK7E37Pb6NU0967d/dMWjusN2dey8hbKs9wBXxMjL0Ro 1givKhiLhPlpb/JyNKQYYdIOesmVEuhRtdYfFEdpwVQLPmSkAgamwhgpq4b7N7d1Fojs Aj3VqPRlYnfKuPRfvmYv7sRKjYeq40hPcILFmOyEkhyBBE4AmS9qzJOTwOM5dujtfUcH cZ2KL6ciqcvZkFPl4kH8/j5zrsu6XW8JuIppYGXsXDC0wOUM7ydrme3SJL0MTeT82Of9 gAtN1AUg9u+Vnd7Z/m9kFELTAUkTPEQ+4J/X07S3QUVjIZ4zOvWx2YiyqJKOFi0fsvci VyPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223618; x=1684815618; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=nkZeqMGrC5T4wD0PKQEIGg+Sarundri/kY+tU5NvW80=; b=OTv2wNJt/sNUPwCL/VQxzQbIV4r/dM/x3qvCZPduXMfnRNeFDKHqNgLPk9fzG244RC VnEApPyVQgJxm7uzfYqojscj1iCTPg4uX5svs41Bt+tIUuFJLOKqcbZ5b6oNvJylkys+ WVCPDVMz9bo2Ra0hlQg2dz6yRXjkUXGnua/O7w07Q23kQD/LveS/zncGBB5SLEO9e1ss SBQZns8fB3Yhs6F6nxlNl1WGxf0tt9R/WKrV1RIlGSti6jf5sxlgBqDkXnHLAlADD560 o2epyRUzvD/5IE4rH3gHaALQiuCVrsi8vjAHIRRHCFQ/QrXXoYkngdedt9bXbdFP6Rnz PDFw== X-Gm-Message-State: AAQBX9fltOqGUI1xoOl/bdiDOeu2OpS9jGGKKIQIGTFYQmvdubsXSnm1 HGaRmzrgdRA81SWaKAB6RqeC4w== X-Google-Smtp-Source: AKy350YbbL5lSwKcKGiZUSWoaEZALyeLUWkReCIBwg883TWnspJntwGuoRQzoFUk3QHHKOm+vFeS7g== X-Received: by 2002:a17:903:245:b0:1a6:7ed1:7ce4 with SMTP id j5-20020a170903024500b001a67ed17ce4mr11645016plh.44.1682223618306; Sat, 22 Apr 2023 21:20:18 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 28/47] e1000e: Rename a variable in e1000e_receive_internal() Date: Sun, 23 Apr 2023 13:18:14 +0900 Message-Id: <20230423041833.5302-29-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::435; envelope-from=akihiko.odaki@daynix.com; helo=mail-pf1-x435.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682224017737100012 Content-Type: text/plain; charset="utf-8" Rename variable "n" to "causes", which properly represents the content of the variable. Signed-off-by: Akihiko Odaki --- hw/net/e1000e_core.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/hw/net/e1000e_core.c b/hw/net/e1000e_core.c index 27124bba07..0c0c45a6ce 100644 --- a/hw/net/e1000e_core.c +++ b/hw/net/e1000e_core.c @@ -1650,7 +1650,7 @@ static ssize_t e1000e_receive_internal(E1000ECore *core, const struct iovec *iov, int iov= cnt, bool has_vnet) { - uint32_t n =3D 0; + uint32_t causes =3D 0; uint8_t min_buf[ETH_ZLEN]; struct iovec min_iov; size_t size, orig_size; @@ -1723,32 +1723,32 @@ e1000e_receive_internal(E1000ECore *core, const str= uct iovec *iov, int iovcnt, =20 /* Perform small receive detection (RSRPD) */ if (total_size < core->mac[RSRPD]) { - n |=3D E1000_ICS_SRPD; + causes |=3D E1000_ICS_SRPD; } =20 /* Perform ACK receive detection */ if (!(core->mac[RFCTL] & E1000_RFCTL_ACK_DIS) && (e1000e_is_tcp_ack(core, core->rx_pkt))) { - n |=3D E1000_ICS_ACK; + causes |=3D E1000_ICS_ACK; } =20 /* Check if receive descriptor minimum threshold hit */ rdmts_hit =3D e1000e_rx_descr_threshold_hit(core, rxr.i); - n |=3D e1000e_rx_wb_interrupt_cause(core, rxr.i->idx, rdmts_hit); + causes |=3D e1000e_rx_wb_interrupt_cause(core, rxr.i->idx, rdmts_h= it); =20 trace_e1000e_rx_written_to_guest(rxr.i->idx); } else { - n |=3D E1000_ICS_RXO; + causes |=3D E1000_ICS_RXO; retval =3D 0; =20 trace_e1000e_rx_not_written_to_guest(rxr.i->idx); } =20 - if (!e1000e_intrmgr_delay_rx_causes(core, &n)) { - trace_e1000e_rx_interrupt_set(n); - e1000e_set_interrupt_cause(core, n); + if (!e1000e_intrmgr_delay_rx_causes(core, &causes)) { + trace_e1000e_rx_interrupt_set(causes); + e1000e_set_interrupt_cause(core, causes); } else { - trace_e1000e_rx_interrupt_delayed(n); + trace_e1000e_rx_interrupt_delayed(causes); } =20 return retval; --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223678; cv=none; d=zohomail.com; s=zohoarc; b=SPCjDt65Rk1xfMc1Yvr67ngUfwri+6QHYAtaw+/efSX2gBf+OC9iXKFl/FkKQbkMWsNDBKvi8yf1JLQfYm1WT0ZGO/VjmG0aEDQEqxrpY11JYYjTUFt2DDE4zrmuwYKp2/uCQ6h07LBnx5QpWMQWnRbUOV3/ThgAgpXzH7AgjzQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223678; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=xwJfDqqBhjAuYC/ssH4g4y70iA4xa/LgCFt3ljPGHSA=; b=gpr9FQbj2J4ucThxIckQQkHEBWt/9jhgDaPsaShpb2JKvOp5elbHSK0KcwJw+TU5UA18WZ2GMyyRyeZ33F+rwjCeBJ6MbWk6nDvebDWFBtNbCHVt+x/FdcIkUa5WpkQVmU5FX6VCtP9jCdfZM04EKyKTMAPPRmnxkgcGpU6L3VU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223678958661.2166453194656; Sat, 22 Apr 2023 21:21:18 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRDF-0004hY-4N; Sun, 23 Apr 2023 00:20:39 -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 1pqRD6-0004NV-Ho for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:25 -0400 Received: from mail-pl1-x62b.google.com ([2607:f8b0:4864:20::62b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRD4-00018p-Vq for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:24 -0400 Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-1a920d4842bso27036305ad.2 for ; Sat, 22 Apr 2023 21:20:22 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.20.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:20:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223621; x=1684815621; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=xwJfDqqBhjAuYC/ssH4g4y70iA4xa/LgCFt3ljPGHSA=; b=pL8D+GIKBVUvjXG+eIid4QvvWaeV+XQhF9Lm2bvieD3uo231WSmJHLLn+4Fetpkfo8 FHKfRy03vIK6u9kACN1HuYRYkkc2itF9yvDrTbKjhioSZFYjPgNOP9qjHttxzqSWJh/7 1fPkTqyJm2IzDRpncr0AskdkKiga1AWAgfIgXsewC3+BIr3eY+EGAySTw3YFwNx9dqpG oCw09jAwJPrTFI4gzqtrf6rusv/Y4ftaJ1aUboqjjEal6EJOxKsDNyFh7bKlB8xp6D/h q5Ry9Ijq6WTfKWTwluG6gKU8LZFIOnfdNgW8ZGc2F2wvoS2rIfpGvNaxznJ0Fzw+7oPf wVuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223621; x=1684815621; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=xwJfDqqBhjAuYC/ssH4g4y70iA4xa/LgCFt3ljPGHSA=; b=JVHkaIaXWDbnYeN2leBydk/j4zPzC3Sblo1AQJGbbEcPujtlU0WLaM97Y8cDGlpdri J/PPBwUcSAAB/dsc375fTRxujiNwJRtgY3/Yvyy15o+kaIjRqbxjluZUPjRKjlwzfPkI 3eu85/THBXSmxpKuOQfFLef6ckNqV6Z9rTCI8BYZlvyBngLTTpqt3kvuupMbO8mk47Fg RJjzhb4p6gDcadx7ebrKk/eopD4SEXeU9/cHaVqp8Rpmq7RYm8DMkPazOTIVspL3HFai WT9AE1IqBilwhz+sCh8qSqI5vwhuXEDYLSllym90SOfirJTFV2FGx6dXtLwytZaD57O/ D8uA== X-Gm-Message-State: AAQBX9chzqZrZsraMuVQ7cs1OV5HMRKyn2RiLsBa+bqjQXKgHgaNKFg/ JiOgWt6+60OhMiYn9eux4dccEw== X-Google-Smtp-Source: AKy350ZULymCOM/YDXl1iatQonb7LcsfBvF8IlKoUH3CGRD6pcGEjvrfpvDinKUyj6nR5OXB5GdXqw== X-Received: by 2002:a17:902:eb84:b0:19e:839e:49d8 with SMTP id q4-20020a170902eb8400b0019e839e49d8mr9950062plg.59.1682223621657; Sat, 22 Apr 2023 21:20:21 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 29/47] igb: Rename a variable in igb_receive_internal() Date: Sun, 23 Apr 2023 13:18:15 +0900 Message-Id: <20230423041833.5302-30-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::62b; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x62b.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223680349100005 Content-Type: text/plain; charset="utf-8" Rename variable "n" to "causes", which properly represents the content of the variable. Signed-off-by: Akihiko Odaki Reviewed-by: Sriram Yagnaraman --- hw/net/igb_core.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index ef29e68096..77e4ee42a5 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -1569,7 +1569,7 @@ igb_receive_internal(IGBCore *core, const struct iove= c *iov, int iovcnt, bool has_vnet, bool *external_tx) { uint16_t queues =3D 0; - uint32_t n =3D 0; + uint32_t causes =3D 0; union { L2Header l2_header; uint8_t octets[ETH_ZLEN]; @@ -1649,19 +1649,19 @@ igb_receive_internal(IGBCore *core, const struct io= vec *iov, int iovcnt, e1000x_fcs_len(core->mac); =20 if (!igb_has_rxbufs(core, rxr.i, total_size)) { - n |=3D E1000_ICS_RXO; + causes |=3D E1000_ICS_RXO; trace_e1000e_rx_not_written_to_guest(rxr.i->idx); continue; } =20 - n |=3D E1000_ICR_RXDW; + causes |=3D E1000_ICR_RXDW; =20 igb_rx_fix_l4_csum(core, core->rx_pkt); igb_write_packet_to_guest(core, core->rx_pkt, &rxr, &rss_info); =20 /* Check if receive descriptor minimum threshold hit */ if (igb_rx_descr_threshold_hit(core, rxr.i)) { - n |=3D E1000_ICS_RXDMT0; + causes |=3D E1000_ICS_RXDMT0; } =20 core->mac[EICR] |=3D igb_rx_wb_eic(core, rxr.i->idx); @@ -1669,8 +1669,8 @@ igb_receive_internal(IGBCore *core, const struct iove= c *iov, int iovcnt, trace_e1000e_rx_written_to_guest(rxr.i->idx); } =20 - trace_e1000e_rx_interrupt_set(n); - igb_set_interrupt_cause(core, n); + trace_e1000e_rx_interrupt_set(causes); + igb_set_interrupt_cause(core, causes); =20 return orig_size; } --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223918; cv=none; d=zohomail.com; s=zohoarc; b=lUFlTpYau90R9zMZFIiPhfaJSDpuHRlmVH04ZW3ikdJq++DGKfmc2YfXNbHckFoLYbSrK2yedNZ+qxNIGtrV2herjQIHFsabhQeWW+d3IJYH4gkqghdQYW6zuI7ggWopfSF26ie7WW9zqcoCQ76nwOyC1VprO9en9gn9/D2tt4U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223918; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=oSx/Q5Zg5D9OUWDD4DVLGcD91xlqvbaERviIetrBRHM=; b=CvswtXRb5VH8rJsSK9Ss78dK7/QyLvfxEiFe5zAIwXwrUNUkAHl/RtmvMWmHM+hvTEVpHunDFG+w/uxb952uZq6crqgoTdXyB1DxSPgkyfbF05mhKMKNZkMwQgAS6E6EqRtlYQpzzetwtSVTAWz2wUD+J2qA8HU+/0IM+8yputk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223918931891.0952602483437; Sat, 22 Apr 2023 21:25:18 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRDD-0004gi-Ap; Sun, 23 Apr 2023 00:20:32 -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 1pqRDA-0004Wt-NR for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:28 -0400 Received: from mail-pl1-x631.google.com ([2607:f8b0:4864:20::631]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRD8-0001Bn-Hk for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:27 -0400 Received: by mail-pl1-x631.google.com with SMTP id d9443c01a7336-1a52667955dso38486595ad.1 for ; Sat, 22 Apr 2023 21:20:26 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.20.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:20:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223625; x=1684815625; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=oSx/Q5Zg5D9OUWDD4DVLGcD91xlqvbaERviIetrBRHM=; b=wVtatYcKGfmLOIVJrgNpWosVMKR1JMWbzCMM9ejfczzn96OhvTo4a5IrSMLuPh/mDQ yP+MdK0C/jugQ/7jvXMSKN3R5+S6rNBqnfrWMcaUaNdVVZrsU3VmFq0dkboe2lJCSau6 WX1JqiTQY8N+NKqKZW0VPw1TZgsojIh8AEN4f1VyLN4mbQfKeDwU2yMNBdWFx0AFHgg7 11jBWUvuP04Elt54JhLYm4kMKMGNV8tmebCoC/J5AHvXgMyasv0/reDQisonXgLiNBxx 8oMk21J4pgVyOYwVJCpUTrBvffeJfd/KhHoCZxbMsuDy79zelb5RAQvHAM2Y4Lq3i2o+ PG8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223625; x=1684815625; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=oSx/Q5Zg5D9OUWDD4DVLGcD91xlqvbaERviIetrBRHM=; b=WwkWoe1bJQ1e8QNFrz6A8b822u+KuaPvh/1Of5NfyfjPCanK1BDiI9HqqKqqYFiPGa n7yJW0pBltCDZEAOdK2mTS2GPJqRk/oWzJqbiOkzlzoDGcqEPMO7rtiXOIUpdC2BO2e8 jyIvEhpMX2sb4GqSZHAXoWmGX1JLfmwjYVy2QrGubUMJ8Gd+Ef5v+7vKO0vIMmrxrkrF j3cfzFo2OjRDCcHstKLqs4fljkblXhIfx8iYJ9P9it1EqaiqDsyXunCJgYakJt4mtaGB 0Dw8YGqXEWlQYFYL/ZJIkda6MSw+DgYIN7WQlqo+oOlPN+VvRQhxyVxT51yi0g/b5GdQ is3w== X-Gm-Message-State: AAQBX9eFJ03q8lVfPSBgsz5+yIpO3rNx66Fz3+sUb+7UkfWQc1wFGeb3 bc0VW3LAjzfx1jVXlT6SB7G1Hw== X-Google-Smtp-Source: AKy350bIzZ8iEBgswPL1vg1b7K6A/rz0eBqZML8/3JgmWC4nU4Y9pbzuxtEwk1ce2FtmyW/tyXiFdA== X-Received: by 2002:a17:902:da8c:b0:1a6:c2e6:fe27 with SMTP id j12-20020a170902da8c00b001a6c2e6fe27mr14370430plx.46.1682223625040; Sat, 22 Apr 2023 21:20:25 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 30/47] net/eth: Use void pointers Date: Sun, 23 Apr 2023 13:18:16 +0900 Message-Id: <20230423041833.5302-31-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::631; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x631.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223920703100003 The uses of uint8_t pointers were misleading as they are never accessed as an array of octets and it even require more strict alignment to access as struct eth_header. Signed-off-by: Akihiko Odaki Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- include/net/eth.h | 4 ++-- net/eth.c | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/include/net/eth.h b/include/net/eth.h index 05f56931e7..95ff24d6b8 100644 --- a/include/net/eth.h +++ b/include/net/eth.h @@ -342,12 +342,12 @@ eth_get_pkt_tci(const void *p) =20 size_t eth_strip_vlan(const struct iovec *iov, int iovcnt, size_t iovoff, - uint8_t *new_ehdr_buf, + void *new_ehdr_buf, uint16_t *payload_offset, uint16_t *tci); =20 size_t eth_strip_vlan_ex(const struct iovec *iov, int iovcnt, size_t iovoff, - uint16_t vet, uint8_t *new_ehdr_buf, + uint16_t vet, void *new_ehdr_buf, uint16_t *payload_offset, uint16_t *tci); =20 uint16_t diff --git a/net/eth.c b/net/eth.c index b6ff89c460..f7ffbda600 100644 --- a/net/eth.c +++ b/net/eth.c @@ -226,11 +226,11 @@ void eth_get_protocols(const struct iovec *iov, size_= t iovcnt, size_t iovoff, =20 size_t eth_strip_vlan(const struct iovec *iov, int iovcnt, size_t iovoff, - uint8_t *new_ehdr_buf, + void *new_ehdr_buf, uint16_t *payload_offset, uint16_t *tci) { struct vlan_header vlan_hdr; - struct eth_header *new_ehdr =3D (struct eth_header *) new_ehdr_buf; + struct eth_header *new_ehdr =3D new_ehdr_buf; =20 size_t copied =3D iov_to_buf(iov, iovcnt, iovoff, new_ehdr, sizeof(*new_ehdr)); @@ -276,7 +276,7 @@ eth_strip_vlan(const struct iovec *iov, int iovcnt, siz= e_t iovoff, =20 size_t eth_strip_vlan_ex(const struct iovec *iov, int iovcnt, size_t iovoff, - uint16_t vet, uint8_t *new_ehdr_buf, + uint16_t vet, void *new_ehdr_buf, uint16_t *payload_offset, uint16_t *tci) { struct vlan_header vlan_hdr; --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223743; cv=none; d=zohomail.com; s=zohoarc; b=Ryo4Xa3TDieyk/h3gzKeRg799Cq4DIM3FX0nfQJ4LxNMh1k5VOqUediLUN99QyMuhQPgtZh/9/2Sbz0Mdw39Gks4IlRuGn/jTHl1eJmIB4L2GIXG/a+iyOL94sNcot+FGo2jkeEECuQV0h/2RZWfAQLKY2nDhPQojWOzeYLMUGw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223743; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=WfMEYJ9MsNl1NEs1qpCe7w36MfTu1Ir4rIbITGTkOa8=; b=g/kRMg84OdaNxXAYF3GWW8gTAUNoyiT4k1fzTJzJ2giZTkwx7Y4DgryD7INYrGAtozzokJn9S6j6B7loRf9dJoIQnbHjmWaBFQioLRjVyljQpQJ3EX9uZFZaMDYP2wQjV8BI4S6UG/OjznWyzKFOtpAFJgdCTYBJYUQ9qBQTnJM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223743607791.1216373464675; Sat, 22 Apr 2023 21:22:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRDS-0004vs-Tj; Sun, 23 Apr 2023 00:20:47 -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 1pqRDD-0004j8-BF for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:32 -0400 Received: from mail-pl1-x62b.google.com ([2607:f8b0:4864:20::62b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRDB-00018p-Nn for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:31 -0400 Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-1a920d4842bso27036575ad.2 for ; Sat, 22 Apr 2023 21:20:28 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.20.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:20:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223628; x=1684815628; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=WfMEYJ9MsNl1NEs1qpCe7w36MfTu1Ir4rIbITGTkOa8=; b=1C5tivw8xhyua/X1Rqk3kCkSyip5aCOg+VS0o8Av+qElEwWqPBUPg0SX6Sf/jUZBKN YBDmLukZ4UTZS5gicChPIgt+LtWcbjcGI7P1ALNJwt/X3JPAHS6Kap+kegaMX76OUPVa 011xqIZFUyX6O8r3meecOIdIOS9X106n3AggBFCunWeN1LM+a2ESYzbFnr1z0e2x5arT IWPJNLEAABGQbZwINoef7e0gbyOVTfU7w2acsOB2LooR+hIUf05R29GydVFkt2MHnktn TuOrt5inkh0hUBG1xfNx0J1Hy104qp6u2QPedkA6zC0opoGHuc3jub7q7bPowDrPQ+Dg nVbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223628; x=1684815628; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=WfMEYJ9MsNl1NEs1qpCe7w36MfTu1Ir4rIbITGTkOa8=; b=CfI8fa2xZ22hzCULQpPowbYnne4YuHoBRbPmoB5ikQFkx8bedU92g0nrUXgt5SEf4I xpwloz0rfba0q6bZNUKGIDVZNazgLrxkSjEOev703o05J+IJ1KGfI6r21lNX387XpFfD 9cwm5LBHVXYql6jG+EXZb3+NIqldtJ3WhaTQcc6PiLWN+wCjL9z4G1l9OyRDPptnJkO0 KAyasG+SkAF7qa2o5cpJYBDaxj5gRpWby8c8W6yAvEh9odbua4kk/ERR+RpiCsodSoVA 0BCdnbfo1VEz2Wk8K/LUX99Kvog9PgnA44W5qBd10u8f1zpm66sGsVXounBWT00o135t Db/Q== X-Gm-Message-State: AAQBX9dEccspGj7cFZL5RsvEh7LdFot8yefectgilbNlJrbnoaLVJY5l acN9GXW8cwvjb/LhYtTvLem3FA== X-Google-Smtp-Source: AKy350baN9cYlnYtuLRMD1rvfkdMsQaKd7mucyJ3k9VHFXG3MyGGwGvTns+q4P661KbYO2X2QyeXoA== X-Received: by 2002:a17:902:ecd1:b0:1a5:2e19:bc40 with SMTP id a17-20020a170902ecd100b001a52e19bc40mr13167425plh.26.1682223628394; Sat, 22 Apr 2023 21:20:28 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 31/47] net/eth: Always add VLAN tag Date: Sun, 23 Apr 2023 13:18:17 +0900 Message-Id: <20230423041833.5302-32-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::62b; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x62b.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223744493100003 Content-Type: text/plain; charset="utf-8" It is possible to have another VLAN tag even if the packet is already tagged. Signed-off-by: Akihiko Odaki --- include/net/eth.h | 4 ++-- hw/net/net_tx_pkt.c | 16 +++++++--------- net/eth.c | 22 ++++++---------------- 3 files changed, 15 insertions(+), 27 deletions(-) diff --git a/include/net/eth.h b/include/net/eth.h index 95ff24d6b8..048e434685 100644 --- a/include/net/eth.h +++ b/include/net/eth.h @@ -353,8 +353,8 @@ eth_strip_vlan_ex(const struct iovec *iov, int iovcnt, = size_t iovoff, uint16_t eth_get_l3_proto(const struct iovec *l2hdr_iov, int iovcnt, size_t l2hdr_l= en); =20 -void eth_setup_vlan_headers(struct eth_header *ehdr, uint16_t vlan_tag, - uint16_t vlan_ethtype, bool *is_new); +void eth_setup_vlan_headers(struct eth_header *ehdr, size_t *ehdr_size, + uint16_t vlan_tag, uint16_t vlan_ethtype); =20 =20 uint8_t eth_get_gso_type(uint16_t l3_proto, uint8_t *l3_hdr, uint8_t l4pro= to); diff --git a/hw/net/net_tx_pkt.c b/hw/net/net_tx_pkt.c index ce6b102391..af8f77a3f0 100644 --- a/hw/net/net_tx_pkt.c +++ b/hw/net/net_tx_pkt.c @@ -40,7 +40,10 @@ struct NetTxPkt { =20 struct iovec *vec; =20 - uint8_t l2_hdr[ETH_MAX_L2_HDR_LEN]; + struct { + struct eth_header eth; + struct vlan_header vlan[3]; + } l2_hdr; union { struct ip_header ip; struct ip6_header ip6; @@ -365,18 +368,13 @@ bool net_tx_pkt_build_vheader(struct NetTxPkt *pkt, b= ool tso_enable, void net_tx_pkt_setup_vlan_header_ex(struct NetTxPkt *pkt, uint16_t vlan, uint16_t vlan_ethtype) { - bool is_new; assert(pkt); =20 eth_setup_vlan_headers(pkt->vec[NET_TX_PKT_L2HDR_FRAG].iov_base, - vlan, vlan_ethtype, &is_new); + &pkt->vec[NET_TX_PKT_L2HDR_FRAG].iov_len, + vlan, vlan_ethtype); =20 - /* update l2hdrlen */ - if (is_new) { - pkt->hdr_len +=3D sizeof(struct vlan_header); - pkt->vec[NET_TX_PKT_L2HDR_FRAG].iov_len +=3D - sizeof(struct vlan_header); - } + pkt->hdr_len +=3D sizeof(struct vlan_header); } =20 bool net_tx_pkt_add_raw_fragment(struct NetTxPkt *pkt, void *base, size_t = len) diff --git a/net/eth.c b/net/eth.c index f7ffbda600..5307978486 100644 --- a/net/eth.c +++ b/net/eth.c @@ -21,26 +21,16 @@ #include "net/checksum.h" #include "net/tap.h" =20 -void eth_setup_vlan_headers(struct eth_header *ehdr, uint16_t vlan_tag, - uint16_t vlan_ethtype, bool *is_new) +void eth_setup_vlan_headers(struct eth_header *ehdr, size_t *ehdr_size, + uint16_t vlan_tag, uint16_t vlan_ethtype) { struct vlan_header *vhdr =3D PKT_GET_VLAN_HDR(ehdr); =20 - switch (be16_to_cpu(ehdr->h_proto)) { - case ETH_P_VLAN: - case ETH_P_DVLAN: - /* vlan hdr exists */ - *is_new =3D false; - break; - - default: - /* No VLAN header, put a new one */ - vhdr->h_proto =3D ehdr->h_proto; - ehdr->h_proto =3D cpu_to_be16(vlan_ethtype); - *is_new =3D true; - break; - } + memmove(vhdr + 1, vhdr, *ehdr_size - ETH_HLEN); vhdr->h_tci =3D cpu_to_be16(vlan_tag); + vhdr->h_proto =3D ehdr->h_proto; + ehdr->h_proto =3D cpu_to_be16(vlan_ethtype); + *ehdr_size +=3D sizeof(*vhdr); } =20 uint8_t --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223995; cv=none; d=zohomail.com; s=zohoarc; b=ayhf1RId7QhTxrBDAjiT1T6F57QDRESb46kQeEZQ5CyOhbjW2f9YBRkoM7Kus1binOPego6UBkuBsKy0xNixlG0Ja8xMHOA3/E9rmQp7hbB4PIrL7LWY2jOtLgpScqajH9uWeUROpFAZlOTuWe1x3I8UlTv57Jt4WIIgAHiLzkk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223995; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=8cbPtOGCt4/DtgDNQOMqkazCwuM1SU58VR9lfEcSjFg=; b=hlNNheZBjvM8lrcTrmQda60FXgBkm9/+Kbno43sMruuIE/Hbv06V/R52kuQEaZ5UFxz+0gWveL9FF0KUxJ91aA3ohoet1u6ZPydfiswcBnzEtwDe0EmY6dr2sgCCiJMxdpbt2kP1uS9RKdmHfZNVf6T54Mr9qLG7e9+HBg8cnIQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223995359442.20316490690186; Sat, 22 Apr 2023 21:26:35 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRDd-0005vE-Ut; Sun, 23 Apr 2023 00:20:58 -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 1pqRDG-0004nj-F4 for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:39 -0400 Received: from mail-pl1-x629.google.com ([2607:f8b0:4864:20::629]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRDE-0001IR-US for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:34 -0400 Received: by mail-pl1-x629.google.com with SMTP id d9443c01a7336-1a526aa3dd5so38192175ad.3 for ; Sat, 22 Apr 2023 21:20:32 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.20.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:20:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223632; x=1684815632; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=8cbPtOGCt4/DtgDNQOMqkazCwuM1SU58VR9lfEcSjFg=; b=Xyq9IkcplEjVDq/bilWK2GW45k7/Vdhf9JhZMzSD14FiWmDvvqFUogNfmQJeMoxsDr STNqZVLyiUOVmylBIk9MXvKfVmykJicpAMeVhYk2rDeiTMa6NMglp0CX8ouY5MVhx5KS +7bweTDGzJgc4ONYeSTh9Z/RzzNV6uLcLmy2BL/TbUvzgAcDM8b4c3gFRxJWbjK/bads 8oGHvclRMheau7mwFcJWnYwJRzocVNLUzoFoUT60Bx+W0EV6Er6lr3Vv4Kt094912tvb ceLtROEOHwakKrgXTCFOQ46LZDpP2TJuGcOhvYSeJxPf5sKm1H5YEGO1x5MQKncaSaPe Zvrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223632; x=1684815632; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8cbPtOGCt4/DtgDNQOMqkazCwuM1SU58VR9lfEcSjFg=; b=SRn9QPIZxJ9FHSrAwLhJ+ux9gxkYcPwOIKoEkJNJopFmpSmD1IhdsQnHmMn/tgN73w iPtKSdoXNiRkauyjNbPAhHtOiZz9Qjp29J06feui4LCFJAmptfejE7oLhOA2lXCmVybR uM1ckG5BjorSxm1HTR5snWeanuNbn+fOA+aOsstDKJmiMWxTHE/FOkTnOW5MEoG0Ki3F 574PGNu9n2T/U8tlSHxK/k51mwn/mD60KLF8ZqvzMaDRmZ4XmVLJw4UEh4uJ2XxIAdHv /6XV8VNg94Gnn0lwYThQYIrO0uEutH9PUc6zbd9Q96Cks9FJcV5R7n2GsFZ7Sc7oSAbI 2iKQ== X-Gm-Message-State: AAQBX9cmdWtj+qBozb7etT29UVKPlFjHdenNuxTkIrnT/B9Uv5tQGuPZ 2OU65WNEhzgKApxPO7rqIc9bug== X-Google-Smtp-Source: AKy350ZOvZ9H4O0BgZ38ZlI2K3qoLXFFjYqy+hw8mlCHqbW6+Tnwi+ygnz9MLNfInnYZkNzteAg7gQ== X-Received: by 2002:a17:902:d4cc:b0:1a6:b971:faf8 with SMTP id o12-20020a170902d4cc00b001a6b971faf8mr12545617plg.53.1682223631777; Sat, 22 Apr 2023 21:20:31 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 32/47] hw/net/net_rx_pkt: Enforce alignment for eth_header Date: Sun, 23 Apr 2023 13:18:18 +0900 Message-Id: <20230423041833.5302-33-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::629; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x629.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223997293100003 Content-Type: text/plain; charset="utf-8" eth_strip_vlan and eth_strip_vlan_ex refers to ehdr_buf as struct eth_header. Enforce alignment for the structure. Signed-off-by: Akihiko Odaki Reviewed-by: Sriram Yagnaraman --- hw/net/net_rx_pkt.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/hw/net/net_rx_pkt.c b/hw/net/net_rx_pkt.c index 6125a063d7..1de42b4f51 100644 --- a/hw/net/net_rx_pkt.c +++ b/hw/net/net_rx_pkt.c @@ -23,7 +23,10 @@ =20 struct NetRxPkt { struct virtio_net_hdr virt_hdr; - uint8_t ehdr_buf[sizeof(struct eth_header) + sizeof(struct vlan_header= )]; + struct { + struct eth_header eth; + struct vlan_header vlan; + } ehdr_buf; struct iovec *vec; uint16_t vec_len_total; uint16_t vec_len; @@ -89,7 +92,7 @@ net_rx_pkt_pull_data(struct NetRxPkt *pkt, if (pkt->ehdr_buf_len) { net_rx_pkt_iovec_realloc(pkt, iovcnt + 1); =20 - pkt->vec[0].iov_base =3D pkt->ehdr_buf; + pkt->vec[0].iov_base =3D &pkt->ehdr_buf; pkt->vec[0].iov_len =3D pkt->ehdr_buf_len; =20 pkt->tot_len =3D pllen + pkt->ehdr_buf_len; @@ -120,7 +123,7 @@ void net_rx_pkt_attach_iovec(struct NetRxPkt *pkt, assert(pkt); =20 if (strip_vlan) { - pkt->ehdr_buf_len =3D eth_strip_vlan(iov, iovcnt, iovoff, pkt->ehd= r_buf, + pkt->ehdr_buf_len =3D eth_strip_vlan(iov, iovcnt, iovoff, &pkt->eh= dr_buf, &ploff, &tci); } else { pkt->ehdr_buf_len =3D 0; @@ -142,7 +145,7 @@ void net_rx_pkt_attach_iovec_ex(struct NetRxPkt *pkt, =20 if (strip_vlan) { pkt->ehdr_buf_len =3D eth_strip_vlan_ex(iov, iovcnt, iovoff, vet, - pkt->ehdr_buf, + &pkt->ehdr_buf, &ploff, &tci); } else { pkt->ehdr_buf_len =3D 0; --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223827; cv=none; d=zohomail.com; s=zohoarc; b=mtKMdNfCtMvTTKXayYz0WNvgYnMuGfFXTybOJRF67nkho77NUIhREYfSFCj0GSaXidkamwyWQ+H+Z9YQr3wpbI6lDBcO1hs5nV8WI8jFZ1fS6n/Y/N+2F2Z15PJwgxS2gnWdDWhKlX6wYtsMSwmUlYKudWTleBNlDdJcNf22mOk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223827; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=gJTd+zlMFrMjrpg4tmDtHb6BwlxiXhf67UG5csq1fUM=; b=MIyUlT7SzbA28fmZpm1nQDWsRTFxwcgjgmr7VQ3Cd78kQ+VGXpHDeqoS0w3E+CWN7WQY+iZ3pRKumn19wkBiR8JBEUTMx2DZ/b4STYFVQOLmU/F2MXnlWjAxn2VlDbrYokz612T06p1usdSdL/8aNf3jeCkrksS0PSoovFPs4Wg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223827422745.2143875822917; Sat, 22 Apr 2023 21:23:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRDW-0005EG-77; Sun, 23 Apr 2023 00:20:50 -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 1pqRDL-0004qr-4G for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:39 -0400 Received: from mail-pl1-x630.google.com ([2607:f8b0:4864:20::630]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRDJ-0001JM-L0 for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:38 -0400 Received: by mail-pl1-x630.google.com with SMTP id d9443c01a7336-1a9253d4551so28595545ad.0 for ; Sat, 22 Apr 2023 21:20:35 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.20.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:20:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223635; x=1684815635; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=gJTd+zlMFrMjrpg4tmDtHb6BwlxiXhf67UG5csq1fUM=; b=u+tadI2NIIPwski1ECyaQ67QhkCTn5QAN0onz1IVipdrMm1ZX+gbKkSUA50iKyb4aE lYn74aUYKfA6453Ht+sXqSnAQY734ZDyeuyUQwS9MdcWV/z/iySLAGXwTrkZN+ysb2of YGvJvQ9j/eyUW96gSmbaJrxLvGoOMEC5NYilWJ00dRZBV9pSGK+EvSxInYNqQxHF61GY BR/M+8rls6WyIZbGzq8Ru/kmH6qBtwjG8cxidwvXlqZ24JJegS/PvbMhaY29UGAUsFG2 V4/4bTE6v6Wm6vWQyHHMWUIoRzpYaIewN2neomwBvoG8plH0qis7EYV2LuoZYoJDqoDZ IQmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223635; x=1684815635; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gJTd+zlMFrMjrpg4tmDtHb6BwlxiXhf67UG5csq1fUM=; b=NoQAkaKu5rw61XXzKX7y7+817gXgcJ6kDsJsSilEmZaTd/AFCXbCixS2aehOjcqlIJ ZM8iIKasbVQe690gN5Ekm0O0DXNhN2EsXpqTAW+v+UPnZOCpxKfN2okBTEcSARw1Z+yE 45c+8pO9+4N30ZNO4PrOq/Qe0onrNBZTgQrMYAgLVN7kEK8z4AeWVSrsdUHmLCsSVEFR Cy5Wn4HVEDiG+Y6jfpwijWbUyxJmxqZJCmH7aW7QsaqooTYVQAlTIgpnbb1ZWMAwKPoO 37CAKh1ky++2zD/K8yh1FFtklgjYmXSyGDdawr1fr3zUZclZkp7szHkCObDvBMN5T/JE 088A== X-Gm-Message-State: AAQBX9fnA/lojiWaogcXr/kumrUCOld4A34/bPaiFpHYul8k48WHZzYO o5e4lIQrOBNqHgzOF/K2rZiUIg== X-Google-Smtp-Source: AKy350arAFerEzezYRhQR3ffhPhpYvRBPu36OtsErnrizTIeKUi2NVAzljN4HEfvoJW/zKqrCHKIlQ== X-Received: by 2002:a17:903:124b:b0:1a9:236d:2fd3 with SMTP id u11-20020a170903124b00b001a9236d2fd3mr12112828plh.53.1682223635168; Sat, 22 Apr 2023 21:20:35 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 33/47] tests/qtest/libqos/igb: Set GPIE.Multiple_MSIX Date: Sun, 23 Apr 2023 13:18:19 +0900 Message-Id: <20230423041833.5302-34-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::630; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x630.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223828516100001 Content-Type: text/plain; charset="utf-8" GPIE.Multiple_MSIX is not set by default, and needs to be set to get interrupts from multiple MSI-X vectors. Signed-off-by: Akihiko Odaki Reviewed-by: Sriram Yagnaraman --- tests/qtest/libqos/igb.c | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/qtest/libqos/igb.c b/tests/qtest/libqos/igb.c index 12fb531bf0..a603468beb 100644 --- a/tests/qtest/libqos/igb.c +++ b/tests/qtest/libqos/igb.c @@ -114,6 +114,7 @@ static void igb_pci_start_hw(QOSGraphObject *obj) e1000e_macreg_write(&d->e1000e, E1000_RCTL, E1000_RCTL_EN); =20 /* Enable all interrupts */ + e1000e_macreg_write(&d->e1000e, E1000_GPIE, E1000_GPIE_MSIX_MODE); e1000e_macreg_write(&d->e1000e, E1000_IMS, 0xFFFFFFFF); e1000e_macreg_write(&d->e1000e, E1000_EIMS, 0xFFFFFFFF); =20 --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223982; cv=none; d=zohomail.com; s=zohoarc; b=fT38CB12xgbB2j3ErxUTvs53yLK/cpW265HkvbXES4hO1ksaAVYl/cLXBtc3lpH4yhq9WvW1tEbyB21LbSJsdTDB42zL9WgaKrVCbNxgrXTxAX23AeJ55e8OTC8SCaMLX3wGZLKa7tC+pq03ZoDO9thSbSX2nwX6y2emyrJtHVg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223982; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=LKJLr9o8J2GVfyrdFgQsY8r3zTBN5mxmP1a2nA1FkQU=; b=ChYD5xMi3qwpHN9QfKudcW971FSCNAD3Ew8qbvSa6nrq1QlEG1ZCphzuLScbBrrqhVcADmFGjb1nN1RFbkBS7Ikt6SCETHLYz/BJxJMedmSTNd+kHzrOeW2izR13uMxvpoy1lPBYy6nfzoQKjHcHVfYe9ZtXHZSQVJnTzaefrj4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223982544224.93562025054985; Sat, 22 Apr 2023 21:26:22 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRDd-0005sk-8f; Sun, 23 Apr 2023 00:20:57 -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 1pqRDN-0004u5-UY for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:44 -0400 Received: from mail-pf1-x42d.google.com ([2607:f8b0:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRDL-0001JZ-MH for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:40 -0400 Received: by mail-pf1-x42d.google.com with SMTP id d2e1a72fcca58-63d4595d60fso21524380b3a.0 for ; Sat, 22 Apr 2023 21:20:39 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.20.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:20:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223638; x=1684815638; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=LKJLr9o8J2GVfyrdFgQsY8r3zTBN5mxmP1a2nA1FkQU=; b=u58n41MRqaPvsVGjgZ/hjr8oj+Ho34MapB8XGbAfSseCtDR25uVXqMXlN7LkdlafAH 5UZ2OAiaZyEeaBkBDKFUPiofiFUNM1ucRrSI7Fbixn/aa/fO9qQlSSwf6ZpnlcwjcCvA dHEPrs4ia0ABdPiXoaZCy0rYsm6oFMr9wIUhcuVlaf86OB0T+Zd0vJtmXJ/NSuNPQJlE ggpL8ar2zVUjeW6GARXQeO+LZTaDSzcIWJnvAXWO1bR6sXBQ8uwnJ2uYWtRfeV65P/hX jKz8TVx4HVBMi9GCAo0a1vjevZiYh2Hx5xRkvFAkGGiRMMbyYh3av4lb5L9C/Vt0ZQ56 QJVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223638; x=1684815638; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LKJLr9o8J2GVfyrdFgQsY8r3zTBN5mxmP1a2nA1FkQU=; b=bEJ4RQbV32Jl64a13yf0W/bCKTIslUWeTnzlYLkkCXe2Kw8Ub+CYvJAJEEE/Zs/RXY wWaW3i+Q98yMIh1nJY32poE3UDqKZA/7fmDboNmV9T3zRS18fakI7qnt5FuCr/GMB9eh aqq3feGFGwjAFPwGfKHMNvKiVXQjiOlTd5sswhysMP3U/Pgu+CP1Box2vDEd+6+EoY+k SqnHtb3no+ZApNbWTjXNqrncl/lvwZcRjfR1a1c1Xmc7lu/I01GFssxhEtRuVZJ6ncar aBFBHvQR8xpBHapF0K78gq6yJmemZPtC5Fzfnqdl1uOrMuMyOjkNrHcYg10VJrRPBbLD Sl7Q== X-Gm-Message-State: AAQBX9ctrpy+6nPpOG3B6nAWDTXVTSxcyguArU+6G5ghfDwHPh7dmJQO S66S5EMbMxtKn8+0Lpl26ueVyg== X-Google-Smtp-Source: AKy350ZupjMpykR0fEshqXh/Nti2s6/pS48QLqWhop+l7tBCWkbHl7tKhWPrAe2DyWkF1Z+6jwbcfA== X-Received: by 2002:a17:902:ec91:b0:1a9:57b4:9d5a with SMTP id x17-20020a170902ec9100b001a957b49d5amr6235315plg.31.1682223638514; Sat, 22 Apr 2023 21:20:38 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 34/47] igb: Implement MSI-X single vector mode Date: Sun, 23 Apr 2023 13:18:20 +0900 Message-Id: <20230423041833.5302-35-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::42d; envelope-from=akihiko.odaki@daynix.com; helo=mail-pf1-x42d.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223983097100003 Content-Type: text/plain; charset="utf-8" Signed-off-by: Akihiko Odaki Reviewed-by: Sriram Yagnaraman --- hw/net/igb_core.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index 77e4ee42a5..46babe85a9 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -1873,7 +1873,7 @@ igb_update_interrupt_state(IGBCore *core) =20 icr =3D core->mac[ICR] & core->mac[IMS]; =20 - if (msix_enabled(core->owner)) { + if (core->mac[GPIE] & E1000_GPIE_MSIX_MODE) { if (icr) { causes =3D 0; if (icr & E1000_ICR_DRSTA) { @@ -1908,7 +1908,12 @@ igb_update_interrupt_state(IGBCore *core) trace_e1000e_irq_pending_interrupts(core->mac[ICR] & core->mac[IMS= ], core->mac[ICR], core->mac[IMS]= ); =20 - if (msi_enabled(core->owner)) { + if (msix_enabled(core->owner)) { + if (icr) { + trace_e1000e_irq_msix_notify_vec(0); + msix_notify(core->owner, 0); + } + } else if (msi_enabled(core->owner)) { if (icr) { msi_notify(core->owner, 0); } --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223841; cv=none; d=zohomail.com; s=zohoarc; b=ZdQTsewiU1EU4nee/B4dNpekaK4DUv874hj2ZfkBoiB0PLR4t9g7IUDkwQ0FNEKTQuVuhVtYbx+MrNpNEfDehOtwmt8WuMKhaLDuYgGWY08FeDPBehx04NkvtblxJiwvBpkFzrvHDl53ZprGYKHwK9eCiqORRBHp9Sg7D5NGrLY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223841; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=My9HbARa4eVK0tRqKS7MdfcBJeo0zTosYnCJLEGFlV0=; b=LwplCPN/H2ETk1m/lVr9gmTpWaI2EFoxc386+t3UnT8ibhd6xP/tCvdPLs5V9vlrpaS5DVr9WuDyRabfOM+rcBkp2BF3Qd02plGdtiAmpCfBkj5+F/3+9KyKF207mBReiIL4jvW0anwDQOk7SKfWm5X8Ef4FN24zgFPo8SSvimE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223841001425.27396989091744; Sat, 22 Apr 2023 21:24:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRDZ-0005dD-Uo; Sun, 23 Apr 2023 00:20:54 -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 1pqRDQ-0004z8-HL for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:45 -0400 Received: from mail-pl1-x630.google.com ([2607:f8b0:4864:20::630]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRDP-0001Jt-15 for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:44 -0400 Received: by mail-pl1-x630.google.com with SMTP id d9443c01a7336-1a677dffb37so30396725ad.2 for ; Sat, 22 Apr 2023 21:20:42 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.20.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:20:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223642; x=1684815642; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=My9HbARa4eVK0tRqKS7MdfcBJeo0zTosYnCJLEGFlV0=; b=YsFha5N/pNUhBW7jCamuq69TD8egyooDL78KUiD5VouobTHew3UTJkGBnByokuKv0H KIVjaVnoWy+nj49UIqZBS6a75X6ESXF9/er0pLIGgYzVg1RuTA9IXGDNCCTRz6ty16mY JkCL8wDqnrtk8F/oPY0Jd7HsfuSHSwFRHfmYUnM+72l1ZEj7V4YDBPMY9Y1u4lT857wk PTrbDhvA1xWmeTfxJfw7R4tjgkqrPXOrGJmFglolfjF6czi88LAIini6hgixkmFYA1n3 s8ly42NHi9OIDXdyE74V8FHQ5IgX0/nfgmZ7gAvT9farE4r0HPdLWJ8IhDBJdNxr07qQ WKwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223642; x=1684815642; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=My9HbARa4eVK0tRqKS7MdfcBJeo0zTosYnCJLEGFlV0=; b=NaUG4MR+MOFH3BNs7Jk2TMWBBG6gzKEpXCbUk63HAz36wdJF+xGmfLtBr3Bsd2QraJ 1BpcjDBEr9Mqak1P/7wWs9wYFhz7RpME3XojferBbHpHpucCBI/Lsl1DPnMigKQmSIKK i7f06f0iOsH6OO88PGWLH3rLRL2QYPn2faRaMR3TnIwCVgxV2gmbrThjy/8OGTJtRlJc f5HhvZQVIb0cSGDYY+6nZlOYUa3OIBEm0j3RqaF83rOipMdWGsvsLL40E2FEjxtRtUVc xEuFVl2n4jt2+KCiAkkkZY/73PTkQZ/wECmr04961gCWFb3sVeh57GJ5NJxtOzK79F+/ PW7Q== X-Gm-Message-State: AAQBX9ebjpL/6wZpvt4YHz7k1wNbWAPSLdsJ6xoplvoK+Y0wf0fV6vPU rwB49iHqtum6Lazg+VWjARD60A== X-Google-Smtp-Source: AKy350YJ2Dl2+5Nw0KbacnHy8pgypfDFQAlr7RQOT9YXra0aFtkqIDClgc1H9M3EysbYT3xu3lvebg== X-Received: by 2002:a17:902:70c9:b0:1a8:bc5:4930 with SMTP id l9-20020a17090270c900b001a80bc54930mr9033543plt.61.1682223641906; Sat, 22 Apr 2023 21:20:41 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 35/47] igb: Use UDP for RSS hash Date: Sun, 23 Apr 2023 13:18:21 +0900 Message-Id: <20230423041833.5302-36-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::630; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x630.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223842518100007 Content-Type: text/plain; charset="utf-8" e1000e does not support using UDP for RSS hash, but igb does. Signed-off-by: Akihiko Odaki Reviewed-by: Sriram Yagnaraman --- hw/net/igb_regs.h | 3 +++ hw/net/igb_core.c | 16 ++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/hw/net/igb_regs.h b/hw/net/igb_regs.h index eb995d8b2e..e6ac26dc0e 100644 --- a/hw/net/igb_regs.h +++ b/hw/net/igb_regs.h @@ -659,6 +659,9 @@ union e1000_adv_rx_desc { =20 #define E1000_RSS_QUEUE(reta, hash) (E1000_RETA_VAL(reta, hash) & 0x0F) =20 +#define E1000_MRQ_RSS_TYPE_IPV4UDP 7 +#define E1000_MRQ_RSS_TYPE_IPV6UDP 8 + #define E1000_STATUS_IOV_MODE 0x00040000 =20 #define E1000_STATUS_NUM_VFS_SHIFT 14 diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index 46babe85a9..a3267c0b7a 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -287,6 +287,11 @@ igb_rss_get_hash_type(IGBCore *core, struct NetRxPkt *= pkt) return E1000_MRQ_RSS_TYPE_IPV4TCP; } =20 + if (l4hdr_proto =3D=3D ETH_L4_HDR_PROTO_UDP && + (core->mac[MRQC] & E1000_MRQC_RSS_FIELD_IPV4_UDP)) { + return E1000_MRQ_RSS_TYPE_IPV4UDP; + } + if (E1000_MRQC_EN_IPV4(core->mac[MRQC])) { return E1000_MRQ_RSS_TYPE_IPV4; } @@ -322,6 +327,11 @@ igb_rss_get_hash_type(IGBCore *core, struct NetRxPkt *= pkt) return E1000_MRQ_RSS_TYPE_IPV6TCPEX; } =20 + if (l4hdr_proto =3D=3D ETH_L4_HDR_PROTO_UDP && + (core->mac[MRQC] & E1000_MRQC_RSS_FIELD_IPV6_UDP)) { + return E1000_MRQ_RSS_TYPE_IPV6UDP; + } + if (E1000_MRQC_EN_IPV6EX(core->mac[MRQC])) { return E1000_MRQ_RSS_TYPE_IPV6EX; } @@ -360,6 +370,12 @@ igb_rss_calc_hash(IGBCore *core, struct NetRxPkt *pkt,= E1000E_RSSInfo *info) case E1000_MRQ_RSS_TYPE_IPV6EX: type =3D NetPktRssIpV6Ex; break; + case E1000_MRQ_RSS_TYPE_IPV4UDP: + type =3D NetPktRssIpV4Udp; + break; + case E1000_MRQ_RSS_TYPE_IPV6UDP: + type =3D NetPktRssIpV6Udp; + break; default: assert(false); return 0; --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682224013; cv=none; d=zohomail.com; s=zohoarc; b=WIPxZEDM2rbrw78INzLaP/g3omPOxfhcfxRTox6tfxJN5fhe1GdeneAU5WtlaSjo/KLBPBZJvy3fFBLY+mMcBaxsxlPT1QbP5eyi5jDchjS0rl1NGnfFBYCcYiTbbwSLfh77j6fVWq1SaLkN47znu6KiAfV0p6702tkK0mhjPTE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682224013; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=Tf7RTaLsnhPFaO33gH3V02nVhxW08NwrHw4dctZzlhs=; b=MhhVS+eO9DQYrqESD8AdbEDPqdos3B3rvwvY3aQ3z1c2zntBWtqBzYe0qw3QMvy+8lZ4FnkWVEBsdneeM722OnGZAmM5LzAFwYEW2GMwRO1uR9aVDeo0vLqwPgNb6oCAvuaJd1Ez6AHnUudeIvwSBM8T7eNw9DVGsrIaKCvzlMA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682224013890139.07975017760464; Sat, 22 Apr 2023 21:26:53 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRDZ-0005d1-Tc; Sun, 23 Apr 2023 00:20:54 -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 1pqRDV-0005Ea-JH for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:49 -0400 Received: from mail-pg1-x52c.google.com ([2607:f8b0:4864:20::52c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRDS-0001KM-EV for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:49 -0400 Received: by mail-pg1-x52c.google.com with SMTP id 41be03b00d2f7-51b33c72686so2553997a12.1 for ; Sat, 22 Apr 2023 21:20:46 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.20.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:20:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223645; x=1684815645; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Tf7RTaLsnhPFaO33gH3V02nVhxW08NwrHw4dctZzlhs=; b=450uYsT0RgEkZS23/oPUqPOQgL5nrhQZ54047scs9RC1UNI56o8dwzJd/+lrWigID4 5U3wxxo9diidsco7fvFEgIZVyPWmXEGVaazzgd8WMKcpmNX+5bwCvavOqfYMN1ssaULv Lb0qmueys4S0+lINhB0vYRWVguesv329QihmC8dhjGsFeYg54xYCf7eZddMQuoutRUVA syW9Oj87jsOUYpORxWY1c6YAcznsPJQX6AAiRKUQPsj9Ca4N/24/AUDFRviDdowWTw6e dynD2JtPOQTJxm3eg67jtOWoEJan9orXK65VIOp2Dv0nnPYqag+Z0euA6dlLM9lk2BNH f2pQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223645; x=1684815645; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Tf7RTaLsnhPFaO33gH3V02nVhxW08NwrHw4dctZzlhs=; b=e2D+xhNi+CX8gf86KYigIgBh3cMJBwvADWh1JWSploV8Jc3Qe44BZnINVumZtBkBfL Tax2O5S7vdg5OitOTc97LQdTjx9Z13AblkauhH7VpGEa/rvXBR3rbLwM4vIQTKcFoWAx ZVoogPaZoOCoN23BNmes66QUTU/gBJ6bapOQszFcTIDcmtlLawI6zuAhzQzGs5dokikF 3mKcCBYmpgvy3v23EpkCLnnfnlW4fjSpUsyf2axz90z+k41VGnsHl1PuiGNJVTbS6a/5 HD/aUGIs6QpS/GfPEeBCyqXqFx4iz2FyqCpwp+9g9yC9g+tU4ug93fBaQxtSdWrCytMS DyPg== X-Gm-Message-State: AAQBX9cMOKDivEpzFL7vFPK/zJweIUq4HtT2X2vjhN3CiBnwVGQzet8m C07GYdPWm7cId/t/SpgzPSYX9A== X-Google-Smtp-Source: AKy350Z4K6jkphDRhIMC7mmB5ymIgmuzqZBU7mLLBBxpRR8cb2gZftRtME2RcnSAPGTL/jNQb/tBsA== X-Received: by 2002:a17:90a:b102:b0:246:f8a8:af02 with SMTP id z2-20020a17090ab10200b00246f8a8af02mr10046329pjq.5.1682223645298; Sat, 22 Apr 2023 21:20:45 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 36/47] igb: Implement Rx SCTP CSO Date: Sun, 23 Apr 2023 13:18:22 +0900 Message-Id: <20230423041833.5302-37-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::52c; envelope-from=akihiko.odaki@daynix.com; helo=mail-pg1-x52c.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682224015049100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Akihiko Odaki Reviewed-by: Sriram Yagnaraman --- hw/net/igb_regs.h | 1 + include/net/eth.h | 4 ++- include/qemu/crc32c.h | 1 + hw/net/e1000e_core.c | 5 ++++ hw/net/igb_core.c | 15 +++++++++- hw/net/net_rx_pkt.c | 64 +++++++++++++++++++++++++++++++++++-------- net/eth.c | 4 +++ util/crc32c.c | 8 ++++++ 8 files changed, 89 insertions(+), 13 deletions(-) diff --git a/hw/net/igb_regs.h b/hw/net/igb_regs.h index e6ac26dc0e..4b4ebd3369 100644 --- a/hw/net/igb_regs.h +++ b/hw/net/igb_regs.h @@ -670,6 +670,7 @@ union e1000_adv_rx_desc { #define E1000_ADVRXD_PKT_IP6 BIT(6) #define E1000_ADVRXD_PKT_TCP BIT(8) #define E1000_ADVRXD_PKT_UDP BIT(9) +#define E1000_ADVRXD_PKT_SCTP BIT(10) =20 static inline uint8_t igb_ivar_entry_rx(uint8_t i) { diff --git a/include/net/eth.h b/include/net/eth.h index 048e434685..75e7f1551c 100644 --- a/include/net/eth.h +++ b/include/net/eth.h @@ -224,6 +224,7 @@ struct tcp_hdr { #define IP_HEADER_VERSION_6 (6) #define IP_PROTO_TCP (6) #define IP_PROTO_UDP (17) +#define IP_PROTO_SCTP (132) #define IPTOS_ECN_MASK 0x03 #define IPTOS_ECN(x) ((x) & IPTOS_ECN_MASK) #define IPTOS_ECN_CE 0x03 @@ -379,7 +380,8 @@ typedef struct eth_ip4_hdr_info_st { typedef enum EthL4HdrProto { ETH_L4_HDR_PROTO_INVALID, ETH_L4_HDR_PROTO_TCP, - ETH_L4_HDR_PROTO_UDP + ETH_L4_HDR_PROTO_UDP, + ETH_L4_HDR_PROTO_SCTP } EthL4HdrProto; =20 typedef struct eth_l4_hdr_info_st { diff --git a/include/qemu/crc32c.h b/include/qemu/crc32c.h index 5b78884c38..88b4d2b3b3 100644 --- a/include/qemu/crc32c.h +++ b/include/qemu/crc32c.h @@ -30,5 +30,6 @@ =20 =20 uint32_t crc32c(uint32_t crc, const uint8_t *data, unsigned int length); +uint32_t iov_crc32c(uint32_t crc, const struct iovec *iov, size_t iov_cnt); =20 #endif diff --git a/hw/net/e1000e_core.c b/hw/net/e1000e_core.c index 0c0c45a6ce..c06c8b20c8 100644 --- a/hw/net/e1000e_core.c +++ b/hw/net/e1000e_core.c @@ -1114,6 +1114,11 @@ e1000e_verify_csum_in_sw(E1000ECore *core, return; } =20 + if (l4hdr_proto !=3D ETH_L4_HDR_PROTO_TCP && + l4hdr_proto !=3D ETH_L4_HDR_PROTO_UDP) { + return; + } + if (!net_rx_pkt_validate_l4_csum(pkt, &csum_valid)) { trace_e1000e_rx_metadata_l4_csum_validation_failed(); return; diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index a3267c0b7a..01d2788cf6 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -1220,7 +1220,7 @@ igb_build_rx_metadata(IGBCore *core, uint16_t *vlan_tag) { struct virtio_net_hdr *vhdr; - bool hasip4, hasip6; + bool hasip4, hasip6, csum_valid; EthL4HdrProto l4hdr_proto; =20 *status_flags =3D E1000_RXD_STAT_DD; @@ -1280,6 +1280,10 @@ igb_build_rx_metadata(IGBCore *core, *pkt_info |=3D E1000_ADVRXD_PKT_UDP; break; =20 + case ETH_L4_HDR_PROTO_SCTP: + *pkt_info |=3D E1000_ADVRXD_PKT_SCTP; + break; + default: break; } @@ -1312,6 +1316,15 @@ igb_build_rx_metadata(IGBCore *core, =20 if (igb_rx_l4_cso_enabled(core)) { switch (l4hdr_proto) { + case ETH_L4_HDR_PROTO_SCTP: + if (!net_rx_pkt_validate_l4_csum(pkt, &csum_valid)) { + trace_e1000e_rx_metadata_l4_csum_validation_failed(); + goto func_exit; + } + if (!csum_valid) { + *status_flags |=3D E1000_RXDEXT_STATERR_TCPE; + } + /* fall through */ case ETH_L4_HDR_PROTO_TCP: *status_flags |=3D E1000_RXD_STAT_TCPCS; break; diff --git a/hw/net/net_rx_pkt.c b/hw/net/net_rx_pkt.c index 1de42b4f51..3575c8b9f9 100644 --- a/hw/net/net_rx_pkt.c +++ b/hw/net/net_rx_pkt.c @@ -16,6 +16,7 @@ */ =20 #include "qemu/osdep.h" +#include "qemu/crc32c.h" #include "trace.h" #include "net_rx_pkt.h" #include "net/checksum.h" @@ -554,32 +555,73 @@ _net_rx_pkt_calc_l4_csum(struct NetRxPkt *pkt) return csum; } =20 -bool net_rx_pkt_validate_l4_csum(struct NetRxPkt *pkt, bool *csum_valid) +static bool +_net_rx_pkt_validate_sctp_sum(struct NetRxPkt *pkt) { - uint16_t csum; + size_t csum_off; + size_t off =3D pkt->l4hdr_off; + size_t vec_len =3D pkt->vec_len; + struct iovec *vec; + uint32_t calculated =3D 0; + uint32_t original; + bool valid; =20 - trace_net_rx_pkt_l4_csum_validate_entry(); + for (vec =3D pkt->vec; vec->iov_len < off; vec++) { + off -=3D vec->iov_len; + vec_len--; + } =20 - if (pkt->l4hdr_info.proto !=3D ETH_L4_HDR_PROTO_TCP && - pkt->l4hdr_info.proto !=3D ETH_L4_HDR_PROTO_UDP) { - trace_net_rx_pkt_l4_csum_validate_not_xxp(); + csum_off =3D off + 8; + + if (!iov_to_buf(vec, vec_len, csum_off, &original, sizeof(original))) { return false; } =20 - if (pkt->l4hdr_info.proto =3D=3D ETH_L4_HDR_PROTO_UDP && - pkt->l4hdr_info.hdr.udp.uh_sum =3D=3D 0) { - trace_net_rx_pkt_l4_csum_validate_udp_with_no_checksum(); + if (!iov_from_buf(vec, vec_len, csum_off, + &calculated, sizeof(calculated))) { return false; } =20 + calculated =3D crc32c(0xffffffff, + (uint8_t *)vec->iov_base + off, vec->iov_len - off= ); + calculated =3D iov_crc32c(calculated ^ 0xffffffff, vec + 1, vec_len - = 1); + valid =3D calculated =3D=3D le32_to_cpu(original); + iov_from_buf(vec, vec_len, csum_off, &original, sizeof(original)); + + return valid; +} + +bool net_rx_pkt_validate_l4_csum(struct NetRxPkt *pkt, bool *csum_valid) +{ + uint32_t csum; + + trace_net_rx_pkt_l4_csum_validate_entry(); + if (pkt->hasip4 && pkt->ip4hdr_info.fragment) { trace_net_rx_pkt_l4_csum_validate_ip4_fragment(); return false; } =20 - csum =3D _net_rx_pkt_calc_l4_csum(pkt); + switch (pkt->l4hdr_info.proto) { + case ETH_L4_HDR_PROTO_UDP: + if (pkt->l4hdr_info.hdr.udp.uh_sum =3D=3D 0) { + trace_net_rx_pkt_l4_csum_validate_udp_with_no_checksum(); + return false; + } + /* fall through */ + case ETH_L4_HDR_PROTO_TCP: + csum =3D _net_rx_pkt_calc_l4_csum(pkt); + *csum_valid =3D ((csum =3D=3D 0) || (csum =3D=3D 0xFFFF)); + break; + + case ETH_L4_HDR_PROTO_SCTP: + *csum_valid =3D _net_rx_pkt_validate_sctp_sum(pkt); + break; =20 - *csum_valid =3D ((csum =3D=3D 0) || (csum =3D=3D 0xFFFF)); + default: + trace_net_rx_pkt_l4_csum_validate_not_xxp(); + return false; + } =20 trace_net_rx_pkt_l4_csum_validate_csum(*csum_valid); =20 diff --git a/net/eth.c b/net/eth.c index 5307978486..7f02aea010 100644 --- a/net/eth.c +++ b/net/eth.c @@ -211,6 +211,10 @@ void eth_get_protocols(const struct iovec *iov, size_t= iovcnt, size_t iovoff, *l5hdr_off =3D *l4hdr_off + sizeof(l4hdr_info->hdr.udp); } break; + + case IP_PROTO_SCTP: + l4hdr_info->proto =3D ETH_L4_HDR_PROTO_SCTP; + break; } } =20 diff --git a/util/crc32c.c b/util/crc32c.c index 762657d853..ea7f345de8 100644 --- a/util/crc32c.c +++ b/util/crc32c.c @@ -113,3 +113,11 @@ uint32_t crc32c(uint32_t crc, const uint8_t *data, uns= igned int length) return crc^0xffffffff; } =20 +uint32_t iov_crc32c(uint32_t crc, const struct iovec *iov, size_t iov_cnt) +{ + while (iov_cnt--) { + crc =3D crc32c(crc, iov->iov_base, iov->iov_len) ^ 0xffffffff; + iov++; + } + return crc ^ 0xffffffff; +} --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223984; cv=none; d=zohomail.com; s=zohoarc; b=bEwyAIz4106ouWbD6IZ2NUBOcghNGoGcbmZ+uEVm6mFthXQO5H0+0Cez2HTmQxgTrq6ee/86tV8p8OXCBv+dIicgNg8gsosFoanAp9kYKe7o9Rel2+pLK00CtSTHXdZ2JUy/jkY/OhxookGPyE4RRk3jCY5s2PUMIr20mJmPmks= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223984; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=1P94Ld32G2n39Qr0uzi/MRSoo66sMPmjfe3uOCd8T3g=; b=c3L/6S/pRKnA1jftA4rwUTaB40jz1w/8pdIm2hJ+kNQln/QRB1Ty/DVa9b2L7xv0n7bid6E34mW7orLlKDl7DhkbsfbAa4d3net4e8Ys1xxXAn+jwfLyBAl4AwdfUcbiEpsraEKfRvkuymw5rtOddX31kNLIsyadvIvpt80YoG0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223984179172.59265128337825; Sat, 22 Apr 2023 21:26:24 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRDy-0006Wj-4Z; Sun, 23 Apr 2023 00:21:18 -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 1pqRDY-0005XB-4J for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:52 -0400 Received: from mail-pl1-x62f.google.com ([2607:f8b0:4864:20::62f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRDV-0001Km-Qr for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:51 -0400 Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-1a6ebc66ca4so27067415ad.3 for ; Sat, 22 Apr 2023 21:20:49 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.20.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:20:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223648; x=1684815648; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=1P94Ld32G2n39Qr0uzi/MRSoo66sMPmjfe3uOCd8T3g=; b=L41rISjDJQ74CDi+6uP0TSdJOiksBTbho/4X21M/QDLUu4AyCqraT9mPLURL0EOz6X FQeZ2xkQEBUYbxZv64UA7D6zeYf4RzaCqwSlLjHopkQYjD+ahANn8MvPiMuSc52mbX4X +OhCPLY49iupIWlMlQtmzydYKiJeA9UJsrvaly4l/ulgX8IaIZBboDkQPCX9HnnTTuho CEmN25Es2udKeAdThve3UO4vKpfeQF2+JWAx6vGJOYIgoHnv3YCocKwI5ewBUDLhstXR 4EyL6w6CHGcBxfNs365jzEv9P+Gcx9gCxOeTwTqGv/STY8K6Aux2E2vZli/KkTfDId+y CP/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223648; x=1684815648; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1P94Ld32G2n39Qr0uzi/MRSoo66sMPmjfe3uOCd8T3g=; b=IC0wkYb6RuKdQMpWsb/L212HZYOdSVdIlZ7rMr508gH+EFXbp4TO9os2FSSIFn5ur3 B9SZRIyeE11wmWo140qOtf+1q5lAgivu1cPZLJiomp7jrXqdRWmc7JpH5013L9Nk73L6 ztdA2QwKNy3fJejBH+A29jlZbHoKjXifhr0j9pcXt9crs9NnnAa4GAPw6Ff3qecUCHlU xwACKucR4YWQ1Ns1kjZ+kHVt2D/Pb8xJDAeF8WemLLM/41hivdtACchdnCNYu8wv+Yid JgBVFQ41cOabL7AjeiHIJtJixuparZsWjeE9BNgTECRNju+Ae27u2hTDnq4TkuOe7sI6 QlSw== X-Gm-Message-State: AAQBX9cjTgsxOB93bgKFJjvn2j+ZJuIT7eD0G924/03tSgMlv46vZ+Hg zfTAMA3oUp/wgWqwD0B3SfWqxQ== X-Google-Smtp-Source: AKy350bW7YlQZpwBFwhlrorwZgYLBnxjE7G+qMwssD0/C5mauTNXJwUUo3/HAHtUquLZJ4SbwFDXKQ== X-Received: by 2002:a17:903:24e:b0:19d:778:ff5 with SMTP id j14-20020a170903024e00b0019d07780ff5mr12252620plh.15.1682223648677; Sat, 22 Apr 2023 21:20:48 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 37/47] igb: Implement Tx SCTP CSO Date: Sun, 23 Apr 2023 13:18:23 +0900 Message-Id: <20230423041833.5302-38-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::62f; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x62f.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223985116100005 Content-Type: text/plain; charset="utf-8" Signed-off-by: Akihiko Odaki Reviewed-by: Sriram Yagnaraman --- hw/net/net_tx_pkt.h | 8 ++++++++ hw/net/igb_core.c | 12 +++++++----- hw/net/net_tx_pkt.c | 18 ++++++++++++++++++ 3 files changed, 33 insertions(+), 5 deletions(-) diff --git a/hw/net/net_tx_pkt.h b/hw/net/net_tx_pkt.h index 4d7233e975..0a716e74a5 100644 --- a/hw/net/net_tx_pkt.h +++ b/hw/net/net_tx_pkt.h @@ -116,6 +116,14 @@ void net_tx_pkt_update_ip_checksums(struct NetTxPkt *p= kt); */ void net_tx_pkt_update_ip_hdr_checksum(struct NetTxPkt *pkt); =20 +/** + * Calculate the SCTP checksum. + * + * @pkt: packet + * + */ +bool net_tx_pkt_update_sctp_checksum(struct NetTxPkt *pkt); + /** * get length of all populated data. * diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index 01d2788cf6..24a90cd35f 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -440,8 +440,9 @@ igb_tx_insert_vlan(IGBCore *core, uint16_t qn, struct i= gb_tx *tx, static bool igb_setup_tx_offloads(IGBCore *core, struct igb_tx *tx) { + uint32_t idx =3D (tx->first_olinfo_status >> 4) & 1; + if (tx->first_cmd_type_len & E1000_ADVTXD_DCMD_TSE) { - uint32_t idx =3D (tx->first_olinfo_status >> 4) & 1; uint32_t mss =3D tx->ctx[idx].mss_l4len_idx >> E1000_ADVTXD_MSS_SH= IFT; if (!net_tx_pkt_build_vheader(tx->tx_pkt, true, true, mss)) { return false; @@ -452,10 +453,11 @@ igb_setup_tx_offloads(IGBCore *core, struct igb_tx *t= x) return true; } =20 - if (tx->first_olinfo_status & E1000_ADVTXD_POTS_TXSM) { - if (!net_tx_pkt_build_vheader(tx->tx_pkt, false, true, 0)) { - return false; - } + if ((tx->first_olinfo_status & E1000_ADVTXD_POTS_TXSM) && + !((tx->ctx[idx].type_tucmd_mlhl & E1000_ADVTXD_TUCMD_L4T_SCTP) ? + net_tx_pkt_update_sctp_checksum(tx->tx_pkt) : + net_tx_pkt_build_vheader(tx->tx_pkt, false, true, 0))) { + return false; } =20 if (tx->first_olinfo_status & E1000_ADVTXD_POTS_IXSM) { diff --git a/hw/net/net_tx_pkt.c b/hw/net/net_tx_pkt.c index af8f77a3f0..2e5f58b3c9 100644 --- a/hw/net/net_tx_pkt.c +++ b/hw/net/net_tx_pkt.c @@ -16,6 +16,7 @@ */ =20 #include "qemu/osdep.h" +#include "qemu/crc32c.h" #include "net/eth.h" #include "net/checksum.h" #include "net/tap.h" @@ -135,6 +136,23 @@ void net_tx_pkt_update_ip_checksums(struct NetTxPkt *p= kt) pkt->virt_hdr.csum_offset, &csum, sizeof(csum)); } =20 +bool net_tx_pkt_update_sctp_checksum(struct NetTxPkt *pkt) +{ + uint32_t csum =3D 0; + struct iovec *pl_start_frag =3D pkt->vec + NET_TX_PKT_PL_START_FRAG; + + if (iov_from_buf(pl_start_frag, pkt->payload_frags, 8, &csum, sizeof(c= sum)) < sizeof(csum)) { + return false; + } + + csum =3D cpu_to_le32(iov_crc32c(0xffffffff, pl_start_frag, pkt->payloa= d_frags)); + if (iov_from_buf(pl_start_frag, pkt->payload_frags, 8, &csum, sizeof(c= sum)) < sizeof(csum)) { + return false; + } + + return true; +} + static void net_tx_pkt_calculate_hdr_len(struct NetTxPkt *pkt) { pkt->hdr_len =3D pkt->vec[NET_TX_PKT_L2HDR_FRAG].iov_len + --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223779; cv=none; d=zohomail.com; s=zohoarc; b=dzDxHgkhxCdohUCMd2PJCp8ZRzn2TVgJRqMkRiB/kwa4GqiSRE/KM0KgaJFpNK8fuA333Gmppn4IEKmUW5lPVmxfmo9XV6nLBEb0HHr1pl8Uz75Vxd9maow1A8ItW8htvL4ag/LwvrVZyBRHdiaCxKvtIIt6ES1LTB8p4+Hj9vY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223779; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=e4Rb5xxAHXYrdgg6lMGuEbNR/Skxdvqa3RG8cMfGyuk=; b=HoFT1UNHiglsMU2XjQ/pdwyoAGBilXpiYeh0CfNqrJgiWSqeZ6zczi0E1gABQeD6pWZJ4bFkJgsGJbTeBLDc0bNcsW6C9ao2J4zfeZgaWMiML49ffmn0f1pRbQq9VMk7M3qikEoc5HusvMD0TnKZaPTt7N1DQKP7njOX4Gl/O1M= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223779787237.86132503035765; Sat, 22 Apr 2023 21:22:59 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRDq-0006Ao-Hg; Sun, 23 Apr 2023 00:21:11 -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 1pqRDa-0005lB-Mf for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:55 -0400 Received: from mail-pf1-x42d.google.com ([2607:f8b0:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRDY-0001JZ-MX for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:54 -0400 Received: by mail-pf1-x42d.google.com with SMTP id d2e1a72fcca58-63d4595d60fso21524799b3a.0 for ; Sat, 22 Apr 2023 21:20:52 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.20.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:20:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223652; x=1684815652; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=e4Rb5xxAHXYrdgg6lMGuEbNR/Skxdvqa3RG8cMfGyuk=; b=C6aUx8PkVm56c488a1HLtbhqJ09M2PSGOrxVa1XQ4vK2ew/L1hQDKXkgGqu6Wmaam7 H/lzgZ9o1ieJ8U914juaRZE3rU9Wc3Hi953P3kW9gQ3orFGEUlTgdBvMZtFt6fVUz16e 4jjKgCMR8idFXIZoRytr62VSBVcErAWBvmmHYD3JRgozMXvPRv9VuMQOGbqP/67rFZFe r9QWlcJhgO9YlhkfSEjcQ4q0w44T2Drx+Ou7HSCnAz1JuFB6z5vMnyN+tnQzATvB5LDq uN7xw8bWhb8H0vshD836mQwLNKFZaDsBLImQyLSVNeoA/zNKubwinzNh9Y0f2VfF/ODr mFEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223652; x=1684815652; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=e4Rb5xxAHXYrdgg6lMGuEbNR/Skxdvqa3RG8cMfGyuk=; b=XhwWfnvuVnq//DEcqmrexZVUQj7MojKhTC05gbAPa15g6/Jm98wj6Yj3fYuDV/5A9M nSn5/alOx+bjH9zcBp8CvBCP1JGSmTnMoDd0G7KEj9lR3kImwwH1x8p03EYfE2b11Yt/ vV/oC06didq9wPxl2gpsU/L1SyQ/yUDdYBxHfxQAoj3CQQ0u4vD2sTLRpqmYbJx8RlJj x9NhbXN1eZJ29xMyFvIcB2C4PA7yHgpttNQGc7cBtFs5lhXj5bBxxB2kkTr1qDXedCIp Ekf77m0uisMI5rHIxJOJDtGGrxb3v0QLyn8Noh5MjrCRSnFA6GE7DWgKgLUz6UGCr5qR WCAQ== X-Gm-Message-State: AAQBX9e5rggS1hgYDIOXqaoCQTPyFxfFlaOfQ1pSGNpRSTomctc2qu0E TQJ5yRlW6++oPzWtUyg4gPdHKw== X-Google-Smtp-Source: AKy350bb1t/IfRYvAS7CyqzDCN8r+o37E5BsBWsx71f+aqvebhOERReIVYD+PmkZkAQlOOo9mapuow== X-Received: by 2002:a17:902:d4cf:b0:1a6:81ac:c34d with SMTP id o15-20020a170902d4cf00b001a681acc34dmr17552087plg.28.1682223652043; Sat, 22 Apr 2023 21:20:52 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 38/47] igb: Strip the second VLAN tag for extended VLAN Date: Sun, 23 Apr 2023 13:18:24 +0900 Message-Id: <20230423041833.5302-39-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::42d; envelope-from=akihiko.odaki@daynix.com; helo=mail-pf1-x42d.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223780728100003 Content-Type: text/plain; charset="utf-8" Signed-off-by: Akihiko Odaki --- hw/net/net_rx_pkt.h | 19 ++++++++-------- include/net/eth.h | 4 ++-- hw/net/e1000e_core.c | 3 ++- hw/net/igb_core.c | 14 ++++++++++-- hw/net/net_rx_pkt.c | 15 +++++-------- net/eth.c | 52 ++++++++++++++++++++++++++++---------------- 6 files changed, 65 insertions(+), 42 deletions(-) diff --git a/hw/net/net_rx_pkt.h b/hw/net/net_rx_pkt.h index ce8dbdb284..55ec67a1a7 100644 --- a/hw/net/net_rx_pkt.h +++ b/hw/net/net_rx_pkt.h @@ -223,18 +223,19 @@ void net_rx_pkt_attach_iovec(struct NetRxPkt *pkt, /** * attach scatter-gather data to rx packet * -* @pkt: packet -* @iov: received data scatter-gather list -* @iovcnt number of elements in iov -* @iovoff data start offset in the iov -* @strip_vlan: should the module strip vlan from data -* @vet: VLAN tag Ethernet type +* @pkt: packet +* @iov: received data scatter-gather list +* @iovcnt: number of elements in iov +* @iovoff: data start offset in the iov +* @strip_vlan_index: index of Q tag if it is to be stripped. negative othe= rwise. +* @vet: VLAN tag Ethernet type +* @vet_ext: outer VLAN tag Ethernet type * */ void net_rx_pkt_attach_iovec_ex(struct NetRxPkt *pkt, - const struct iovec *iov, int iovcnt, - size_t iovoff, bool strip_vlan, - uint16_t vet); + const struct iovec *iov, int iovcnt, + size_t iovoff, int strip_vlan_index, + uint16_t vet, uint16_t vet_ext); =20 /** * attach data to rx packet diff --git a/include/net/eth.h b/include/net/eth.h index 75e7f1551c..3b80b6e07f 100644 --- a/include/net/eth.h +++ b/include/net/eth.h @@ -347,8 +347,8 @@ eth_strip_vlan(const struct iovec *iov, int iovcnt, siz= e_t iovoff, uint16_t *payload_offset, uint16_t *tci); =20 size_t -eth_strip_vlan_ex(const struct iovec *iov, int iovcnt, size_t iovoff, - uint16_t vet, void *new_ehdr_buf, +eth_strip_vlan_ex(const struct iovec *iov, int iovcnt, size_t iovoff, int = index, + uint16_t vet, uint16_t vet_ext, void *new_ehdr_buf, uint16_t *payload_offset, uint16_t *tci); =20 uint16_t diff --git a/hw/net/e1000e_core.c b/hw/net/e1000e_core.c index c06c8b20c8..347162a9d0 100644 --- a/hw/net/e1000e_core.c +++ b/hw/net/e1000e_core.c @@ -1711,7 +1711,8 @@ e1000e_receive_internal(E1000ECore *core, const struc= t iovec *iov, int iovcnt, } =20 net_rx_pkt_attach_iovec_ex(core->rx_pkt, iov, iovcnt, iov_ofs, - e1000x_vlan_enabled(core->mac), core->mac[V= ET]); + e1000x_vlan_enabled(core->mac) ? 0 : -1, + core->mac[VET], 0); =20 e1000e_rss_parse_packet(core, core->rx_pkt, &rss_info); e1000e_rx_ring_init(core, &rxr, rss_info.queue); diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index 24a90cd35f..a51c435084 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -1611,6 +1611,7 @@ igb_receive_internal(IGBCore *core, const struct iove= c *iov, int iovcnt, E1000E_RxRing rxr; E1000E_RSSInfo rss_info; size_t total_size; + int strip_vlan_index; int i; =20 trace_e1000e_rx_receive_iov(iovcnt); @@ -1672,9 +1673,18 @@ igb_receive_internal(IGBCore *core, const struct iov= ec *iov, int iovcnt, =20 igb_rx_ring_init(core, &rxr, i); =20 + if (!igb_rx_strip_vlan(core, rxr.i)) { + strip_vlan_index =3D -1; + } else if (core->mac[CTRL_EXT] & BIT(26)) { + strip_vlan_index =3D 1; + } else { + strip_vlan_index =3D 0; + } + net_rx_pkt_attach_iovec_ex(core->rx_pkt, iov, iovcnt, iov_ofs, - igb_rx_strip_vlan(core, rxr.i), - core->mac[VET] & 0xffff); + strip_vlan_index, + core->mac[VET] & 0xffff, + core->mac[VET] >> 16); =20 total_size =3D net_rx_pkt_get_total_len(core->rx_pkt) + e1000x_fcs_len(core->mac); diff --git a/hw/net/net_rx_pkt.c b/hw/net/net_rx_pkt.c index 3575c8b9f9..32e5f3f9cf 100644 --- a/hw/net/net_rx_pkt.c +++ b/hw/net/net_rx_pkt.c @@ -137,20 +137,17 @@ void net_rx_pkt_attach_iovec(struct NetRxPkt *pkt, =20 void net_rx_pkt_attach_iovec_ex(struct NetRxPkt *pkt, const struct iovec *iov, int iovcnt, - size_t iovoff, bool strip_vlan, - uint16_t vet) + size_t iovoff, int strip_vlan_index, + uint16_t vet, uint16_t vet_ext) { uint16_t tci =3D 0; uint16_t ploff =3D iovoff; assert(pkt); =20 - if (strip_vlan) { - pkt->ehdr_buf_len =3D eth_strip_vlan_ex(iov, iovcnt, iovoff, vet, - &pkt->ehdr_buf, - &ploff, &tci); - } else { - pkt->ehdr_buf_len =3D 0; - } + pkt->ehdr_buf_len =3D eth_strip_vlan_ex(iov, iovcnt, iovoff, + strip_vlan_index, vet, vet_ext, + &pkt->ehdr_buf, + &ploff, &tci); =20 pkt->tci =3D tci; =20 diff --git a/net/eth.c b/net/eth.c index 7f02aea010..649e66bb1f 100644 --- a/net/eth.c +++ b/net/eth.c @@ -269,36 +269,50 @@ eth_strip_vlan(const struct iovec *iov, int iovcnt, s= ize_t iovoff, } =20 size_t -eth_strip_vlan_ex(const struct iovec *iov, int iovcnt, size_t iovoff, - uint16_t vet, void *new_ehdr_buf, +eth_strip_vlan_ex(const struct iovec *iov, int iovcnt, size_t iovoff, int = index, + uint16_t vet, uint16_t vet_ext, void *new_ehdr_buf, uint16_t *payload_offset, uint16_t *tci) { struct vlan_header vlan_hdr; - struct eth_header *new_ehdr =3D (struct eth_header *) new_ehdr_buf; - - size_t copied =3D iov_to_buf(iov, iovcnt, iovoff, - new_ehdr, sizeof(*new_ehdr)); - - if (copied < sizeof(*new_ehdr)) { - return 0; - } + uint16_t *new_ehdr_proto; + size_t new_ehdr_size; + size_t copied; =20 - if (be16_to_cpu(new_ehdr->h_proto) =3D=3D vet) { - copied =3D iov_to_buf(iov, iovcnt, iovoff + sizeof(*new_ehdr), - &vlan_hdr, sizeof(vlan_hdr)); + switch (index) { + case 0: + new_ehdr_proto =3D &PKT_GET_ETH_HDR(new_ehdr_buf)->h_proto; + new_ehdr_size =3D sizeof(struct eth_header); + copied =3D iov_to_buf(iov, iovcnt, iovoff, new_ehdr_buf, new_ehdr_= size); + break; =20 - if (copied < sizeof(vlan_hdr)) { + case 1: + new_ehdr_proto =3D &PKT_GET_VLAN_HDR(new_ehdr_buf)->h_proto; + new_ehdr_size =3D sizeof(struct eth_header) + sizeof(struct vlan_h= eader); + copied =3D iov_to_buf(iov, iovcnt, iovoff, new_ehdr_buf, new_ehdr_= size); + if (be16_to_cpu(PKT_GET_ETH_HDR(new_ehdr_buf)->h_proto) !=3D vet_e= xt) { return 0; } + break; =20 - new_ehdr->h_proto =3D vlan_hdr.h_proto; + default: + return 0; + } =20 - *tci =3D be16_to_cpu(vlan_hdr.h_tci); - *payload_offset =3D iovoff + sizeof(*new_ehdr) + sizeof(vlan_hdr); - return sizeof(struct eth_header); + if (copied < new_ehdr_size || be16_to_cpu(*new_ehdr_proto) !=3D vet) { + return 0; + } + + copied =3D iov_to_buf(iov, iovcnt, iovoff + new_ehdr_size, + &vlan_hdr, sizeof(vlan_hdr)); + if (copied < sizeof(vlan_hdr)) { + return 0; } =20 - return 0; + *new_ehdr_proto =3D vlan_hdr.h_proto; + *payload_offset =3D iovoff + new_ehdr_size + sizeof(vlan_hdr); + *tci =3D be16_to_cpu(vlan_hdr.h_tci); + + return new_ehdr_size; } =20 void --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223836; cv=none; d=zohomail.com; s=zohoarc; b=iTdwWDR7+qquv1zANsNGCRZfiu3xNBxUzQnretQvHV4M5OPlTOY5n269SynWGym+RK2C4z4KZHV3bG/V1+qDNSaZtIMr1GD4YqVsNROqPQh54PhC9XjWiypxx5Mqbu13L/utg8OxCYg4Qa1h1sHHUkk7OIepJ741p4CqivbyAz4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223836; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=/l+Oz5maSzDNe+2i6DODB/77+oirJqA9aouuomyS2Fs=; b=jcHIItHu00u0tcICAiNB8sIlrJWajrEmKgDMb4sPknofjKqVv5Mdh8cpl+MpSZVhJfnBOz1CFIyItgsiuLBmiZUFOjogOMd6gzlJRNGLbMh+kq+QZYzZ0YF5USgEKJeKKO1qtfQVMMCBklTpnAG6rwnzfwFAVLMnkxrdEIgstwQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223836451296.9500087676455; Sat, 22 Apr 2023 21:23:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRDw-0006Ud-F4; Sun, 23 Apr 2023 00:21:16 -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 1pqRDe-0005zG-DC for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:59 -0400 Received: from mail-pl1-x635.google.com ([2607:f8b0:4864:20::635]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRDc-0001Lh-OO for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:20:58 -0400 Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-1a66b9bd893so30497105ad.1 for ; Sat, 22 Apr 2023 21:20:56 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.20.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:20:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223655; x=1684815655; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=/l+Oz5maSzDNe+2i6DODB/77+oirJqA9aouuomyS2Fs=; b=sY+way1wfuDCb1uxYPEVsphpQcwOb2wilTIIs82oZy6ceBUrTi51BeeKn6VoEU7rNR ZHZ2n6adSVDmxb9CWITlHujSQgYlTaTli44ZIizu+UYithIJIdSnJp1TTjf1stPFb2oN SFDBlIfLzX1qNci16MFjWBRY3rd/BX9VPAnhcsNYxE56xAM/1EdnWTOVtR2bDRW9JOHy mpRU//mqBjZPMAHQugczSFwAhNbG5PIXryR+/VH9zIZNR9GLNcJEqj8d2DpJjal/icBX L5FgsJWQmL5uoN+WgQgOlHtZIkljcd4z+gV7Dudv/WVs/GbGAKZ25nJhzYH4BacIUOhc h+Bw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223655; x=1684815655; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/l+Oz5maSzDNe+2i6DODB/77+oirJqA9aouuomyS2Fs=; b=ecPb+wLsWnBK1Pzl05B7PGpXWHxzIo9NQ5zp2DGSlacPksyvXz4IXbz7JzTSUJH0iV a1WqWo5wqYYooKn+DKJkwhHYSd8nKb6L1WejgsBRZmxB2uQmEfi3wefHM66p7zHZ5mla dyLaCe9mZpT0CRRRDXZzUFi0lxKG24cqfWhSSJFN8EIXZrQFxh7Mfl4MaCZKGlS6RLv2 O9wfcSFzgmW+BrIJJ7fPWX3qpmI0U0/gs9lvQ4TNogSpA4m0N0ava+hbH5JZhCcwnGt3 ZSeSrD0LFn3qfc6R+ShB+jT0FCoSkc4Mys3IBklFTartV6h/hYENPSqwKyp8hpYe9XG5 BGuQ== X-Gm-Message-State: AAQBX9dZp/bIm+73er3Uo5MmvpfCIB7GCQCUem4wGGSUA26VXufaRVKD D5x6wfgPWB16Dlnq1KmK5WL9Wg== X-Google-Smtp-Source: AKy350b2qKWSMfak85AX83TaTlbvoS6kCduJwTBAwfLUEmTvSrF6HWIATouJJ9yLi+N4ddaJ70viAA== X-Received: by 2002:a17:903:11c7:b0:1a5:1438:9bcd with SMTP id q7-20020a17090311c700b001a514389bcdmr12237279plh.35.1682223655434; Sat, 22 Apr 2023 21:20:55 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 39/47] igb: Filter with the second VLAN tag for extended VLAN Date: Sun, 23 Apr 2023 13:18:25 +0900 Message-Id: <20230423041833.5302-40-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::635; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x635.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223836809100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Akihiko Odaki --- hw/net/igb_core.c | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index a51c435084..667ff47701 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -69,7 +69,7 @@ typedef struct IGBTxPktVmdqCallbackContext { =20 typedef struct L2Header { struct eth_header eth; - struct vlan_header vlan; + struct vlan_header vlan[2]; } L2Header; =20 static ssize_t @@ -1001,7 +1001,7 @@ static uint16_t igb_receive_assign(IGBCore *core, con= st L2Header *l2_header, uint32_t f, ra[2], *macp, rctl =3D core->mac[RCTL]; uint16_t queues =3D 0; uint16_t oversized =3D 0; - uint16_t vid =3D be16_to_cpu(l2_header->vlan.h_tci) & VLAN_VID_MASK; + size_t vlan_num =3D 0; int i; =20 memset(rss_info, 0, sizeof(E1000E_RSSInfo)); @@ -1010,8 +1010,19 @@ static uint16_t igb_receive_assign(IGBCore *core, co= nst L2Header *l2_header, *external_tx =3D true; } =20 - if (e1000x_is_vlan_packet(ehdr, core->mac[VET] & 0xffff) && - !e1000x_rx_vlan_filter(core->mac, PKT_GET_VLAN_HDR(ehdr))) { + if (core->mac[CTRL_EXT] & BIT(26)) { + if (be16_to_cpu(ehdr->h_proto) =3D=3D core->mac[VET] >> 16 && + be16_to_cpu(l2_header->vlan[0].h_proto) =3D=3D (core->mac[VET]= & 0xffff)) { + vlan_num =3D 2; + } + } else { + if (be16_to_cpu(ehdr->h_proto) =3D=3D (core->mac[VET] & 0xffff)) { + vlan_num =3D 1; + } + } + + if (vlan_num && + !e1000x_rx_vlan_filter(core->mac, l2_header->vlan + vlan_num - 1))= { return queues; } =20 @@ -1065,7 +1076,9 @@ static uint16_t igb_receive_assign(IGBCore *core, con= st L2Header *l2_header, if (e1000x_vlan_rx_filter_enabled(core->mac)) { uint16_t mask =3D 0; =20 - if (e1000x_is_vlan_packet(ehdr, core->mac[VET] & 0xffff)) { + if (vlan_num) { + uint16_t vid =3D be16_to_cpu(l2_header->vlan[vlan_num - 1]= .h_tci) & VLAN_VID_MASK; + for (i =3D 0; i < E1000_VLVF_ARRAY_SIZE; i++) { if ((core->mac[VLVF0 + i] & E1000_VLVF_VLANID_MASK) = =3D=3D vid && (core->mac[VLVF0 + i] & E1000_VLVF_VLANID_ENABLE))= { --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223924; cv=none; d=zohomail.com; s=zohoarc; b=apLKCyGiSpLsLysze5/efhqd07GBbSf4HDZre99+L5sjWTNX/oA2b7BxA9Zn5B2M5THZ/E7/LBnFzFfpT5akurjSEKEdf3h9y63oq7ruiqpoqs2xBp8tIbs9Piwm3IpVllz0PJISI+r5SdlHjKsCcuhZu7O7bSEAl3m7CWFx9dA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223924; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=dUASrVPY9bBz/EN5xysffHy9wsKX/LQEO5dQ1No285o=; b=heo1x578SycqLw7M1HNkQYBBv8jnmhTRXQfaTmf0RNg/jF72vH9HHsX+qVpw5Qdnzr+qR2ryrFbzFZJTwceOJBRIBFV6KxtMLsvkCDgc6EFjg9k4TeNbRI94zDlhHBBipS/qzoUOZOBBPxAWgiiiwx6gxbV5sUNKmdJWFRE22EA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223924877596.9798486887188; Sat, 22 Apr 2023 21:25:24 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqREa-0008Hk-I5; Sun, 23 Apr 2023 00:21:56 -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 1pqRDm-0006M7-OO for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:21:11 -0400 Received: from mail-pg1-x52f.google.com ([2607:f8b0:4864:20::52f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRDf-0001M1-W3 for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:21:05 -0400 Received: by mail-pg1-x52f.google.com with SMTP id 41be03b00d2f7-51f6461af24so2633060a12.2 for ; Sat, 22 Apr 2023 21:20:59 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.20.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:20:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223659; x=1684815659; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=dUASrVPY9bBz/EN5xysffHy9wsKX/LQEO5dQ1No285o=; b=bGdFK9QWHuAbIxkRRTnBO3tB2Jt6Y/7vKe6wmZ/MWMRXjgoxgeVcx3EI6o9r8ut9Ks k9s8IWifRRZ12NfFLZgXe6hH0PamHb/tYzKqbD+sIekS69NSeZ61iPTYZCIxlLJT52Af BxfINoLu0DxprYoOoShtZU1rZ+bjoOS02/yRY73pVcJRr+MD3c+cmbsfLpB/z6c6ta9a jrkZRfSxyyJV11fRTaj6PY2onBDLcQOjVNPoqtbHysayM+7pYBJHlOQ2oFnIEf1S5Qj7 g7LiQxOIg0Hx9kcoOex2uUlFyW7RZkR+rDBNegNkmFkOHskdCbKhT/ANxauana7oPybQ d70w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223659; x=1684815659; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=dUASrVPY9bBz/EN5xysffHy9wsKX/LQEO5dQ1No285o=; b=KPLoqJ1TrXKYug9neC6cNfA6OgJVETOpkhS8v0XV16yBEb1A08fElhXExy/9c0yWnH efhNUtijXEuAsW10nHNu5w/qjutkMSNI2GNHfqChyeNK9XVS8s5dAiO1WKmEdnVvEYjr dHoxIqfAsy5XI8XsgiKwYTt14dzXVtQXD9rT5j7etwiFw4GdzhFYfmyp9LwUN6fCL5G6 DL78W0tteEm0+jLJHIVC8La5471c8nj1wjpBSiRJTT62ejBDpERrac+HOnutPoYPxiiD Kl8wprqj9XqBXRqatuO0GjTKYkf05yYzHz29CuNybuaOUlC0j/pC1wBcSUKiJnu2cbDj DLuA== X-Gm-Message-State: AAQBX9c5ldp67AnodmyYwV89k8U9Plhn9eZomx7BfX0NcCEWkgxScu3K CLyd4AIXnPJNdu/BsRjCb00IfQ== X-Google-Smtp-Source: AKy350ZLe0ZQtvn2yDpOkCDZZCIpFDsWGXR2wenm8ouLsMFuXRCW46+ZqQkjAB3PgEQ4qmKZ8idPEg== X-Received: by 2002:a17:902:d492:b0:1a9:3447:71fb with SMTP id c18-20020a170902d49200b001a9344771fbmr12049490plg.39.1682223658787; Sat, 22 Apr 2023 21:20:58 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 40/47] igb: Implement igb-specific oversize check Date: Sun, 23 Apr 2023 13:18:26 +0900 Message-Id: <20230423041833.5302-41-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::52f; envelope-from=akihiko.odaki@daynix.com; helo=mail-pg1-x52f.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223925447100001 Content-Type: text/plain; charset="utf-8" igb has a configurable size limit for LPE, and uses different limits depending on whether the packet is treated as a VLAN packet. Signed-off-by: Akihiko Odaki Reviewed-by: Sriram Yagnaraman --- hw/net/igb_core.c | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index 667ff47701..16c563cf36 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -980,16 +980,13 @@ igb_rx_l4_cso_enabled(IGBCore *core) return !!(core->mac[RXCSUM] & E1000_RXCSUM_TUOFLD); } =20 -static bool -igb_rx_is_oversized(IGBCore *core, uint16_t qn, size_t size) +static bool igb_rx_is_oversized(IGBCore *core, const struct eth_header *eh= dr, + size_t size, size_t vlan_num, + bool lpe, uint16_t rlpml) { - uint16_t pool =3D qn % IGB_NUM_VM_POOLS; - bool lpe =3D !!(core->mac[VMOLR0 + pool] & E1000_VMOLR_LPE); - int max_ethernet_lpe_size =3D - core->mac[VMOLR0 + pool] & E1000_VMOLR_RLPML_MASK; - int max_ethernet_vlan_size =3D 1522; - - return size > (lpe ? max_ethernet_lpe_size : max_ethernet_vlan_size); + size_t vlan_header_size =3D sizeof(struct vlan_header) * vlan_num; + size_t header_size =3D sizeof(struct eth_header) + vlan_header_size; + return lpe ? size + ETH_FCS_LEN > rlpml : size > header_size + ETH_MTU; } =20 static uint16_t igb_receive_assign(IGBCore *core, const L2Header *l2_heade= r, @@ -1002,6 +999,8 @@ static uint16_t igb_receive_assign(IGBCore *core, cons= t L2Header *l2_header, uint16_t queues =3D 0; uint16_t oversized =3D 0; size_t vlan_num =3D 0; + bool lpe; + uint16_t rlpml; int i; =20 memset(rss_info, 0, sizeof(E1000E_RSSInfo)); @@ -1021,6 +1020,14 @@ static uint16_t igb_receive_assign(IGBCore *core, co= nst L2Header *l2_header, } } =20 + lpe =3D !!(core->mac[RCTL] & E1000_RCTL_LPE); + rlpml =3D core->mac[RLPML]; + if (!(core->mac[RCTL] & E1000_RCTL_SBP) && + igb_rx_is_oversized(core, ehdr, size, vlan_num, lpe, rlpml)) { + trace_e1000x_rx_oversized(size); + return queues; + } + if (vlan_num && !e1000x_rx_vlan_filter(core->mac, l2_header->vlan + vlan_num - 1))= { return queues; @@ -1106,7 +1113,11 @@ static uint16_t igb_receive_assign(IGBCore *core, co= nst L2Header *l2_header, queues &=3D core->mac[VFRE]; if (queues) { for (i =3D 0; i < IGB_NUM_VM_POOLS; i++) { - if ((queues & BIT(i)) && igb_rx_is_oversized(core, i, size= )) { + lpe =3D !!(core->mac[VMOLR0 + i] & E1000_VMOLR_LPE); + rlpml =3D core->mac[VMOLR0 + i] & E1000_VMOLR_RLPML_MASK; + if ((queues & BIT(i)) && + igb_rx_is_oversized(core, ehdr, size, vlan_num, + lpe, rlpml)) { oversized |=3D BIT(i); } } @@ -1662,11 +1673,6 @@ igb_receive_internal(IGBCore *core, const struct iov= ec *iov, int iovcnt, iov_to_buf(iov, iovcnt, iov_ofs, &min_buf, sizeof(min_buf.l2_heade= r)); } =20 - /* Discard oversized packets if !LPE and !SBP. */ - if (e1000x_is_oversized(core->mac, size)) { - return orig_size; - } - net_rx_pkt_set_packet_type(core->rx_pkt, get_eth_packet_type(&min_buf.l2_header.eth)= ); net_rx_pkt_set_protocols(core->rx_pkt, iov, iovcnt, iov_ofs); --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223839; cv=none; d=zohomail.com; s=zohoarc; b=UQZKqXV118ydPXkf32MPzWkLf4z8Xo0r1elzpS1EAIFpoEVed3SfV72ics888UmobUe4eKEg80tb22Q5PU+qp5AzSMo4bSFCdPqVFEB/+MA1LE6S/BlsSvY4QgdE1ZK1LLSPdXlgaLeWQrNFvz4OWaPLQrWFGxM+ZjOowQsK0g4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223839; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=tmvY2CKcMIQ+9dLK8nWXaRbhhbL8tHNkR4T+SdqunKQ=; b=HzNTWSphJ/kHjq3oubOhzwcdb41uOEL2haY96xefIq4bJT9UuVtDWaeqrsoeDZQhhkosLtecGGYjB/KAyMEbpA3qNWtlcFgIOvlAabBbWShvSmaN1eRvRF/bTwjDeStLFRT0+fY2k/hyPBFPisL2nHStNWWvIHAU2exiYZpSdkQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 168222383922944.696806169073284; Sat, 22 Apr 2023 21:23:59 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRE1-00075N-0u; Sun, 23 Apr 2023 00:21:21 -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 1pqRDn-0006N0-Kn for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:21:11 -0400 Received: from mail-pl1-x62e.google.com ([2607:f8b0:4864:20::62e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRDj-0001MH-M3 for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:21:06 -0400 Received: by mail-pl1-x62e.google.com with SMTP id d9443c01a7336-1a52667955dso38489195ad.1 for ; Sat, 22 Apr 2023 21:21:03 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.20.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:21:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223662; x=1684815662; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=tmvY2CKcMIQ+9dLK8nWXaRbhhbL8tHNkR4T+SdqunKQ=; b=TyMc9udjlgpQYDiycIjM/0HOE91JC5cWDXM29EO84GcuBt6W9SFHsiO0cxXmn62eYz CU0AHrxjH8ry99P9fIIn3h3jUf45KHqMjn35NOhukcVkCJ3BoiTW54VbguD55fB6WJra QHI+HT8JUPCw6/fhaljhl3KdRVjAZjkLo58eX4U7ZtDpXl3sjTlMv9Vc6B32pv7n7+Dk 4wCq6wkMXxlHBwTx3Zc5pcxSH0jMxLHbY6wSHMJrDuJqwwrlq9SvHtIAjVEut2PLG6QJ +Myr4qMk0cRCu2XpjXlnOdNaWzwmuOKxi5/r/Qg+HOeedFSnReIOhL1tBDijJpCXjXBD MSFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223662; x=1684815662; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=tmvY2CKcMIQ+9dLK8nWXaRbhhbL8tHNkR4T+SdqunKQ=; b=jnHRpF6MsLjW7WCtG5dlboqow3GYQ5nicQ+VMRhFRYyaWHeVEZdJhR7Dfss8SANEkG /jcu35gWL8vvtBV+BfgKKL9rZokp9wYR8TlCjbJ50D/anIlmsbNITLppt6hX9tGb2fBd W4MRWbMtTwbqcDMcyj+lhXmOe61nL0Mhm7Q+dH5M2eah6wo1ghg4VqWFeYNUYvpKGmC2 KSoCLvK46t0ey0W/Mxyyg5WWmFFpYzSHcH4JmQQKJ7V6E8WU+DQi6y3e+lMkhrRdDQbb BlD3gdoxmXqW4aQjZBQeieIzC0c32SHCxPH3m8m3rWs15cXkIiKu+7NO85+5sRLN52qa EJXw== X-Gm-Message-State: AAQBX9fyLZTeKABXOdf0PmGL+ibWSY5AkSN11X6UONF9QkZBjkGGxOJO 8G09NjLKBTDRutDPhC3lkh/0bA== X-Google-Smtp-Source: AKy350ZWgW2b/yY7gYQqQeOOiRlDl1CXvpMAsV8/q4Mip1FZ2uE6FgCB2laZM1grv3MfLcM45DoH+g== X-Received: by 2002:a17:902:d2cf:b0:1a5:34c2:81ca with SMTP id n15-20020a170902d2cf00b001a534c281camr11589728plc.60.1682223662250; Sat, 22 Apr 2023 21:21:02 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 41/47] igb: Implement Rx PTP2 timestamp Date: Sun, 23 Apr 2023 13:18:27 +0900 Message-Id: <20230423041833.5302-42-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::62e; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x62e.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223840531100003 Content-Type: text/plain; charset="utf-8" Signed-off-by: Akihiko Odaki --- hw/net/igb_common.h | 16 +++--- hw/net/igb_regs.h | 23 ++++++++ hw/net/igb_core.c | 129 ++++++++++++++++++++++++++++++++------------ 3 files changed, 127 insertions(+), 41 deletions(-) diff --git a/hw/net/igb_common.h b/hw/net/igb_common.h index f2a9065791..5c261ba9d3 100644 --- a/hw/net/igb_common.h +++ b/hw/net/igb_common.h @@ -51,7 +51,7 @@ defreg_indexeda(x, 0), defreg_indexeda(x, 1), \ defreg_indexeda(x, 2), defreg_indexeda(x, 3) =20 -#define defregv(x) defreg_indexed(x, 0), defreg_indexed(x, 1), \ +#define defreg8(x) defreg_indexed(x, 0), defreg_indexed(x, 1), \ defreg_indexed(x, 2), defreg_indexed(x, 3), \ defreg_indexed(x, 4), defreg_indexed(x, 5), \ defreg_indexed(x, 6), defreg_indexed(x, 7) @@ -122,6 +122,8 @@ enum { defreg(EICS), defreg(EIMS), defreg(EIMC), defreg(E= IAM), defreg(EICR), defreg(IVAR_MISC), defreg(GPIE), =20 + defreg(TSYNCRXCFG), defreg8(ETQF), + defreg(RXPBS), defregd(RDBAL), defregd(RDBAH), defregd(= RDLEN), defregd(SRRCTL), defregd(RDH), defregd(RDT), defregd(RXDCTL), defregd(RXCTL), defregd(RQDPC), defreg(R= A2), @@ -133,15 +135,15 @@ enum { =20 defreg(VT_CTL), =20 - defregv(P2VMAILBOX), defregv(V2PMAILBOX), defreg(MBVFICR), defreg(M= BVFIMR), + defreg8(P2VMAILBOX), defreg8(V2PMAILBOX), defreg(MBVFICR), defreg(M= BVFIMR), defreg(VFLRE), defreg(VFRE), defreg(VFTE), defreg(W= VBR), defreg(QDE), defreg(DTXSWC), defreg_indexed(VLVF, 0), - defregv(VMOLR), defreg(RPLOLR), defregv(VMBMEM), defregv(= VMVIR), + defreg8(VMOLR), defreg(RPLOLR), defreg8(VMBMEM), defreg8(= VMVIR), =20 - defregv(PVTCTRL), defregv(PVTEICS), defregv(PVTEIMS), defregv(= PVTEIMC), - defregv(PVTEIAC), defregv(PVTEIAM), defregv(PVTEICR), defregv(= PVFGPRC), - defregv(PVFGPTC), defregv(PVFGORC), defregv(PVFGOTC), defregv(= PVFMPRC), - defregv(PVFGPRLBC), defregv(PVFGPTLBC), defregv(PVFGORLBC), defregv(= PVFGOTLBC), + defreg8(PVTCTRL), defreg8(PVTEICS), defreg8(PVTEIMS), defreg8(= PVTEIMC), + defreg8(PVTEIAC), defreg8(PVTEIAM), defreg8(PVTEICR), defreg8(= PVFGPRC), + defreg8(PVFGPTC), defreg8(PVFGORC), defreg8(PVFGOTC), defreg8(= PVFMPRC), + defreg8(PVFGPRLBC), defreg8(PVFGPTLBC), defreg8(PVFGORLBC), defreg8(= PVFGOTLBC), =20 defreg(MTA_A), =20 diff --git a/hw/net/igb_regs.h b/hw/net/igb_regs.h index 4b4ebd3369..894705599d 100644 --- a/hw/net/igb_regs.h +++ b/hw/net/igb_regs.h @@ -210,6 +210,15 @@ union e1000_adv_rx_desc { #define E1000_DCA_TXCTRL_CPUID_SHIFT 24 /* Tx CPUID now in the last byte */ #define E1000_DCA_RXCTRL_CPUID_SHIFT 24 /* Rx CPUID now in the last byte */ =20 +/* ETQF register bit definitions */ +#define E1000_ETQF_FILTER_ENABLE BIT(26) +#define E1000_ETQF_1588 BIT(30) +#define E1000_ETQF_IMM_INT BIT(29) +#define E1000_ETQF_QUEUE_ENABLE BIT(31) +#define E1000_ETQF_QUEUE_SHIFT 16 +#define E1000_ETQF_QUEUE_MASK 0x00070000 +#define E1000_ETQF_ETYPE_MASK 0x0000FFFF + #define E1000_DTXSWC_MAC_SPOOF_MASK 0x000000FF /* Per VF MAC spoof contr= ol */ #define E1000_DTXSWC_VLAN_SPOOF_MASK 0x0000FF00 /* Per VF VLAN spoof cont= rol */ #define E1000_DTXSWC_LLE_MASK 0x00FF0000 /* Per VF Local LB enable= s */ @@ -384,6 +393,20 @@ union e1000_adv_rx_desc { #define E1000_FRTIMER 0x01048 /* Free Running Timer - RW */ #define E1000_FCRTV 0x02460 /* Flow Control Refresh Timer Value - RW = */ =20 +#define E1000_TSYNCRXCFG 0x05F50 /* Time Sync Rx Configuration - RW */ + +/* Filtering Registers */ +#define E1000_SAQF(_n) (0x5980 + 4 * (_n)) +#define E1000_DAQF(_n) (0x59A0 + 4 * (_n)) +#define E1000_SPQF(_n) (0x59C0 + 4 * (_n)) +#define E1000_FTQF(_n) (0x59E0 + 4 * (_n)) +#define E1000_SAQF0 E1000_SAQF(0) +#define E1000_DAQF0 E1000_DAQF(0) +#define E1000_SPQF0 E1000_SPQF(0) +#define E1000_FTQF0 E1000_FTQF(0) +#define E1000_SYNQF(_n) (0x055FC + (4 * (_n))) /* SYN Packet Queue Fltr */ +#define E1000_ETQF(_n) (0x05CB0 + (4 * (_n))) /* EType Queue Fltr */ + #define E1000_RQDPC(_n) (0x0C030 + ((_n) * 0x40)) =20 #define E1000_RXPBS 0x02404 /* Rx Packet Buffer Size - RW */ diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index 16c563cf36..627d75d370 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -72,6 +72,24 @@ typedef struct L2Header { struct vlan_header vlan[2]; } L2Header; =20 +typedef struct PTP2 { + uint8_t message_id_transport_specific; + uint8_t version_ptp; + uint16_t message_length; + uint8_t subdomain_number; + uint8_t reserved0; + uint16_t flags; + uint64_t correction; + uint8_t reserved1[5]; + uint8_t source_communication_technology; + uint32_t source_uuid_lo; + uint16_t source_uuid_hi; + uint16_t source_port_id; + uint16_t sequence_id; + uint8_t control; + uint8_t log_message_period; +} PTP2; + static ssize_t igb_receive_internal(IGBCore *core, const struct iovec *iov, int iovcnt, bool has_vnet, bool *external_tx); @@ -989,9 +1007,11 @@ static bool igb_rx_is_oversized(IGBCore *core, const = struct eth_header *ehdr, return lpe ? size + ETH_FCS_LEN > rlpml : size > header_size + ETH_MTU; } =20 -static uint16_t igb_receive_assign(IGBCore *core, const L2Header *l2_heade= r, - size_t size, E1000E_RSSInfo *rss_info, - bool *external_tx) +static uint16_t igb_receive_assign(IGBCore *core, const struct iovec *iov, + size_t iovcnt, size_t iov_ofs, + const L2Header *l2_header, size_t size, + E1000E_RSSInfo *rss_info, + uint16_t *etqf, bool *ts, bool *externa= l_tx) { static const int ta_shift[] =3D { 4, 3, 2, 0 }; const struct eth_header *ehdr =3D &l2_header->eth; @@ -999,11 +1019,13 @@ static uint16_t igb_receive_assign(IGBCore *core, co= nst L2Header *l2_header, uint16_t queues =3D 0; uint16_t oversized =3D 0; size_t vlan_num =3D 0; + PTP2 ptp2; bool lpe; uint16_t rlpml; int i; =20 memset(rss_info, 0, sizeof(E1000E_RSSInfo)); + *ts =3D false; =20 if (external_tx) { *external_tx =3D true; @@ -1028,6 +1050,26 @@ static uint16_t igb_receive_assign(IGBCore *core, co= nst L2Header *l2_header, return queues; } =20 + for (*etqf =3D 0; *etqf < 8; (*etqf)++) { + if ((core->mac[ETQF0 + *etqf] & E1000_ETQF_FILTER_ENABLE) && + be16_to_cpu(ehdr->h_proto) =3D=3D (core->mac[ETQF0 + *etqf] & = E1000_ETQF_ETYPE_MASK)) { + if ((core->mac[ETQF0 + *etqf] & E1000_ETQF_1588) && + (core->mac[TSYNCRXCTL] & E1000_TSYNCRXCTL_ENABLED) && + !(core->mac[TSYNCRXCTL] & E1000_TSYNCRXCTL_VALID) && + iov_to_buf(iov, iovcnt, iov_ofs + ETH_HLEN, &ptp2, sizeof(= ptp2)) >=3D sizeof(ptp2) && + (ptp2.version_ptp & 15) =3D=3D 2 && + ptp2.message_id_transport_specific =3D=3D ((core->mac[TSYN= CRXCFG] >> 8) & 255)) { + e1000x_timestamp(core->mac, core->timadj, RXSTMPL, RXSTMPH= ); + *ts =3D true; + core->mac[TSYNCRXCTL] |=3D E1000_TSYNCRXCTL_VALID; + core->mac[RXSATRL] =3D le32_to_cpu(ptp2.source_uuid_lo); + core->mac[RXSATRH] =3D le16_to_cpu(ptp2.source_uuid_hi) | + (le16_to_cpu(ptp2.sequence_id) << 16); + } + break; + } + } + if (vlan_num && !e1000x_rx_vlan_filter(core->mac, l2_header->vlan + vlan_num - 1))= { return queues; @@ -1238,7 +1280,7 @@ static void igb_build_rx_metadata(IGBCore *core, struct NetRxPkt *pkt, bool is_eop, - const E1000E_RSSInfo *rss_info, + const E1000E_RSSInfo *rss_info, uint16_t etqf, bool = ts, uint16_t *pkt_info, uint16_t *hdr_info, uint32_t *rss, uint32_t *status_flags, @@ -1289,29 +1331,33 @@ igb_build_rx_metadata(IGBCore *core, if (pkt_info) { *pkt_info =3D rss_info->enabled ? rss_info->type : 0; =20 - if (hasip4) { - *pkt_info |=3D E1000_ADVRXD_PKT_IP4; - } + if (etqf < 8) { + *pkt_info |=3D BIT(11) | (etqf << 4); + } else { + if (hasip4) { + *pkt_info |=3D E1000_ADVRXD_PKT_IP4; + } =20 - if (hasip6) { - *pkt_info |=3D E1000_ADVRXD_PKT_IP6; - } + if (hasip6) { + *pkt_info |=3D E1000_ADVRXD_PKT_IP6; + } =20 - switch (l4hdr_proto) { - case ETH_L4_HDR_PROTO_TCP: - *pkt_info |=3D E1000_ADVRXD_PKT_TCP; - break; + switch (l4hdr_proto) { + case ETH_L4_HDR_PROTO_TCP: + *pkt_info |=3D E1000_ADVRXD_PKT_TCP; + break; =20 - case ETH_L4_HDR_PROTO_UDP: - *pkt_info |=3D E1000_ADVRXD_PKT_UDP; - break; + case ETH_L4_HDR_PROTO_UDP: + *pkt_info |=3D E1000_ADVRXD_PKT_UDP; + break; =20 - case ETH_L4_HDR_PROTO_SCTP: - *pkt_info |=3D E1000_ADVRXD_PKT_SCTP; - break; + case ETH_L4_HDR_PROTO_SCTP: + *pkt_info |=3D E1000_ADVRXD_PKT_SCTP; + break; =20 - default: - break; + default: + break; + } } } =20 @@ -1319,6 +1365,10 @@ igb_build_rx_metadata(IGBCore *core, *hdr_info =3D 0; } =20 + if (ts) { + *status_flags |=3D BIT(16); + } + /* RX CSO information */ if (hasip6 && (core->mac[RFCTL] & E1000_RFCTL_IPV6_XSUM_DIS)) { trace_e1000e_rx_metadata_ipv6_sum_disabled(); @@ -1374,7 +1424,7 @@ func_exit: static inline void igb_write_lgcy_rx_descr(IGBCore *core, struct e1000_rx_desc *desc, struct NetRxPkt *pkt, - const E1000E_RSSInfo *rss_info, + const E1000E_RSSInfo *rss_info, uint16_t etqf, boo= l ts, uint16_t length) { uint32_t status_flags, rss; @@ -1385,7 +1435,7 @@ igb_write_lgcy_rx_descr(IGBCore *core, struct e1000_r= x_desc *desc, desc->csum =3D 0; =20 igb_build_rx_metadata(core, pkt, pkt !=3D NULL, - rss_info, + rss_info, etqf, ts, NULL, NULL, &rss, &status_flags, &ip_id, &desc->special); @@ -1396,7 +1446,7 @@ igb_write_lgcy_rx_descr(IGBCore *core, struct e1000_r= x_desc *desc, static inline void igb_write_adv_rx_descr(IGBCore *core, union e1000_adv_rx_desc *desc, struct NetRxPkt *pkt, - const E1000E_RSSInfo *rss_info, + const E1000E_RSSInfo *rss_info, uint16_t etqf, bool= ts, uint16_t length) { memset(&desc->wb, 0, sizeof(desc->wb)); @@ -1404,7 +1454,7 @@ igb_write_adv_rx_descr(IGBCore *core, union e1000_adv= _rx_desc *desc, desc->wb.upper.length =3D cpu_to_le16(length); =20 igb_build_rx_metadata(core, pkt, pkt !=3D NULL, - rss_info, + rss_info, etqf, ts, &desc->wb.lower.lo_dword.pkt_info, &desc->wb.lower.lo_dword.hdr_info, &desc->wb.lower.hi_dword.rss, @@ -1415,12 +1465,15 @@ igb_write_adv_rx_descr(IGBCore *core, union e1000_a= dv_rx_desc *desc, =20 static inline void igb_write_rx_descr(IGBCore *core, union e1000_rx_desc_union *desc, -struct NetRxPkt *pkt, const E1000E_RSSInfo *rss_info, uint16_t length) + struct NetRxPkt *pkt, const E1000E_RSSInfo *rss_info, + uint16_t etqf, bool ts, uint16_t length) { if (igb_rx_use_legacy_descriptor(core)) { - igb_write_lgcy_rx_descr(core, &desc->legacy, pkt, rss_info, length= ); + igb_write_lgcy_rx_descr(core, &desc->legacy, pkt, rss_info, + etqf, ts, length); } else { - igb_write_adv_rx_descr(core, &desc->adv, pkt, rss_info, length); + igb_write_adv_rx_descr(core, &desc->adv, pkt, rss_info, + etqf, ts, length); } } =20 @@ -1497,7 +1550,8 @@ igb_rx_descr_threshold_hit(IGBCore *core, const E1000= E_RingInfo *rxi) static void igb_write_packet_to_guest(IGBCore *core, struct NetRxPkt *pkt, const E1000E_RxRing *rxr, - const E1000E_RSSInfo *rss_info) + const E1000E_RSSInfo *rss_info, + uint16_t etqf, bool ts) { PCIDevice *d; dma_addr_t base; @@ -1579,7 +1633,7 @@ igb_write_packet_to_guest(IGBCore *core, struct NetRx= Pkt *pkt, } =20 igb_write_rx_descr(core, &desc, is_last ? core->rx_pkt : NULL, - rss_info, written); + rss_info, etqf, ts, written); igb_pci_dma_write_rx_desc(core, d, base, &desc, core->rx_desc_len); =20 igb_ring_advance(core, rxi, core->rx_desc_len / E1000_MIN_RX_DESC_= LEN); @@ -1634,6 +1688,8 @@ igb_receive_internal(IGBCore *core, const struct iove= c *iov, int iovcnt, size_t iov_ofs =3D 0; E1000E_RxRing rxr; E1000E_RSSInfo rss_info; + uint16_t etqf; + bool ts; size_t total_size; int strip_vlan_index; int i; @@ -1677,8 +1733,9 @@ igb_receive_internal(IGBCore *core, const struct iove= c *iov, int iovcnt, get_eth_packet_type(&min_buf.l2_header.eth)= ); net_rx_pkt_set_protocols(core->rx_pkt, iov, iovcnt, iov_ofs); =20 - queues =3D igb_receive_assign(core, &min_buf.l2_header, size, - &rss_info, external_tx); + queues =3D igb_receive_assign(core, iov, iovcnt, iov_ofs, + &min_buf.l2_header, size, + &rss_info, &etqf, &ts, external_tx); if (!queues) { trace_e1000e_rx_flt_dropped(); return orig_size; @@ -1717,7 +1774,7 @@ igb_receive_internal(IGBCore *core, const struct iove= c *iov, int iovcnt, causes |=3D E1000_ICR_RXDW; =20 igb_rx_fix_l4_csum(core, core->rx_pkt); - igb_write_packet_to_guest(core, core->rx_pkt, &rxr, &rss_info); + igb_write_packet_to_guest(core, core->rx_pkt, &rxr, &rss_info, etq= f, ts); =20 /* Check if receive descriptor minimum threshold hit */ if (igb_rx_descr_threshold_hit(core, rxr.i)) { @@ -3305,6 +3362,8 @@ static const readops igb_macreg_readops[] =3D { [EIAM] =3D igb_mac_readreg, [IVAR0 ... IVAR0 + 7] =3D igb_mac_readreg, igb_getreg(IVAR_MISC), + igb_getreg(TSYNCRXCFG), + [ETQF0 ... ETQF0 + 7] =3D igb_mac_readreg, igb_getreg(VT_CTL), [P2VMAILBOX0 ... P2VMAILBOX7] =3D igb_mac_readreg, [V2PMAILBOX0 ... V2PMAILBOX7] =3D igb_mac_vfmailbox_read, @@ -3712,6 +3771,8 @@ static const writeops igb_macreg_writeops[] =3D { [EIMS] =3D igb_set_eims, [IVAR0 ... IVAR0 + 7] =3D igb_mac_writereg, igb_putreg(IVAR_MISC), + igb_putreg(TSYNCRXCFG), + [ETQF0 ... ETQF0 + 7] =3D igb_mac_writereg, igb_putreg(VT_CTL), [P2VMAILBOX0 ... P2VMAILBOX7] =3D igb_set_pfmailbox, [V2PMAILBOX0 ... V2PMAILBOX7] =3D igb_set_vfmailbox, --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223862; cv=none; d=zohomail.com; s=zohoarc; b=IOZX4dvDDh6iHf1X/pa3hfovbmBrKCgb9xB1vbKdQErmvSUU55BRA7vA5IMOvFxcuiyDipCgzU19l0waMuuebY21aEHYSNKhp0fII7fjiVg0Bv8TC2k9PTzMrqypAp7Qapr3p5tHXiIcojmPXNudteeY14l5Oqb1L7/IqRAwV4E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223861; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=pp/9xkuxC/gq/G7v3vBMts7GKYikGcY/UqXta/10p5Q=; b=guRKwIaEF/xpzZoWfzPXScPb5kig/5XTytyHpQwTmxHWUJB7dL5Tgzz4OkXvbk6owumkx0AQgJc94C8dumOB3MMCVQex2SQtCAT2bgXIbheEDscqiDpw4WsaqpxrdLxKplyNp4CKDGwxwZ53sGSnLQJ0oXGIyfx7M/DRGy4gueU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223861992351.4349547288589; Sat, 22 Apr 2023 21:24:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqREE-0007Fj-6U; Sun, 23 Apr 2023 00:21:39 -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 1pqRDo-0006NX-PV for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:21:10 -0400 Received: from mail-pl1-x62c.google.com ([2607:f8b0:4864:20::62c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRDn-0001MY-7Y for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:21:08 -0400 Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-1a66e7a52d3so27414915ad.0 for ; Sat, 22 Apr 2023 21:21:06 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.21.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:21:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223665; x=1684815665; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=pp/9xkuxC/gq/G7v3vBMts7GKYikGcY/UqXta/10p5Q=; b=Objv0mvThYKlW51Z9INaT84EHJj5Z3Q9VbXTK3OCMqKinBbpd32qqLF5Wc9q1juBRL eLEXQcF1ztVmppdFD8MkmfB3BVZqzd74Y5JiZBTObdxgSKZLvTAaHpRxJtzR7CwqTn+A JfsbSWhbto4lKUDLhLijCeV+Xto8q+kUtUsfiAPjCJMTFjqm/rO7aLZdwFm3EEI/evGf Q2qpjMHMxY6DUyRQMjTtaqUOBoVyc2q/vttfw2Mq2qGQ8QEIxAi8zaF6+DUGFBrKVwBF uZxsNynIx03mu5sfZiRP8BKDQWTPJfhcqFDdIm42Vi8X/9PbYwedeNrTEu052XW6QyC4 m+6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223665; x=1684815665; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=pp/9xkuxC/gq/G7v3vBMts7GKYikGcY/UqXta/10p5Q=; b=Blwc4KzQPR3URqSOPwB/pSzSCZMxjVeh2dpkIpmWUSkQ/zHyqZDK98Q7X4q9gS8P99 yJ5hs8sesSL2z231mtw8qGlSPyAM5sWJaAD+j+DTiytse8VVR2KNeuvvuky6pwF6ulFG jrcTE66Dhc87IC7bfxvy4E+FZ1cvxVDbvTAfQKm75Y8PcZVhqHWsNmOoqxLBAX/FW9UK 1AZ0JxUhlPxWcGEiAnA9fBPypxUYiSaw90K+Gt5KkzxZbJDn3gZIdDS3X1Tvey+FzYBf TsHll8OrTlTJ0x050gYOj4K6LrucZRav1JNWnzI9aXr6fN6tORhFmVeEMrvWYe0Iv+4k Gvyg== X-Gm-Message-State: AAQBX9eJs9nk704+OArDvPynJ/Xf2m/60sX63vYuEZ+iXDkJ0zFA79lQ ZoS6aTXd77ClscD5NBeG3FZSBA== X-Google-Smtp-Source: AKy350aIVw8v6PEgWn4ittb9IQm51Kop+vNyFfS89oRtrc6HZgMkdzpzSvwZEtmO9yJhKRc9EWhsfw== X-Received: by 2002:a17:902:b944:b0:1a6:c81d:5f4d with SMTP id h4-20020a170902b94400b001a6c81d5f4dmr9821050pls.10.1682223665610; Sat, 22 Apr 2023 21:21:05 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 42/47] igb: Implement Tx timestamp Date: Sun, 23 Apr 2023 13:18:28 +0900 Message-Id: <20230423041833.5302-43-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::62c; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x62c.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223862668100004 Content-Type: text/plain; charset="utf-8" Signed-off-by: Akihiko Odaki Reviewed-by: Sriram Yagnaraman --- hw/net/igb_regs.h | 3 +++ hw/net/igb_core.c | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/hw/net/igb_regs.h b/hw/net/igb_regs.h index 894705599d..82ff195dfc 100644 --- a/hw/net/igb_regs.h +++ b/hw/net/igb_regs.h @@ -322,6 +322,9 @@ union e1000_adv_rx_desc { /* E1000_EITR_CNT_IGNR is only for 82576 and newer */ #define E1000_EITR_CNT_IGNR 0x80000000 /* Don't reset counters on writ= e */ =20 +#define E1000_TSYNCTXCTL_VALID 0x00000001 /* tx timestamp valid */ +#define E1000_TSYNCTXCTL_ENABLED 0x00000010 /* enable tx timestampping */ + /* PCI Express Control */ #define E1000_GCR_CMPL_TMOUT_MASK 0x0000F000 #define E1000_GCR_CMPL_TMOUT_10ms 0x00001000 diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index 627d75d370..1519a90aa6 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -659,6 +659,13 @@ igb_process_tx_desc(IGBCore *core, tx->ctx[idx].vlan_macip_lens >> IGB_TX_FLAGS_VLAN_SHIFT, !!(tx->first_cmd_type_len & E1000_TXD_CMD_VLE)); =20 + if ((tx->first_cmd_type_len & E1000_ADVTXD_MAC_TSTAMP) && + (core->mac[TSYNCTXCTL] & E1000_TSYNCTXCTL_ENABLED) && + !(core->mac[TSYNCTXCTL] & E1000_TSYNCTXCTL_VALID)) { + core->mac[TSYNCTXCTL] |=3D E1000_TSYNCTXCTL_VALID; + e1000x_timestamp(core->mac, core->timadj, TXSTMPL, TXSTMPH= ); + } + if (igb_tx_pkt_send(core, tx, queue_index)) { igb_on_tx_done_update_stats(core, tx->tx_pkt, queue_index); } --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223884; cv=none; d=zohomail.com; s=zohoarc; b=jycDUVoTZTNUPzEUaJ3WrLCnvvp/ydqzJtb5GEU2VCXPXNaTqwmZhxQnTe93HLPPmMVAIj3y1mBUWzYDY/GOJVPgR3vYzAs00K4UwT68T7DooSCsOyqZbqtupzw43Pci1II0VeeqxamiqoG8kAmfLGqsDkKOtOc4ZUtIVGCKQXg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223884; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=KPyCZWCVVg6wHqDWD/p3CCxFj3CRpWbe+8CQ620i9Po=; b=aGiZNeU78zMuT0tXIGmZiMi26Urk3f5endt/0mKXsUeRm2jth0JbyoP9/O99o5jRvZsOfgQy8juzbM9CnyunTHtZy/bUgEDAL00I2E3yV4uXmKW22AM12oRACo+0kkmj1RohIxzSoFcI/WM4tV1NvkNpRMBZSs9WRtcoPizcilQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223884914825.0627815458149; Sat, 22 Apr 2023 21:24:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqREU-0007XI-1R; Sun, 23 Apr 2023 00:21:50 -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 1pqRDu-0006U7-S4 for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:21:15 -0400 Received: from mail-pl1-x629.google.com ([2607:f8b0:4864:20::629]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRDr-0001Mu-Lb for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:21:13 -0400 Received: by mail-pl1-x629.google.com with SMTP id d9443c01a7336-1a814fe0ddeso38398485ad.2 for ; Sat, 22 Apr 2023 21:21:09 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.21.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:21:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223669; x=1684815669; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=KPyCZWCVVg6wHqDWD/p3CCxFj3CRpWbe+8CQ620i9Po=; b=fMsFzNWef2wpS4qz7XKKEw9O23LElOftko18ET/08GMtXnBkV+ioyqRN4Tll8skbGq besOBMpJwJgfxEObraTX7jrDUcemAV0bzZYi4gfDZkNWBTin0SrcjHyYZU2bXF8UIJfj SLlzBbdwlPD6qGU7jlt19z5LCx6ni/axb/Ohmvi5UjNKyfzA2LG7weTddZQ4H1dwqMSH /GMjTX6necL+6YYhSOS+Zj46uD3n5xTH8A5RHTdAjDZmgRhvKiMpHuLcKfqmk/6B4fRr MegxQEJ9ccki4r3o3INZl8agw6LJjwd5PVuzva2DOA+8ERN3qgLVPYM6rZo62JHZFzm0 62sg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223669; x=1684815669; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KPyCZWCVVg6wHqDWD/p3CCxFj3CRpWbe+8CQ620i9Po=; b=ei848BsoVmIXnGSgmr8ruikHd9kIiECe3eeQftMSa5BAHIgfJI0TI7jfUg3LAnMUTS hoX3yAwo1nMevPWoFFiabYnhqxqmyX3SEsKDMJV00bioaTf+HHfap4JW8ZRjEyLnJT/Q WNUEmo0qAO9rxzEaQtKU0jbTrpoLU3m7cRnq2EfEqxtHLfnCgb0fomVFzLq//UKBah1m Q7RXEoWnnMiB6WczpmD/8Derr8Ot6oUl3hjHyOIBH3dSIAPyiLbOqCtibDzoX+FGxHRk 2Hmn3rRFPW+Yz5rgB6rq8aeiKX7/mSDjKVyTWbjvxaYbm/XLzFX5hULeClmHp2yPXIbu 6FCQ== X-Gm-Message-State: AAQBX9d9X3upmmOhLnJcsCOx05L0UNiCSs1OSXQFCDzee4+kHJdAEI6P eiyTbRL2jETx0clfp79k/fT8JA== X-Google-Smtp-Source: AKy350ZXaXxl/AgbpuwjDFn1vOUmtMX68EEjEtDXnNLBDg6vBRXbb4EV0UptMZGSAKgMdfIbOcQzJw== X-Received: by 2002:a17:903:249:b0:1a6:7510:170a with SMTP id j9-20020a170903024900b001a67510170amr11337201plh.11.1682223668996; Sat, 22 Apr 2023 21:21:08 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 43/47] e1000e: Notify only new interrupts Date: Sun, 23 Apr 2023 13:18:29 +0900 Message-Id: <20230423041833.5302-44-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::629; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x629.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223886887100003 Content-Type: text/plain; charset="utf-8" In MSI-X mode, if there are interrupts already notified but not cleared and a new interrupt arrives, e1000e incorrectly notifies the notified ones again along with the new one. To fix this issue, replace e1000e_update_interrupt_state() with two new functions: e1000e_raise_interrupts() and e1000e_lower_interrupts(). These functions don't only raise or lower interrupts, but it also performs register writes which updates the interrupt state. Before it performs a register write, these function determines the interrupts already raised, and compares with the interrupts raised after the register write to determine the interrupts to notify. The introduction of these functions made tracepoints which assumes that the caller of e1000e_update_interrupt_state() performs register writes obsolete. These tracepoints are now removed, and alternative ones are added to the new functions. Signed-off-by: Akihiko Odaki --- hw/net/e1000e_core.h | 2 - hw/net/e1000e_core.c | 153 +++++++++++++++++++------------------------ hw/net/trace-events | 2 + 3 files changed, 69 insertions(+), 88 deletions(-) diff --git a/hw/net/e1000e_core.h b/hw/net/e1000e_core.h index 213a70530d..66b025cc43 100644 --- a/hw/net/e1000e_core.h +++ b/hw/net/e1000e_core.h @@ -111,8 +111,6 @@ struct E1000Core { PCIDevice *owner; void (*owner_start_recv)(PCIDevice *d); =20 - uint32_t msi_causes_pending; - int64_t timadj; }; =20 diff --git a/hw/net/e1000e_core.c b/hw/net/e1000e_core.c index 347162a9d0..78373d7db7 100644 --- a/hw/net/e1000e_core.c +++ b/hw/net/e1000e_core.c @@ -165,14 +165,14 @@ e1000e_intrmgr_on_throttling_timer(void *opaque) =20 timer->running =3D false; =20 - if (msi_enabled(timer->core->owner)) { - trace_e1000e_irq_msi_notify_postponed(); - /* Clear msi_causes_pending to fire MSI eventually */ - timer->core->msi_causes_pending =3D 0; - e1000e_set_interrupt_cause(timer->core, 0); - } else { - trace_e1000e_irq_legacy_notify_postponed(); - e1000e_set_interrupt_cause(timer->core, 0); + if (timer->core->mac[IMS] & timer->core->mac[ICR]) { + if (msi_enabled(timer->core->owner)) { + trace_e1000e_irq_msi_notify_postponed(); + msi_notify(timer->core->owner, 0); + } else { + trace_e1000e_irq_legacy_notify_postponed(); + e1000e_raise_legacy_irq(timer->core); + } } } =20 @@ -366,10 +366,6 @@ static void e1000e_intrmgr_fire_all_timers(E1000ECore *core) { int i; - uint32_t val =3D e1000e_intmgr_collect_delayed_causes(core); - - trace_e1000e_irq_adding_delayed_causes(val, core->mac[ICR]); - core->mac[ICR] |=3D val; =20 if (core->itr.running) { timer_del(core->itr.timer); @@ -1974,13 +1970,6 @@ void(*e1000e_phyreg_writeops[E1000E_PHY_PAGES][E1000= E_PHY_PAGE_SIZE]) } }; =20 -static inline void -e1000e_clear_ims_bits(E1000ECore *core, uint32_t bits) -{ - trace_e1000e_irq_clear_ims(bits, core->mac[IMS], core->mac[IMS] & ~bit= s); - core->mac[IMS] &=3D ~bits; -} - static inline bool e1000e_postpone_interrupt(E1000IntrDelayTimer *timer) { @@ -2038,7 +2027,6 @@ e1000e_msix_notify_one(E1000ECore *core, uint32_t cau= se, uint32_t int_cfg) effective_eiac =3D core->mac[EIAC] & cause; =20 core->mac[ICR] &=3D ~effective_eiac; - core->msi_causes_pending &=3D ~effective_eiac; =20 if (!(core->mac[CTRL_EXT] & E1000_CTRL_EXT_IAME)) { core->mac[IMS] &=3D ~effective_eiac; @@ -2130,33 +2118,17 @@ e1000e_fix_icr_asserted(E1000ECore *core) trace_e1000e_irq_fix_icr_asserted(core->mac[ICR]); } =20 -static void -e1000e_send_msi(E1000ECore *core, bool msix) +static void e1000e_raise_interrupts(E1000ECore *core, + size_t index, uint32_t causes) { - uint32_t causes =3D core->mac[ICR] & core->mac[IMS] & ~E1000_ICR_ASSER= TED; - - core->msi_causes_pending &=3D causes; - causes ^=3D core->msi_causes_pending; - if (causes =3D=3D 0) { - return; - } - core->msi_causes_pending |=3D causes; + bool is_msix =3D msix_enabled(core->owner); + uint32_t old_causes =3D core->mac[IMS] & core->mac[ICR]; + uint32_t raised_causes; =20 - if (msix) { - e1000e_msix_notify(core, causes); - } else { - if (!e1000e_itr_should_postpone(core)) { - trace_e1000e_irq_msi_notify(causes); - msi_notify(core->owner, 0); - } - } -} + trace_e1000e_irq_set(index << 2, + core->mac[index], core->mac[index] | causes); =20 -static void -e1000e_update_interrupt_state(E1000ECore *core) -{ - bool interrupts_pending; - bool is_msix =3D msix_enabled(core->owner); + core->mac[index] |=3D causes; =20 /* Set ICR[OTHER] for MSI-X */ if (is_msix) { @@ -2178,40 +2150,58 @@ e1000e_update_interrupt_state(E1000ECore *core) */ core->mac[ICS] =3D core->mac[ICR]; =20 - interrupts_pending =3D (core->mac[IMS] & core->mac[ICR]) ? true : fals= e; - if (!interrupts_pending) { - core->msi_causes_pending =3D 0; - } - trace_e1000e_irq_pending_interrupts(core->mac[ICR] & core->mac[IMS], core->mac[ICR], core->mac[IMS]); =20 - if (is_msix || msi_enabled(core->owner)) { - if (interrupts_pending) { - e1000e_send_msi(core, is_msix); - } - } else { - if (interrupts_pending) { - if (!e1000e_itr_should_postpone(core)) { - e1000e_raise_legacy_irq(core); - } + raised_causes =3D core->mac[IMS] & core->mac[ICR] & ~old_causes; + if (!raised_causes) { + return; + } + + if (is_msix) { + e1000e_msix_notify(core, raised_causes & ~E1000_ICR_ASSERTED); + } else if (!e1000e_itr_should_postpone(core)) { + if (msi_enabled(core->owner)) { + trace_e1000e_irq_msi_notify(raised_causes); + msi_notify(core->owner, 0); } else { - e1000e_lower_legacy_irq(core); + e1000e_raise_legacy_irq(core); } } } =20 -static void -e1000e_set_interrupt_cause(E1000ECore *core, uint32_t val) +static void e1000e_lower_interrupts(E1000ECore *core, + size_t index, uint32_t causes) { - trace_e1000e_irq_set_cause_entry(val, core->mac[ICR]); + trace_e1000e_irq_clear(index << 2, + core->mac[index], core->mac[index] & ~causes); =20 - val |=3D e1000e_intmgr_collect_delayed_causes(core); - core->mac[ICR] |=3D val; + core->mac[index] &=3D ~causes; =20 - trace_e1000e_irq_set_cause_exit(val, core->mac[ICR]); + /* + * Make sure ICR and ICS registers have the same value. + * The spec says that the ICS register is write-only. However in prac= tice, + * on real hardware ICS is readable, and for reads it has the same val= ue as + * ICR (except that ICS does not have the clear on read behaviour of I= CR). + * + * The VxWorks PRO/1000 driver uses this behaviour. + */ + core->mac[ICS] =3D core->mac[ICR]; + + trace_e1000e_irq_pending_interrupts(core->mac[ICR] & core->mac[IMS], + core->mac[ICR], core->mac[IMS]); =20 - e1000e_update_interrupt_state(core); + if (!(core->mac[IMS] & core->mac[ICR]) && + !msix_enabled(core->owner) && !msi_enabled(core->owner)) { + e1000e_lower_legacy_irq(core); + } +} + +static void +e1000e_set_interrupt_cause(E1000ECore *core, uint32_t val) +{ + val |=3D e1000e_intmgr_collect_delayed_causes(core); + e1000e_raise_interrupts(core, ICR, val); } =20 static inline void @@ -2477,30 +2467,27 @@ e1000e_set_ics(E1000ECore *core, int index, uint32_= t val) static void e1000e_set_icr(E1000ECore *core, int index, uint32_t val) { - uint32_t icr =3D 0; if ((core->mac[ICR] & E1000_ICR_ASSERTED) && (core->mac[CTRL_EXT] & E1000_CTRL_EXT_IAME)) { trace_e1000e_irq_icr_process_iame(); - e1000e_clear_ims_bits(core, core->mac[IAM]); + e1000e_lower_interrupts(core, IMS, core->mac[IAM]); } =20 - icr =3D core->mac[ICR] & ~val; /* * Windows driver expects that the "receive overrun" bit and other * ones to be cleared when the "Other" bit (#24) is cleared. */ - icr =3D (val & E1000_ICR_OTHER) ? (icr & ~E1000_ICR_OTHER_CAUSES) : ic= r; - trace_e1000e_irq_icr_write(val, core->mac[ICR], icr); - core->mac[ICR] =3D icr; - e1000e_update_interrupt_state(core); + if (val & E1000_ICR_OTHER) { + val |=3D E1000_ICR_OTHER_CAUSES; + } + e1000e_lower_interrupts(core, ICR, val); } =20 static void e1000e_set_imc(E1000ECore *core, int index, uint32_t val) { trace_e1000e_irq_ims_clear_set_imc(val); - e1000e_clear_ims_bits(core, val); - e1000e_update_interrupt_state(core); + e1000e_lower_interrupts(core, IMS, val); } =20 static void @@ -2521,9 +2508,6 @@ e1000e_set_ims(E1000ECore *core, int index, uint32_t = val) =20 uint32_t valid_val =3D val & ims_valid_mask; =20 - trace_e1000e_irq_set_ims(val, core->mac[IMS], core->mac[IMS] | valid_v= al); - core->mac[IMS] |=3D valid_val; - if ((valid_val & ims_ext_mask) && (core->mac[CTRL_EXT] & E1000_CTRL_EXT_PBA_CLR) && msix_enabled(core->owner)) { @@ -2536,7 +2520,7 @@ e1000e_set_ims(E1000ECore *core, int index, uint32_t = val) e1000e_intrmgr_fire_all_timers(core); } =20 - e1000e_update_interrupt_state(core); + e1000e_raise_interrupts(core, IMS, valid_val); } =20 static void @@ -2609,28 +2593,25 @@ static uint32_t e1000e_mac_icr_read(E1000ECore *core, int index) { uint32_t ret =3D core->mac[ICR]; - trace_e1000e_irq_icr_read_entry(ret); =20 if (core->mac[IMS] =3D=3D 0) { trace_e1000e_irq_icr_clear_zero_ims(); - core->mac[ICR] =3D 0; + e1000e_lower_interrupts(core, ICR, 0xffffffff); } =20 if (!msix_enabled(core->owner)) { trace_e1000e_irq_icr_clear_nonmsix_icr_read(); - core->mac[ICR] =3D 0; + e1000e_lower_interrupts(core, ICR, 0xffffffff); } =20 if ((core->mac[ICR] & E1000_ICR_ASSERTED) && (core->mac[CTRL_EXT] & E1000_CTRL_EXT_IAME)) { trace_e1000e_irq_icr_clear_iame(); - core->mac[ICR] =3D 0; + e1000e_lower_interrupts(core, ICR, 0xffffffff); trace_e1000e_irq_icr_process_iame(); - e1000e_clear_ims_bits(core, core->mac[IAM]); + e1000e_lower_interrupts(core, IMS, core->mac[IAM]); } =20 - trace_e1000e_irq_icr_read_exit(core->mac[ICR]); - e1000e_update_interrupt_state(core); return ret; } =20 diff --git a/hw/net/trace-events b/hw/net/trace-events index 64d776bc2a..d171dc8179 100644 --- a/hw/net/trace-events +++ b/hw/net/trace-events @@ -205,6 +205,8 @@ e1000e_irq_msix_notify_postponed_vec(int idx) "Sending = MSI-X postponed by EITR[% e1000e_irq_legacy_notify(bool level) "IRQ line state: %d" e1000e_irq_msix_notify_vec(uint32_t vector) "MSI-X notify vector 0x%x" e1000e_irq_postponed_by_xitr(uint32_t reg) "Interrupt postponed by [E]ITR = register 0x%x" +e1000e_irq_clear(uint32_t offset, uint32_t old, uint32_t new) "Clearing in= terrupt register 0x%x: 0x%x --> 0x%x" +e1000e_irq_set(uint32_t offset, uint32_t old, uint32_t new) "Setting inter= rupt register 0x%x: 0x%x --> 0x%x" e1000e_irq_clear_ims(uint32_t bits, uint32_t old_ims, uint32_t new_ims) "C= learing IMS bits 0x%x: 0x%x --> 0x%x" e1000e_irq_set_ims(uint32_t bits, uint32_t old_ims, uint32_t new_ims) "Set= ting IMS bits 0x%x: 0x%x --> 0x%x" e1000e_irq_fix_icr_asserted(uint32_t new_val) "ICR_ASSERTED bit fixed: 0x%= x" --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223754; cv=none; d=zohomail.com; s=zohoarc; b=PIUOwlWkCTR45P3mQSHQOzdtDYqgam+V+xVgKsKvtwD5SRKROQbF3T66z7QNZKB4C46Z+oY6kOygCxV5/c9gE5GSCgXLdoqbhJOrqd+7nUsYih8yTeLbuSxUbkzjmKgDBRaLFxR8Wi8hd9AK0tKL5Jk4eqgjElw2L1697CnkyZY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223754; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=Q+AuBj07OtYiExVNVvJSB3bmr3EDOflXGDDW8dZZfqA=; b=bpq7SdPaVq8+Cq04+yS8OyJkOBSGkm4fHeG+2FkYCEY3Oxt9Jy6fBWaAS9NZ2kqKFF2rUrRuOy4GFuOBfufucQQpsDpXwjkoR5ylKcUnuEj+e1FAuBuZfM1OPPucokgb+6rUYT0AcrWswabnkKqPjwvTjU1yZH8IiveTbrvHDsM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223754837487.62357990163207; Sat, 22 Apr 2023 21:22:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRE0-0006xA-CL; Sun, 23 Apr 2023 00:21:20 -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 1pqRDw-0006Vz-K2 for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:21:16 -0400 Received: from mail-pl1-x631.google.com ([2607:f8b0:4864:20::631]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRDt-0001NC-RS for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:21:16 -0400 Received: by mail-pl1-x631.google.com with SMTP id d9443c01a7336-1a66911f5faso29142575ad.0 for ; Sat, 22 Apr 2023 21:21:13 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.21.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:21:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223672; x=1684815672; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Q+AuBj07OtYiExVNVvJSB3bmr3EDOflXGDDW8dZZfqA=; b=Ks4nw68cERUQx0MZHzHOnaQMgv1q9et9q4CylODP/In9WJKP5LXlu6gwxbREiVWHhV 1KowuA7Z97dk9mdegirXEWvO0YxVVwedtAzlyvaW9w+zwuulFyUe0ddkdpeNZ7xIhS38 pBeVmWYEKRdZVu7uM7ek0vEqjCK9fTmHGpzaTZsaaRtAckyRt5ZSpXD9zX2McrxelvAu fUQW/UQg++AziXyDHLBBAmgprPFVdbYBlh8U932PFRAvs8bcuWFZO7K1JIKF7Pg8vP0V V5JW26xjZNugcfV60stQr8SJdZA93YTn4jCmbPJMbp68XFGfGfoCCJujoZylBqnwYypH a1sA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223672; x=1684815672; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Q+AuBj07OtYiExVNVvJSB3bmr3EDOflXGDDW8dZZfqA=; b=UnHz703/xfDCBbUgxKi9RsX6BtQz3Xp8FXP8T5uepT1W+DASKR2nr2SaLhOfRmoamD +ionO6z0shtrkzgE7KGEZQJrZDP0K5YMv3Gf9+jHbE9Nl+418SEDciMyxcPiBJ0Eu9Ih ehtQTonl0O/otlLb1eVmsruM90LLmDIoi5ybG+rXcH5iW85w/21VY6apV7991dDOoh1C aW3/fQv728eyLvtgCvjAcFJGxwohZ5swQrGUaIUtPF6im0QSSGCYhPR2NT8qgsMDDvzy Mo06wC4ivUhF/8K/c3lduQVcgDuYPEvBywPfEXht2LHvGFZyzfIJbjb+06c1HWmcJe5Y wIUg== X-Gm-Message-State: AAQBX9dgQYD2nJScPxHFYwemFy8n1nfxSuYOnGsCx4qFRTavzvY7Atgs 9jgo37cE8dDKrgWV2hoXxm8USg== X-Google-Smtp-Source: AKy350YEn8JOMQkAzy+Dj0IYesho3rKw1Kon6ixv/xtQ/Gdw+Fua5OoOrQzPGulaMxKc3+EUsKMJnw== X-Received: by 2002:a17:902:7048:b0:1a6:b608:5058 with SMTP id h8-20020a170902704800b001a6b6085058mr10059700plt.59.1682223672415; Sat, 22 Apr 2023 21:21:12 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 44/47] igb: Notify only new interrupts Date: Sun, 23 Apr 2023 13:18:30 +0900 Message-Id: <20230423041833.5302-45-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::631; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x631.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223756245100001 Content-Type: text/plain; charset="utf-8" This follows the corresponding change for e1000e. This fixes: tests/avocado/netdev-ethtool.py:NetDevEthtool.test_igb Signed-off-by: Akihiko Odaki --- hw/net/igb_core.c | 201 ++++++++---------- hw/net/trace-events | 11 +- .../org.centos/stream/8/x86_64/test-avocado | 1 + tests/avocado/netdev-ethtool.py | 4 - 4 files changed, 87 insertions(+), 130 deletions(-) diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index 1519a90aa6..96b7335b31 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -94,10 +94,7 @@ static ssize_t igb_receive_internal(IGBCore *core, const struct iovec *iov, int iovcnt, bool has_vnet, bool *external_tx); =20 -static inline void -igb_set_interrupt_cause(IGBCore *core, uint32_t val); - -static void igb_update_interrupt_state(IGBCore *core); +static void igb_raise_interrupts(IGBCore *core, size_t index, uint32_t cau= ses); static void igb_reset(IGBCore *core, bool sw); =20 static inline void @@ -913,8 +910,8 @@ igb_start_xmit(IGBCore *core, const IGB_TxRing *txr) } =20 if (eic) { - core->mac[EICR] |=3D eic; - igb_set_interrupt_cause(core, E1000_ICR_TXDW); + igb_raise_interrupts(core, EICR, eic); + igb_raise_interrupts(core, ICR, E1000_ICR_TXDW); } =20 net_tx_pkt_reset(txr->tx->tx_pkt, net_tx_pkt_unmap_frag_pci, d); @@ -1686,6 +1683,7 @@ igb_receive_internal(IGBCore *core, const struct iove= c *iov, int iovcnt, { uint16_t queues =3D 0; uint32_t causes =3D 0; + uint32_t ecauses =3D 0; union { L2Header l2_header; uint8_t octets[ETH_ZLEN]; @@ -1788,13 +1786,14 @@ igb_receive_internal(IGBCore *core, const struct io= vec *iov, int iovcnt, causes |=3D E1000_ICS_RXDMT0; } =20 - core->mac[EICR] |=3D igb_rx_wb_eic(core, rxr.i->idx); + ecauses |=3D igb_rx_wb_eic(core, rxr.i->idx); =20 trace_e1000e_rx_written_to_guest(rxr.i->idx); } =20 trace_e1000e_rx_interrupt_set(causes); - igb_set_interrupt_cause(core, causes); + igb_raise_interrupts(core, EICR, ecauses); + igb_raise_interrupts(core, ICR, causes); =20 return orig_size; } @@ -1854,7 +1853,7 @@ void igb_core_set_link_status(IGBCore *core) } =20 if (core->mac[STATUS] !=3D old_status) { - igb_set_interrupt_cause(core, E1000_ICR_LSC); + igb_raise_interrupts(core, ICR, E1000_ICR_LSC); } } =20 @@ -1934,13 +1933,6 @@ igb_set_rx_control(IGBCore *core, int index, uint32_= t val) } } =20 -static inline void -igb_clear_ims_bits(IGBCore *core, uint32_t bits) -{ - trace_e1000e_irq_clear_ims(bits, core->mac[IMS], core->mac[IMS] & ~bit= s); - core->mac[IMS] &=3D ~bits; -} - static inline bool igb_postpone_interrupt(IGBIntrDelayTimer *timer) { @@ -1963,9 +1955,8 @@ igb_eitr_should_postpone(IGBCore *core, int idx) return igb_postpone_interrupt(&core->eitr[idx]); } =20 -static void igb_send_msix(IGBCore *core) +static void igb_send_msix(IGBCore *core, uint32_t causes) { - uint32_t causes =3D core->mac[EICR] & core->mac[EIMS]; int vector; =20 for (vector =3D 0; vector < IGB_INTR_NUM; ++vector) { @@ -1988,124 +1979,116 @@ igb_fix_icr_asserted(IGBCore *core) trace_e1000e_irq_fix_icr_asserted(core->mac[ICR]); } =20 -static void -igb_update_interrupt_state(IGBCore *core) +static void igb_raise_interrupts(IGBCore *core, size_t index, uint32_t cau= ses) { - uint32_t icr; - uint32_t causes; + uint32_t old_causes =3D core->mac[ICR] & core->mac[IMS]; + uint32_t old_ecauses =3D core->mac[EICR] & core->mac[EIMS]; + uint32_t raised_causes; + uint32_t raised_ecauses; uint32_t int_alloc; =20 - icr =3D core->mac[ICR] & core->mac[IMS]; + trace_e1000e_irq_set(index << 2, + core->mac[index], core->mac[index] | causes); + + core->mac[index] |=3D causes; =20 if (core->mac[GPIE] & E1000_GPIE_MSIX_MODE) { - if (icr) { - causes =3D 0; - if (icr & E1000_ICR_DRSTA) { - int_alloc =3D core->mac[IVAR_MISC] & 0xff; - if (int_alloc & E1000_IVAR_VALID) { - causes |=3D BIT(int_alloc & 0x1f); - } + raised_causes =3D core->mac[ICR] & core->mac[IMS] & ~old_causes; + + if (raised_causes & E1000_ICR_DRSTA) { + int_alloc =3D core->mac[IVAR_MISC] & 0xff; + if (int_alloc & E1000_IVAR_VALID) { + core->mac[EICR] |=3D BIT(int_alloc & 0x1f); } - /* Check if other bits (excluding the TCP Timer) are enabled. = */ - if (icr & ~E1000_ICR_DRSTA) { - int_alloc =3D (core->mac[IVAR_MISC] >> 8) & 0xff; - if (int_alloc & E1000_IVAR_VALID) { - causes |=3D BIT(int_alloc & 0x1f); - } - trace_e1000e_irq_add_msi_other(core->mac[EICR]); + } + /* Check if other bits (excluding the TCP Timer) are enabled. */ + if (raised_causes & ~E1000_ICR_DRSTA) { + int_alloc =3D (core->mac[IVAR_MISC] >> 8) & 0xff; + if (int_alloc & E1000_IVAR_VALID) { + core->mac[EICR] |=3D BIT(int_alloc & 0x1f); } - core->mac[EICR] |=3D causes; } =20 - if ((core->mac[EICR] & core->mac[EIMS])) { - igb_send_msix(core); + raised_ecauses =3D core->mac[EICR] & core->mac[EIMS] & ~old_ecause= s; + if (!raised_ecauses) { + return; } + + igb_send_msix(core, raised_ecauses); } else { igb_fix_icr_asserted(core); =20 - if (icr) { - core->mac[EICR] |=3D (icr & E1000_ICR_DRSTA) | E1000_EICR_OTHE= R; - } else { - core->mac[EICR] &=3D ~E1000_EICR_OTHER; + raised_causes =3D core->mac[ICR] & core->mac[IMS] & ~old_causes; + if (!raised_causes) { + return; } =20 - trace_e1000e_irq_pending_interrupts(core->mac[ICR] & core->mac[IMS= ], - core->mac[ICR], core->mac[IMS]= ); + core->mac[EICR] |=3D (raised_causes & E1000_ICR_DRSTA) | E1000_EIC= R_OTHER; =20 if (msix_enabled(core->owner)) { - if (icr) { - trace_e1000e_irq_msix_notify_vec(0); - msix_notify(core->owner, 0); - } + trace_e1000e_irq_msix_notify_vec(0); + msix_notify(core->owner, 0); } else if (msi_enabled(core->owner)) { - if (icr) { - msi_notify(core->owner, 0); - } + trace_e1000e_irq_msi_notify(raised_causes); + msi_notify(core->owner, 0); } else { - if (icr) { - igb_raise_legacy_irq(core); - } else { - igb_lower_legacy_irq(core); - } + igb_raise_legacy_irq(core); } } } =20 -static void -igb_set_interrupt_cause(IGBCore *core, uint32_t val) +static void igb_lower_interrupts(IGBCore *core, size_t index, uint32_t cau= ses) { - trace_e1000e_irq_set_cause_entry(val, core->mac[ICR]); + trace_e1000e_irq_clear(index << 2, + core->mac[index], core->mac[index] & ~causes); + + core->mac[index] &=3D ~causes; =20 - core->mac[ICR] |=3D val; + trace_e1000e_irq_pending_interrupts(core->mac[ICR] & core->mac[IMS], + core->mac[ICR], core->mac[IMS]); =20 - trace_e1000e_irq_set_cause_exit(val, core->mac[ICR]); + if (!(core->mac[ICR] & core->mac[IMS]) && + !(core->mac[GPIE] & E1000_GPIE_MSIX_MODE)) { + core->mac[EICR] &=3D ~E1000_EICR_OTHER; =20 - igb_update_interrupt_state(core); + if (!msix_enabled(core->owner) && !msi_enabled(core->owner)) { + igb_lower_legacy_irq(core); + } + } } =20 static void igb_set_eics(IGBCore *core, int index, uint32_t val) { bool msix =3D !!(core->mac[GPIE] & E1000_GPIE_MSIX_MODE); + uint32_t mask =3D msix ? E1000_EICR_MSIX_MASK : E1000_EICR_LEGACY_MASK; =20 trace_igb_irq_write_eics(val, msix); - - core->mac[EICS] |=3D - val & (msix ? E1000_EICR_MSIX_MASK : E1000_EICR_LEGACY_MASK); - - /* - * TODO: Move to igb_update_interrupt_state if EICS is modified in oth= er - * places. - */ - core->mac[EICR] =3D core->mac[EICS]; - - igb_update_interrupt_state(core); + igb_raise_interrupts(core, EICR, val & mask); } =20 static void igb_set_eims(IGBCore *core, int index, uint32_t val) { bool msix =3D !!(core->mac[GPIE] & E1000_GPIE_MSIX_MODE); + uint32_t mask =3D msix ? E1000_EICR_MSIX_MASK : E1000_EICR_LEGACY_MASK; =20 trace_igb_irq_write_eims(val, msix); - - core->mac[EIMS] |=3D - val & (msix ? E1000_EICR_MSIX_MASK : E1000_EICR_LEGACY_MASK); - - igb_update_interrupt_state(core); + igb_raise_interrupts(core, EIMS, val & mask); } =20 static void mailbox_interrupt_to_vf(IGBCore *core, uint16_t vfn) { uint32_t ent =3D core->mac[VTIVAR_MISC + vfn]; + uint32_t causes; =20 if ((ent & E1000_IVAR_VALID)) { - core->mac[EICR] |=3D (ent & 0x3) << (22 - vfn * IGBVF_MSIX_VEC_NUM= ); - igb_update_interrupt_state(core); + causes =3D (ent & 0x3) << (22 - vfn * IGBVF_MSIX_VEC_NUM); + igb_raise_interrupts(core, EICR, causes); } } =20 static void mailbox_interrupt_to_pf(IGBCore *core) { - igb_set_interrupt_cause(core, E1000_ICR_VMMB); + igb_raise_interrupts(core, ICR, E1000_ICR_VMMB); } =20 static void igb_set_pfmailbox(IGBCore *core, int index, uint32_t val) @@ -2196,13 +2179,12 @@ static void igb_w1c(IGBCore *core, int index, uint3= 2_t val) static void igb_set_eimc(IGBCore *core, int index, uint32_t val) { bool msix =3D !!(core->mac[GPIE] & E1000_GPIE_MSIX_MODE); + uint32_t mask =3D msix ? E1000_EICR_MSIX_MASK : E1000_EICR_LEGACY_MASK; =20 - /* Interrupts are disabled via a write to EIMC and reflected in EIMS. = */ - core->mac[EIMS] &=3D - ~(val & (msix ? E1000_EICR_MSIX_MASK : E1000_EICR_LEGACY_MASK)); + trace_igb_irq_write_eimc(val, msix); =20 - trace_igb_irq_write_eimc(val, core->mac[EIMS], msix); - igb_update_interrupt_state(core); + /* Interrupts are disabled via a write to EIMC and reflected in EIMS. = */ + igb_lower_interrupts(core, EIMS, val & mask); } =20 static void igb_set_eiac(IGBCore *core, int index, uint32_t val) @@ -2242,11 +2224,10 @@ static void igb_set_eicr(IGBCore *core, int index, = uint32_t val) * TODO: In IOV mode, only bit zero of this vector is available for th= e PF * function. */ - core->mac[EICR] &=3D - ~(val & (msix ? E1000_EICR_MSIX_MASK : E1000_EICR_LEGACY_MASK)); + uint32_t mask =3D msix ? E1000_EICR_MSIX_MASK : E1000_EICR_LEGACY_MASK; =20 trace_igb_irq_write_eicr(val, msix); - igb_update_interrupt_state(core); + igb_lower_interrupts(core, EICR, val & mask); } =20 static void igb_set_vtctrl(IGBCore *core, int index, uint32_t val) @@ -2346,7 +2327,7 @@ igb_autoneg_timer(void *opaque) =20 igb_update_flowctl_status(core); /* signal link status change to the guest */ - igb_set_interrupt_cause(core, E1000_ICR_LSC); + igb_raise_interrupts(core, ICR, E1000_ICR_LSC); } } =20 @@ -2419,7 +2400,7 @@ igb_set_mdic(IGBCore *core, int index, uint32_t val) core->mac[MDIC] =3D val | E1000_MDIC_READY; =20 if (val & E1000_MDIC_INT_EN) { - igb_set_interrupt_cause(core, E1000_ICR_MDAC); + igb_raise_interrupts(core, ICR, E1000_ICR_MDAC); } } =20 @@ -2527,28 +2508,23 @@ static void igb_set_ics(IGBCore *core, int index, uint32_t val) { trace_e1000e_irq_write_ics(val); - igb_set_interrupt_cause(core, val); + igb_raise_interrupts(core, ICR, val); } =20 static void igb_set_imc(IGBCore *core, int index, uint32_t val) { trace_e1000e_irq_ims_clear_set_imc(val); - igb_clear_ims_bits(core, val); - igb_update_interrupt_state(core); + igb_lower_interrupts(core, IMS, val); } =20 static void igb_set_ims(IGBCore *core, int index, uint32_t val) { - uint32_t valid_val =3D val & 0x77D4FBFD; - - trace_e1000e_irq_set_ims(val, core->mac[IMS], core->mac[IMS] | valid_v= al); - core->mac[IMS] |=3D valid_val; - igb_update_interrupt_state(core); + igb_raise_interrupts(core, IMS, val & 0x77D4FBFD); } =20 -static void igb_commit_icr(IGBCore *core) +static void igb_nsicr(IGBCore *core) { /* * If GPIE.NSICR =3D 0, then the clear of IMS will occur only if at @@ -2557,19 +2533,14 @@ static void igb_commit_icr(IGBCore *core) */ if ((core->mac[GPIE] & E1000_GPIE_NSICR) || (core->mac[IMS] && (core->mac[ICR] & E1000_ICR_INT_ASSERTED))) { - igb_clear_ims_bits(core, core->mac[IAM]); + igb_lower_interrupts(core, IMS, core->mac[IAM]); } - - igb_update_interrupt_state(core); } =20 static void igb_set_icr(IGBCore *core, int index, uint32_t val) { - uint32_t icr =3D core->mac[ICR] & ~val; - - trace_igb_irq_icr_write(val, core->mac[ICR], icr); - core->mac[ICR] =3D icr; - igb_commit_icr(core); + igb_nsicr(core); + igb_lower_interrupts(core, ICR, val); } =20 static uint32_t @@ -2620,21 +2591,19 @@ static uint32_t igb_mac_icr_read(IGBCore *core, int index) { uint32_t ret =3D core->mac[ICR]; - trace_e1000e_irq_icr_read_entry(ret); =20 if (core->mac[GPIE] & E1000_GPIE_NSICR) { trace_igb_irq_icr_clear_gpie_nsicr(); - core->mac[ICR] =3D 0; + igb_lower_interrupts(core, ICR, 0xffffffff); } else if (core->mac[IMS] =3D=3D 0) { trace_e1000e_irq_icr_clear_zero_ims(); - core->mac[ICR] =3D 0; + igb_lower_interrupts(core, ICR, 0xffffffff); } else if (!msix_enabled(core->owner)) { trace_e1000e_irq_icr_clear_nonmsix_icr_read(); - core->mac[ICR] =3D 0; + igb_lower_interrupts(core, ICR, 0xffffffff); } =20 - trace_e1000e_irq_icr_read_exit(core->mac[ICR]); - igb_commit_icr(core); + igb_nsicr(core); return ret; } =20 diff --git a/hw/net/trace-events b/hw/net/trace-events index d171dc8179..e4a98b2c7d 100644 --- a/hw/net/trace-events +++ b/hw/net/trace-events @@ -207,21 +207,14 @@ e1000e_irq_msix_notify_vec(uint32_t vector) "MSI-X no= tify vector 0x%x" e1000e_irq_postponed_by_xitr(uint32_t reg) "Interrupt postponed by [E]ITR = register 0x%x" e1000e_irq_clear(uint32_t offset, uint32_t old, uint32_t new) "Clearing in= terrupt register 0x%x: 0x%x --> 0x%x" e1000e_irq_set(uint32_t offset, uint32_t old, uint32_t new) "Setting inter= rupt register 0x%x: 0x%x --> 0x%x" -e1000e_irq_clear_ims(uint32_t bits, uint32_t old_ims, uint32_t new_ims) "C= learing IMS bits 0x%x: 0x%x --> 0x%x" -e1000e_irq_set_ims(uint32_t bits, uint32_t old_ims, uint32_t new_ims) "Set= ting IMS bits 0x%x: 0x%x --> 0x%x" e1000e_irq_fix_icr_asserted(uint32_t new_val) "ICR_ASSERTED bit fixed: 0x%= x" e1000e_irq_add_msi_other(uint32_t new_val) "ICR_OTHER bit added: 0x%x" e1000e_irq_pending_interrupts(uint32_t pending, uint32_t icr, uint32_t ims= ) "ICR PENDING: 0x%x (ICR: 0x%x, IMS: 0x%x)" -e1000e_irq_set_cause_entry(uint32_t val, uint32_t icr) "Going to set IRQ c= ause 0x%x, ICR: 0x%x" -e1000e_irq_set_cause_exit(uint32_t val, uint32_t icr) "Set IRQ cause 0x%x,= ICR: 0x%x" -e1000e_irq_icr_write(uint32_t bits, uint32_t old_icr, uint32_t new_icr) "C= learing ICR bits 0x%x: 0x%x --> 0x%x" e1000e_irq_write_ics(uint32_t val) "Adding ICR bits 0x%x" e1000e_irq_icr_process_iame(void) "Clearing IMS bits due to IAME" e1000e_irq_read_ics(uint32_t ics) "Current ICS: 0x%x" e1000e_irq_read_ims(uint32_t ims) "Current IMS: 0x%x" e1000e_irq_icr_clear_nonmsix_icr_read(void) "Clearing ICR on read due to n= on MSI-X int" -e1000e_irq_icr_read_entry(uint32_t icr) "Starting ICR read. Current ICR: 0= x%x" -e1000e_irq_icr_read_exit(uint32_t icr) "Ending ICR read. Current ICR: 0x%x" e1000e_irq_icr_clear_zero_ims(void) "Clearing ICR on read due to zero IMS" e1000e_irq_icr_clear_iame(void) "Clearing ICR on read due to IAME" e1000e_irq_iam_clear_eiame(uint32_t iam, uint32_t cause) "Clearing IMS due= to EIAME, IAM: 0x%X, cause: 0x%X" @@ -237,7 +230,6 @@ e1000e_irq_tidv_fpd_not_running(void) "FPD written whil= e TIDV was not running" e1000e_irq_eitr_set(uint32_t eitr_num, uint32_t val) "EITR[%u] =3D %u" e1000e_irq_itr_set(uint32_t val) "ITR =3D %u" e1000e_irq_fire_all_timers(uint32_t val) "Firing all delay/throttling time= rs on all interrupts enable (0x%X written to IMS)" -e1000e_irq_adding_delayed_causes(uint32_t val, uint32_t icr) "Merging dela= yed causes 0x%X to ICR 0x%X" e1000e_irq_msix_pending_clearing(uint32_t cause, uint32_t int_cfg, uint32_= t vec) "Clearing MSI-X pending bit for cause 0x%x, IVAR config 0x%x, vector= %u" =20 e1000e_wrn_msix_vec_wrong(uint32_t cause, uint32_t cfg) "Invalid configura= tion for cause 0x%x: 0x%x" @@ -290,12 +282,11 @@ igb_rx_desc_buff_write(uint64_t addr, uint16_t offset= , const void* source, uint3 igb_rx_metadata_rss(uint32_t rss) "RSS data: 0x%X" =20 igb_irq_icr_clear_gpie_nsicr(void) "Clearing ICR on read due to GPIE.NSICR= enabled" -igb_irq_icr_write(uint32_t bits, uint32_t old_icr, uint32_t new_icr) "Clea= ring ICR bits 0x%x: 0x%x --> 0x%x" igb_irq_set_iam(uint32_t icr) "Update IAM: 0x%x" igb_irq_read_iam(uint32_t icr) "Current IAM: 0x%x" igb_irq_write_eics(uint32_t val, bool msix) "Update EICS: 0x%x MSI-X: %d" igb_irq_write_eims(uint32_t val, bool msix) "Update EIMS: 0x%x MSI-X: %d" -igb_irq_write_eimc(uint32_t val, uint32_t eims, bool msix) "Update EIMC: 0= x%x EIMS: 0x%x MSI-X: %d" +igb_irq_write_eimc(uint32_t val, bool msix) "Update EIMC: 0x%x MSI-X: %d" igb_irq_write_eiac(uint32_t val) "Update EIAC: 0x%x" igb_irq_write_eiam(uint32_t val, bool msix) "Update EIAM: 0x%x MSI-X: %d" igb_irq_write_eicr(uint32_t val, bool msix) "Update EICR: 0x%x MSI-X: %d" diff --git a/scripts/ci/org.centos/stream/8/x86_64/test-avocado b/scripts/c= i/org.centos/stream/8/x86_64/test-avocado index a1aa601ee3..e0443fc8ae 100755 --- a/scripts/ci/org.centos/stream/8/x86_64/test-avocado +++ b/scripts/ci/org.centos/stream/8/x86_64/test-avocado @@ -30,6 +30,7 @@ make get-vm-images tests/avocado/cpu_queries.py:QueryCPUModelExpansion.test \ tests/avocado/empty_cpu_model.py:EmptyCPUModel.test \ tests/avocado/hotplug_cpu.py:HotPlugCPU.test \ + tests/avocado/netdev-ethtool.py:NetDevEthtool.test_igb \ tests/avocado/netdev-ethtool.py:NetDevEthtool.test_igb_nomsi \ tests/avocado/info_usernet.py:InfoUsernet.test_hostfwd \ tests/avocado/intel_iommu.py:IntelIOMMU.test_intel_iommu \ diff --git a/tests/avocado/netdev-ethtool.py b/tests/avocado/netdev-ethtool= .py index 6da800f62b..5f33288f81 100644 --- a/tests/avocado/netdev-ethtool.py +++ b/tests/avocado/netdev-ethtool.py @@ -67,10 +67,6 @@ def common_test_code(self, netdev, extra_args=3DNone): # no need to gracefully shutdown, just finish self.vm.kill() =20 - # Skip testing for MSI for now. Allegedly it was fixed by: - # 28e96556ba (igb: Allocate MSI-X vector when testing) - # but I'm seeing oops in the kernel - @skip("Kernel bug with MSI enabled") def test_igb(self): """ :avocado: tags=3Ddevice:igb --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223860; cv=none; d=zohomail.com; s=zohoarc; b=T2220wykc8Zsa7SZyZVyi2hhVxTQcAKr5ytzJdYRO9Ce84DQ3plhgAhhIgTH4sJbnoyqSWcUiMPlLqfy5yGRmi7pY5CkWtz6Vi8VHVU4CPqgpXgFaaV7g8P/FUCvj5VQ4BGCaBeWrwkhql6AEavof1Ny2Qa8j7q2cLaiAgAyDak= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223860; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=WhEhy4Jd1mKN670RG/ec6toCTEp/s9C7PmGHjJRti/0=; b=ImOTFuMgdQU1TAiQnDODH7SvEsbBA635gyKM9NC2n1TB99IkxnP3Bqe8S6IZ31BzCGCw2LLaGddQOAqG0wFeR3BkSIiG8Sh7lz7wfRUNKX60GNrK8hEUyPstKgSqaCJpdnP+a51iHhxwM8wAPzxUfxSEznG1BwAgxS7E2u6YmT0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223860597598.2218411154312; Sat, 22 Apr 2023 21:24:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqRE5-0007FI-7B; Sun, 23 Apr 2023 00:21:32 -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 1pqRDy-0006ia-QJ for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:21:18 -0400 Received: from mail-pl1-x62c.google.com ([2607:f8b0:4864:20::62c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRDw-0001NT-UW for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:21:18 -0400 Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-1a69f686345so28312845ad.2 for ; Sat, 22 Apr 2023 21:21:16 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.21.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:21:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223676; x=1684815676; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=WhEhy4Jd1mKN670RG/ec6toCTEp/s9C7PmGHjJRti/0=; b=JVxEwiQO7Y1Mx9omv/pAUCQLVj/ZFN0eXsvUpGu4jRxyzcpeo/A2tsSYFHQ5dQnzBh KyQsxDcUnna68zpFHCtCmbyeo6udUzugkpcWsrauCfOQGwALYR/FNCRQD0daH5dxR9rg nmVAM/Womq9EVJkDSyDLn6UmSzMO1Z2na5uF5S+Flj9R6hRg32+Uox5cVDFqNjDHbSiM 36Q823vcZJWXd+bmxKfkHhgrMeJbNsq7hTaF2eCy5J4ckM2/Y5K1NNrQSz4846+9l2bZ xEI3c1IVzrXzwlE9DqaBukSLYsvH7/L30+72LrZ5YxyCklgPTvUfA7+EEgbYEP2mduT1 YxZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223676; x=1684815676; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=WhEhy4Jd1mKN670RG/ec6toCTEp/s9C7PmGHjJRti/0=; b=brVqDwg2rKLt4NaA5uBgB2EWXoUHAgjoRELFuIKw9rvOwRNtdgV7d9hL1DVA+7fyjD NBHaA7ehgIwe9ydjbKAtB74Dqa/wEBId81LvxIboM2y1d0T6DW7kpSIC2ZuAAzZIlUUW /64CdbzvV1MNU5skCEjkMd7RE4apdwHXBkGOUs9/HEPlWMJBwMHv/6hJW7c7Aui2CGk5 /4Age2nE3u0t14xa5qoaxtVcFl9s80jBeG4H5lFKCyXNuHIdzdJSIjrUisKrGrfcDuYu c868doChTznC8RUsOJcu9UpTtoqn+cIMTQML7fukWtXU1CAnfehChq7xQ7jUlnjr6qr5 aJDg== X-Gm-Message-State: AAQBX9cLc2Zo6oTrZZ+e17CiV3sQZH8NPafOJKlPKVsnzYgXm2RfpAA7 WQaVpczbEswl88dKNTQCyJoq5w== X-Google-Smtp-Source: AKy350abonmMS0L6t+DvqTljvMOv4V+vgB+82k9LnfdYAV1lBQOAjNPXv3GC+NL1kQ4ZWFAwpJpU7w== X-Received: by 2002:a17:902:db12:b0:1a6:e1ac:ecb8 with SMTP id m18-20020a170902db1200b001a6e1acecb8mr12612962plx.43.1682223675795; Sat, 22 Apr 2023 21:21:15 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 45/47] vmxnet3: Do not depend on PC Date: Sun, 23 Apr 2023 13:18:31 +0900 Message-Id: <20230423041833.5302-46-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::62c; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x62c.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223862651100003 vmxnet3 has no dependency on PC, and VMware Fusion actually makes it available on Apple Silicon according to: https://kb.vmware.com/s/article/90364 Signed-off-by: Akihiko Odaki Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/net/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/net/Kconfig b/hw/net/Kconfig index 18c7851efe..98e00be4f9 100644 --- a/hw/net/Kconfig +++ b/hw/net/Kconfig @@ -56,7 +56,7 @@ config RTL8139_PCI =20 config VMXNET3_PCI bool - default y if PCI_DEVICES && PC_PCI + default y if PCI_DEVICES depends on PCI =20 config SMC91C111 --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223897; cv=none; d=zohomail.com; s=zohoarc; b=NHYZwDSvfmKsSztjDef/CV92cmNoGWb8bvMg8NCBzf6DidpZ/kJR/6zUMET553oQhdd/0Bmv0OgUzCvXwYjDM1m/LkLtVcE8w8OVipmG1ACzinqFbDNherItpZnxizd+D+L53D63jTtb7XKDrp+RoagOY5BeNQZSNQeqL/9PJvQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223897; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=pWOvNuMYZRWoq2fhDorz4NqQl+9mD4GENe1+ycHRxRI=; b=Hy4HhGdFwbcDhXIDlIPdMwfE1AhpjF9n0pE7ggYUbD/htzoHT7knZUnq+celiWRijYeVKI5N7bx/5r+R3Z1XQHvSy3SGeW1PUOO/wtFcSBMOPU1Au/0owcky/o6u83ywu+S7GYgoeP116D1xoQLkvEtOkQmnod0fQofHwvxTJCI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223897321361.2391162925543; Sat, 22 Apr 2023 21:24:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqREX-0007yd-7l; Sun, 23 Apr 2023 00:21:53 -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 1pqRE1-0007Cr-Tu for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:21:22 -0400 Received: from mail-pl1-x62c.google.com ([2607:f8b0:4864:20::62c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRE0-0001Ny-8y for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:21:21 -0400 Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-1a6670671e3so30687065ad.0 for ; Sat, 22 Apr 2023 21:21:19 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.21.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:21:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223679; x=1684815679; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=pWOvNuMYZRWoq2fhDorz4NqQl+9mD4GENe1+ycHRxRI=; b=XKaqoplJD2nbjHn/WldmI9Oa9iar6rV5SMgiHQIAr2Jcq8hWTpTMtgr8aOiFXW4tXx xmGDYrWlJCFcVYhJvZWVScAxgiP8K82j3fFX8CspIxe2K5SyBRThrxnmvjH5yeuhHqwm R7Ta77OcrriBpZGU4tORD0KokgU+QV7vHOu3GeuXo/DjDGLSuhuOiKyyTDA/qZfqx/Vz ihPMQf2EShpGY7wCYmd80LgvNDEekiwYqP9TYQfMvOB0whoiLueMPheO1DEkcz6B9cT0 DfWS2n9TBtB0zzqWcuF2ssajtKtNbCEUsabO/iQdHCRmQICSxEYS2JwnduoEUG7e3NR1 7ZJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223679; x=1684815679; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=pWOvNuMYZRWoq2fhDorz4NqQl+9mD4GENe1+ycHRxRI=; b=Ee6K11PK0Nx4GKKT8VKrzMG0dh+4tdb5ISurxL7K7ioVF0IaAo/OShgHYReC3oaP/t A2CG3LAymKoIysnxWYGdR50zAs7rhqWXx5zIphPrZowfTozkLlXYXrBIXZNba1YYOroG 3DlQI2447TawSKyC8/LGpHwPOs+sFqzwBJjuhi5WkaV2XOd+mw17w8c8RwagH1zjWk6e +NYLw+DXEku7gTLbssR62NnolJa7BYyWIAgvivkcKV4NgyF0HbuhOnQnfrZwKogLymQ+ 4xKRcdUKks4nzRAs2Ya0IbYh1x5lkU0WN+JF9MxuvdQecv6yGsBKNm/GNHkLFKCVV5Lr C/ag== X-Gm-Message-State: AAQBX9cbMmH7ONKu6GYC9U54YbORtGnWugBNRWeSsUmqu1Q7a+ojeLvV IgAufGkw16UxJzLAwHAowk0Ihg== X-Google-Smtp-Source: AKy350ZxQ1pJKoRyNY5I0DE28zQBI4gM9whNkm5gEoHxtpX62Rvs+k6Lyct0FsvC2+8FC8fnbw9qgA== X-Received: by 2002:a17:903:2345:b0:1a8:626:6d9d with SMTP id c5-20020a170903234500b001a806266d9dmr11575576plh.62.1682223679126; Sat, 22 Apr 2023 21:21:19 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 46/47] MAINTAINERS: Add a reviewer for network packet abstractions Date: Sun, 23 Apr 2023 13:18:32 +0900 Message-Id: <20230423041833.5302-47-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::62c; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x62c.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223898695100007 I have made significant changes for network packet abstractions so add me as a reviewer. Signed-off-by: Akihiko Odaki Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index c31d2279ab..8b2ef5943c 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2214,6 +2214,7 @@ F: tests/qtest/fuzz-megasas-test.c =20 Network packet abstractions M: Dmitry Fleytman +R: Akihiko Odaki S: Maintained F: include/net/eth.h F: net/eth.c --=20 2.40.0 From nobody Tue Feb 10 19:17:28 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1682223785; cv=none; d=zohomail.com; s=zohoarc; b=VYN1gkdxwWRaFivccavRF5ebmyiKChqY9piDZkrxnatc76bHuf0YPP5aWWmB4yuhKPhE96V1NQQqyvJDOhlSMAdTiA/dnm8O/SvsGnps++kxF5ukbfnSE6PrDgMupgeRnTAP9xx6/EZu2WSkW+j4bFwn4TT4axurgc9nXyjCYnE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1682223785; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject; bh=ILeEC45O4cCOmKoGJEqXwqlDpUW0IKc6Vq1tRoBknx4=; b=R5A05ARe5cCzygyQ8gv4AX7Yz9YNjV7HsOfsHO6kR17IAI/HfkVogCXz3FIjFjwLqkk4JFvF5uZs6TbdXuR98Idlnp0WgiCfh23jopYlFGVd7ckZzL7MemNa3Yn+iNUR6kZiEX/fyMVQFoNlf50+vEzTqE39735hCq4jS6rXnFc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1682223785474562.2046343161986; Sat, 22 Apr 2023 21:23:05 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pqREa-0008Bq-JM; Sun, 23 Apr 2023 00:21:56 -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 1pqRE6-0007Qw-Kw for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:21:39 -0400 Received: from mail-pf1-x42d.google.com ([2607:f8b0:4864:20::42d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pqRE4-0001JZ-IX for qemu-devel@nongnu.org; Sun, 23 Apr 2023 00:21:26 -0400 Received: by mail-pf1-x42d.google.com with SMTP id d2e1a72fcca58-63d4595d60fso21525706b3a.0 for ; Sat, 22 Apr 2023 21:21:22 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id f1-20020a170902ff0100b001a5059861adsm4596996plj.224.2023.04.22.21.21.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Apr 2023 21:21:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1682223682; x=1684815682; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ILeEC45O4cCOmKoGJEqXwqlDpUW0IKc6Vq1tRoBknx4=; b=KqaCTcy6SwLEtNbenDV4k1UgzUvv2KkIHeqVbWxovIhYObQZbrYijuJUoj9uwCiUv1 UDnbmkjQDDDDkYl42VWRMd7gzZsjmG4HVYVhTMoJVzIQ+bTAw+lTnfG9G3Wphr2l0EYo hDEwc2WJSK0V6o8ssie7U5ZGOsvWLgLRUBAChFh9evT56DvScje+lwXNuomZLC9/AloO iykNpf4d3eaoHuIZTsImL6DD/J8yIs2YlTBFc5xXtBxsdmq+m5aqSjAPOQ60C+10qMyb ReYeGTQwiMgpCAAwE6rmXOwxFPWuy8YLsZIXDv9cNPMYLf5Kr2pFNs33P2ctHz3JBOlY zeow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682223682; x=1684815682; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ILeEC45O4cCOmKoGJEqXwqlDpUW0IKc6Vq1tRoBknx4=; b=DIXlltVgXi3+/VSApQ9S5lsps5AfxevHf+YBN8h465zsPR0Wqd15nB1pELyqD0AMPR DILzFaAmh9+3GDget9kIMJdm7WJN8aEziVk7IFLVemh7VvbzX6y7nTerExm4PjlDWs2h SABbAzA2xTLbp4nSrOiosEbyrC0dh/NGm1uKbbC0gcVUg5ipqXLSHtko65LxMgyqxEmQ SHEVpEDwIU3Na3hG8eLln4MnLy3+hi3qeh0ZD2wklIBZxag/fnFfjL7Jp5Z2+h32B18E PDyfJITYzGeq9OJetDYyWm4uF9Jw6PsDk8O0JLXCwhQRlRXfaUZvHcTN6KtzEDrsHK5K DKCg== X-Gm-Message-State: AAQBX9ccXidzeKsWTf7Zz4ByjAcwJatjg2DO1H6UMyfPn7VDuwVk4Dkw 3YyE7wly4G42R1EhR2O2tCgwyA== X-Google-Smtp-Source: AKy350YyGLeXGFlXJo3J6zIPmiXHWqn+QFq6UOGgGmZf2HL4K+L+hxgoOKoyq6ZXbwAw2oDz+hQu6g== X-Received: by 2002:a17:902:d486:b0:1a6:98a4:e941 with SMTP id c6-20020a170902d48600b001a698a4e941mr12954519plg.2.1682223682579; Sat, 22 Apr 2023 21:21:22 -0700 (PDT) From: Akihiko Odaki To: Cc: Sriram Yagnaraman , Jason Wang , Dmitry Fleytman , "Michael S . Tsirkin" , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Philippe=20Mathieu-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 v3 47/47] docs/system/devices/igb: Note igb is tested for DPDK Date: Sun, 23 Apr 2023 13:18:33 +0900 Message-Id: <20230423041833.5302-48-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230423041833.5302-1-akihiko.odaki@daynix.com> References: <20230423041833.5302-1-akihiko.odaki@daynix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: none client-ip=2607:f8b0:4864:20::42d; envelope-from=akihiko.odaki@daynix.com; helo=mail-pf1-x42d.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @daynix-com.20221208.gappssmtp.com) X-ZM-MESSAGEID: 1682223786297100010 Content-Type: text/plain; charset="utf-8" Signed-off-by: Akihiko Odaki --- docs/system/devices/igb.rst | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/docs/system/devices/igb.rst b/docs/system/devices/igb.rst index afe036dad2..60c10bf7c7 100644 --- a/docs/system/devices/igb.rst +++ b/docs/system/devices/igb.rst @@ -14,7 +14,8 @@ Limitations =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 This igb implementation was tested with Linux Test Project [2]_ and Window= s HLK -[3]_ during the initial development. The command used when testing with LT= P is: +[3]_ during the initial development. Later it was also tested with DPDK Te= st +Suite [4]_. The command used when testing with LTP is: =20 .. code-block:: shell =20 @@ -22,8 +23,8 @@ This igb implementation was tested with Linux Test Projec= t [2]_ and Windows HLK =20 Be aware that this implementation lacks many functionalities available wit= h the actual hardware, and you may experience various failures if you try to use= it -with a different operating system other than Linux and Windows or if you t= ry -functionalities not covered by the tests. +with a different operating system other than DPDK, Linux, and Windows or i= f you +try functionalities not covered by the tests. =20 Using igb =3D=3D=3D=3D=3D=3D=3D=3D=3D @@ -32,7 +33,7 @@ Using igb should be nothing different from using another = network device. See :ref:`pcsys_005fnetwork` in general. =20 However, you may also need to perform additional steps to activate SR-IOV -feature on your guest. For Linux, refer to [4]_. +feature on your guest. For Linux, refer to [5]_. =20 Developing igb =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D @@ -68,4 +69,5 @@ References .. [1] https://www.intel.com/content/dam/www/public/us/en/documents/datash= eets/82576eb-gigabit-ethernet-controller-datasheet.pdf .. [2] https://github.com/linux-test-project/ltp .. [3] https://learn.microsoft.com/en-us/windows-hardware/test/hlk/ -.. [4] https://docs.kernel.org/PCI/pci-iov-howto.html +.. [4] https://doc.dpdk.org/dts/gsg/ +.. [5] https://docs.kernel.org/PCI/pci-iov-howto.html --=20 2.40.0