From nobody Wed Feb 11 04:39:41 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=1681472338; cv=none; d=zohomail.com; s=zohoarc; b=ObQuihxslGO3Nd3KtHhAorKdkUJ9iQHDcOIyUMll06fuQgh2nG6YtiQ2XTNqcdPH7p2P7I73X3hcWynfgsTgHHjtteUqnOP0mDgLf0kfOBGoOz60I3f0GY4K0+1O96NGAof4hokjSh2fCwV02Fk1DcaznhByDSUTp1N1A7aYRhQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472338; 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=phIuRoRkARCIe3npIXdyOwSm7O4GT5AQy2JkeuOjeL8=; b=VaMvrEZod0Rl5KNsQurFlkq5j3KENuJgcWKjxnmSdIv00J6AouGdITIB222Quz30OasVmx9g+bistUrAQE3by0FemMwA3O5FmlBSlq0wo56ky5smzelGdsW9gG80jSky7gs373H0SdFYBS9blcTGG+IWp542vt2DKkU58YOmRjI= 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 1681472338648334.6839216994707; Fri, 14 Apr 2023 04:38:58 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHkm-000885-E5; Fri, 14 Apr 2023 07:38:10 -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 1pnHkh-00087p-Pg for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:38:04 -0400 Received: from mail-pj1-x1036.google.com ([2607:f8b0:4864:20::1036]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pnHkf-0001Al-Ba for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:38:03 -0400 Received: by mail-pj1-x1036.google.com with SMTP id cm18-20020a17090afa1200b0024713adf69dso5811140pjb.3 for ; Fri, 14 Apr 2023 04:38:01 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.37.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:37:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472280; x=1684064280; 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=phIuRoRkARCIe3npIXdyOwSm7O4GT5AQy2JkeuOjeL8=; b=bfPr6eqIHpIza/wW/jEhkGBHqRm0DIc/2cTEdvdjj3h24yhyF3n7GCoEoomVSwEB2P WDjpiumVQc/M7fhBziUBFWNYw5U7ZOiBhadquYS1FXR1ViVNQ3MavnkFXUzzNtyTecpT iJQ0prNC2FS2XpTV/U5zsSWMq2qgDYv5eLgV7fwl8ltDXa4w/FLI1It0XQ+lwWr3oDTz nOP7GOnIPJE/2JGBoynrKuzvS8ZvgmNN+l7ITyj29CYnm7X3ReMgG0IestnbIumCff1r OJSQdPcsbYB1qAChATSj4+nA2HNSWk5WgBRrOeL3D1/jCGf/QAZhLNiQxOE3EHwslaQs Yr1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472280; x=1684064280; 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=phIuRoRkARCIe3npIXdyOwSm7O4GT5AQy2JkeuOjeL8=; b=aqgBiujzn2SVXhCqJ+FyCXs8eX42/CHVrEKMGHdTwLc98+MkGkAuPUCpob1FkSgmA1 goQVOBhXQAwolbHuFTnddB6w6Hom3gd46KSEEN+sTFy1MY61rD+vLjU/VhhS34SV5be2 1p6xUBYpm3P59CfOls11O84d3yi3CcjOkDr+3o5zn+CqyIU1CiXICDYI5EP+Od0NKRMp eqGFOVWGgZWV+SrU6KPTGDC/KczEqsXQhz/g9qJ2lgsX5v7wWDnsPKM3rDqPzVkmOf+i gyXyyqqw851eF0SZP930KZKTy8rF2QgoM1v1MoM409xuW5+8rKzyjBIqaJcorpKCXENM 75xw== X-Gm-Message-State: AAQBX9eGageY4awXcU0YdXXd7XX+S3cbil7AJX5AV1exqI8nCxobN/KD 76tm/lmRLJseIDhgi5WkfXmslQ== X-Google-Smtp-Source: AKy350ZdBILC1dj2sIOT/j5HsEnIIm+fRU89ADpeljB5KKoWQ7oUjEAIeeLhVuHx0m6tFZ2ehhHY7g== X-Received: by 2002:a17:902:74c4:b0:1a1:c9f7:cec5 with SMTP id f4-20020a17090274c400b001a1c9f7cec5mr2682413plt.2.1681472280093; Fri, 14 Apr 2023 04:38: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, Akihiko Odaki Subject: [PATCH 01/40] hw/net/net_tx_pkt: Decouple from PCI Date: Fri, 14 Apr 2023 20:36:58 +0900 Message-Id: <20230414113737.62803-2-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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::1036; envelope-from=akihiko.odaki@daynix.com; helo=mail-pj1-x1036.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: 1681472339399100001 Content-Type: text/plain; charset="utf-8" This 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/e1000e_core.c | 13 +++++---- hw/net/igb_core.c | 13 ++++----- hw/net/net_tx_pkt.c | 65 +++++++++++++++++++++++--------------------- hw/net/net_tx_pkt.h | 38 +++++++++++++++++++------- hw/net/vmxnet3.c | 14 +++++----- 5 files changed, 83 insertions(+), 60 deletions(-) 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 8dc8568ba2..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,10 +379,8 @@ 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) +bool net_tx_pkt_add_raw_fragment(struct NetTxPkt *pkt, void *base, size_t = len) { - hwaddr mapped_len =3D 0; struct iovec *ventry; assert(pkt); =20 @@ -395,23 +388,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 pci_dma_map(pkt->pci_dev, pa, - &mapped_len, DMA_DIRECTION_TO_DEVICE); + ventry->iov_base =3D base; + ventry->iov_len =3D len; + pkt->raw_frags++; =20 - 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) @@ -445,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 @@ -465,17 +448,37 @@ 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); + 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; 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_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(pci_dev, pa, &mapped_len, DMA_DIRECTION_TO_= DEVICE); + if (!base) { + return false; + } + + 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; + } + + return true; +} + static void net_tx_pkt_do_sw_csum(struct NetTxPkt *pkt, struct iovec *iov, uint32_t iov_len, uint16_t csl) @@ -697,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; @@ -794,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/net_tx_pkt.h b/hw/net/net_tx_pkt.h index e5ce6f20bc..f5cd44da6f 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 + * @pa: 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,30 @@ 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, + NetTxPktFreeFrag callback, void *context); + +/** + * 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); + +/** + * 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 */ -void net_tx_pkt_reset(struct NetTxPkt *pkt, PCIDevice *dev); +bool net_tx_pkt_add_raw_fragment_pci(struct NetTxPkt *pkt, PCIDevice *pci_= dev, + dma_addr_t pa, size_t len); =20 /** * Send packet to qemu. handles sw offloads if vhdr is not supported. @@ -173,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/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 Wed Feb 11 04:39:41 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=1681472390; cv=none; d=zohomail.com; s=zohoarc; b=MHI7FkBOM/J5N8Mad2H4N+OMiq5l8sWPAIUX8nJebWmjRJdVml6RLGnAoTArxYJBR1lYe6U7IYBsJshRpv/azNlZBMqHptsZYICx4XHecXHrMtfVEnMi2Us1YhuS4s0kiOZB89fr1RGikaLIBh7X/pJQorjv/dxU6YmuxQuHgb0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472390; 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=DTaO5RfaUfdq2ayfAOTXEIBt0J8itH8jtXXlLyE4Zo8=; b=kscqULdC3+tEbWm6i7BXSt0BcWhNcxBNnlAeFNZbhcVHd+wk6r9a76NR/MCOECHwuDA4N1qPXqE5Q5gbCvgULBVpI92QxlPoFf3AlDVRQPZcHtr1LGM6/AlR+98fB0z6asq2xvDOhrlKbtxqiDbiZVV+Bfx5UHkay3dNTSjOZbw= 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 1681472390901749.2089681561688; Fri, 14 Apr 2023 04:39:50 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHks-00088n-0K; Fri, 14 Apr 2023 07:38:14 -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 1pnHkl-000884-61 for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:38:07 -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 1pnHkj-0001BG-5X for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:38:06 -0400 Received: by mail-pl1-x632.google.com with SMTP id w11so18012500plp.13 for ; Fri, 14 Apr 2023 04:38:04 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.38.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:38:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472283; x=1684064283; 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=DTaO5RfaUfdq2ayfAOTXEIBt0J8itH8jtXXlLyE4Zo8=; b=RPLsC5Z4oWulMVKZeAbCoor0Izt0ZsUgp2wU1yB67cQv7WgEKgRqriB05oHCSZetKH I4+6RdDpcKuisLLR0Ol3KuJEPCfBwZmPKs2uub11rd5+DtiZ4FTLvlcMUo1cqh+PVJeY e6GZhMs0ImkSjkSAs0Y9TEIDoXVGXb+3B3lMrLd4K/AK0lCtMMSmmLncOX53LnMsBzmr H5vVK5wb2izzzcseikq2gsBKJj6XC4/1hEstcegRyuegrSID2Ei+4av5CEiUOGU0FI22 MaHcpNv7M7SO8PB0czzp2Hn43LtFgyk1/eV8MiDHjV3LXmEzLK/UxLxyxhvIucrZwfoX pggg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472283; x=1684064283; 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=DTaO5RfaUfdq2ayfAOTXEIBt0J8itH8jtXXlLyE4Zo8=; b=VxTIzrst5AQDJzAAVKtGMr5c+SbryR++IuWgv8XycYHAhwoh8iEPkhwOvKidKtPiPD hp99DuPEzp9OU+lDoJlkgVmjeTtaZjzf4wNx/di65gXb8h1fUJp9AesSmavAfHPjfzUg SZHlGRIxyJZVxTXozpmgBKnSPlzJGcZCX0ivyPOBTgmxlzMmr7o+n+3WwpCKPKH8zNtw 9wPAethglBlsUWLEX9p0rGRNy5GjgffzQAKPZFX7f2qE00ZSD30wEqwlXWLqW9CYvZZg fbx7DJlulVEFFsW7tJQz2dv8USkUbSepxbJ2QQIKQywDGWh5bfANRp3JC1uSq1fYgx44 qqsQ== X-Gm-Message-State: AAQBX9cwVPCLBxtq+/r9rM0MVa7u1VR7zbAu9Dy8BWcT4OIONHRiyuF4 7agsYMqupUM9To1msYv5FiBrHQ== X-Google-Smtp-Source: AKy350aC8OF3ikMQxfA2EESN446C8RTWpXiZa+D44Z5t4CZ1h0t67EUNhVyxSWW6VITS9BQxQiydww== X-Received: by 2002:a17:902:c78b:b0:1a0:53f3:3761 with SMTP id w11-20020a170902c78b00b001a053f33761mr2081091pla.15.1681472283293; Fri, 14 Apr 2023 04:38: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, Akihiko Odaki Subject: [PATCH 02/40] e1000x: Fix BPRC and MPRC Date: Fri, 14 Apr 2023 20:36:59 +0900 Message-Id: <20230414113737.62803-3-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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::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: 1681472391697100015 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 --- hw/net/e1000.c | 6 +++--- hw/net/e1000e_core.c | 20 +++----------------- hw/net/e1000x_common.c | 25 +++++++++++++++++++------ hw/net/e1000x_common.h | 5 +++-- hw/net/igb_core.c | 22 +++++----------------- 5 files changed, 33 insertions(+), 45 deletions(-) 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/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/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 Wed Feb 11 04:39:41 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=1681472400; cv=none; d=zohomail.com; s=zohoarc; b=HePRoxhKZJsJM6dG7XtOP23KufZScbec1gtCPpFUCcAwKyDuK/RrhI0HplDvGDrAUOKon0jiayF8luYuiQnWuDvj4xmEBoIybcI9KJHa6iTS1whNEMgkKat4JWTa3rqo/ETFmj+FnEs3CB/mbXVNbEC2lvz2s1D8xZ+QI1+ExDc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472400; 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=7X6sr/5Em7HKxWqg0sLHs04a6P2VHelqS35NL+9JQDE=; b=A69o/zSl8iJKDjfeuiEx/bBQ94IHL9unncbY0qcvUUtWytEodxBDagRTpgVtokNnQQySY4tvyV+6+udhkPp10AMs8wwgtaOxpOTun/kWE7B91I/pglmHjDPmvFkr1YYYlcceoNJTZptXbWj2AwIkveyq7cVG9g/0wDNJUqmQx2c= 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 1681472400254124.98472561690323; Fri, 14 Apr 2023 04:40:00 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHku-00089w-67; Fri, 14 Apr 2023 07:38: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 1pnHkn-00088R-MA for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:38:10 -0400 Received: from mail-pj1-x1036.google.com ([2607:f8b0:4864:20::1036]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pnHkl-0001CD-Mk for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:38:09 -0400 Received: by mail-pj1-x1036.google.com with SMTP id c10-20020a17090abf0a00b0023d1bbd9f9eso21361543pjs.0 for ; Fri, 14 Apr 2023 04:38:07 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.38.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:38:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472286; x=1684064286; 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=7X6sr/5Em7HKxWqg0sLHs04a6P2VHelqS35NL+9JQDE=; b=XpXxUcLFNv0lzBrzEmkxcCRbOT5FgGsc1YPqGqOCdPhPHMpEf4E0NAar6ioQabS2dB ZqmCdysthvRcZi35CxbUu1xcb60ooJdqNjX3jJyAIhmibo0f+0VeGvmJw1xdHHOH4JIs FPlKbGYBUAZ9UdtpPa1xIh6au1yuVFLJy1qJJOSxF6wBx6plRmDs5g0SVWo1lhyqYij+ bjgeYWvja9WpyAZrA2KMKQe5Gqfea056GpL4pvPThDhN8h02i+iWhJhVgUKy5KpkFrDl ALB0YJlGCHugtMCYGic3bACJMwNpKquVi4gJZYCgENhCj3EdAsZG9PhsOiW875zOY4X0 MZuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472286; x=1684064286; 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=7X6sr/5Em7HKxWqg0sLHs04a6P2VHelqS35NL+9JQDE=; b=e6VUYfE3tabSktDjsy31LkxyPlQqiQePg/EJgT3Fphz708W38nH/Ae0TJ/Facq3X2o Hl/X/aRBYo7/7RXUBasz8CkZcotIz+A2u1yAtatgwOnj7d/QCyvJnaZGtfo3hkcMZF80 dEDlwua4hY/okSo5pApukXic6im2AsQiH+7CBH46Tq9rQLRCbZ+fBfdhqR/GhcOKoJlx u7Y/lBCrsOTxqMGhQMEyzw0VJON2U47MkuvniT7qW/OqddV7ONZBgbNQbysRgQF4pUDp E2sVAo81WzZyo7O7JQeRixxd2ORXzF2Qiej6nL8HOXMbW4POZPTkfAvwicvxzN3n0tHV S6Gw== X-Gm-Message-State: AAQBX9e4lR1CS8IwTBtYo0XN4qwf1OkffK73niYI+vQJfNelPNU9qXj/ HYU/CnX4qiKfsLI5ql6rkT1pPg== X-Google-Smtp-Source: AKy350bO39Knhs84g/ajdT5+Rl7g4t70emEvU9tjtmiBJ/6TLhy+yNeiHpIZSXaoYya3TKMAWRgYbQ== X-Received: by 2002:a17:902:f690:b0:1a6:6b30:2b3b with SMTP id l16-20020a170902f69000b001a66b302b3bmr2631063plg.64.1681472286525; Fri, 14 Apr 2023 04:38: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, Akihiko Odaki Subject: [PATCH 03/40] igb: Fix Rx packet type encoding Date: Fri, 14 Apr 2023 20:37:00 +0900 Message-Id: <20230414113737.62803-4-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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::1036; envelope-from=akihiko.odaki@daynix.com; helo=mail-pj1-x1036.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: 1681472401832100003 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_core.c | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index 464a41d0aa..55de212447 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 BIT(4); + } =20 - if (pkt_info) { - if (rss_info->enabled) { - *pkt_info =3D rss_info->type; + if (hasip6) { + *pkt_info |=3D BIT(6); } =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 BIT(8); + break; + + case ETH_L4_HDR_PROTO_UDP: + *pkt_info |=3D BIT(9); + break; + + default: + break; + } } =20 if (hdr_info) { --=20 2.40.0 From nobody Wed Feb 11 04:39:41 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=1681472391; cv=none; d=zohomail.com; s=zohoarc; b=R8xg66+M1+jAPfLUHbU5Sd2fExc5ctTFcw9UkodTeF3b1rFFxN/iBUIfCiuXB6xz83rwmHDSGSSLIU+UaFFfittfChrBLrtjBDO2XKsEifLxjPbjsAAg3CihZ2I5Blfh2RQ6kxep/i/ZpFyOGBQNRs7VPv92jC8vuEjKYnAVkeM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472391; 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=r4unu0FU5hUXEF884PbqXY6L4Q5R2W9kzasMY/H7XCY=; b=g/p7HFluCjQ6F0/wEVUi3EEa334WG1tQvTz1kEgqiyJpY4vHDBbshLT9dQ7/RLlmIYsLSb1xJ03bDaC8z0v2y18oIFd1p9qTHr31gd1F/3NMiltLx2zzpeUeOzj6H3nktJuK26IfR5ys4muQlEJpGHbUx8rUeplEDfmzlCBJ1mg= 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 1681472391111583.7940952919524; Fri, 14 Apr 2023 04:39:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHkt-00089a-Cn; Fri, 14 Apr 2023 07:38: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 1pnHkr-00088x-Rv for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:38:13 -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 1pnHkp-0001Em-6z for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:38:13 -0400 Received: by mail-pl1-x62d.google.com with SMTP id la3so17846983plb.11 for ; Fri, 14 Apr 2023 04:38:10 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.38.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:38:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472290; x=1684064290; 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=r4unu0FU5hUXEF884PbqXY6L4Q5R2W9kzasMY/H7XCY=; b=RQ9ar5J6wZGygWWC5Yh03DIccGPRsaLZ0u2TEVM9deYZdQdAQ4iOpPftKz3/2UT6vY k1NjMb0iaVtqv1oMLEM6D2ttBZye8DO4j30KpfzGjnjEZCSQMrPU90iHQnA2t0R/eyuE YMKlm8TS1wNzOke+TGyrwdIUL1qG2G0IHcMqdiquC6/pOlj/FGyGoeZcXcMiln9Pe9DP sXft/iHXo4Nm/36eYULWJ7UMXB8z9pbsRmPBsuYMSNn2wJFc7FJ6xg4qlADovS8ZJhS3 PkIU93S1DXtjrFlsg1TLhuJp+cjzIlcw1gv3h21PGkPm3xnh1/XXienQ5vO0Yxg66+UM HnRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472290; x=1684064290; 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=r4unu0FU5hUXEF884PbqXY6L4Q5R2W9kzasMY/H7XCY=; b=Oucd5u4RZ+FwuzN3vfU8ylJXZ/Mpu9IcfZCuW9dpTyINR/eX3BRB9FWBprSVe9SpPX Z/40epWWN/YiNkATyGYWnbR3GdWwVwD1UL50qSLaIx9tvr1w8XFbGgLngb5gaRAvArKX fVM7fAmxMeiUcUhLor5olHg1oE2mIAmvqYsqwxjKVFhy7teWQSmu7C0auVrv3aTXis1D ovLPRBl1h3Awo62Ad8u6bCWGBOjbVhv7bC1rQMa55uKSi8x0zslzEjByKi6lQthgDYMZ 0YORWNNNNv6vg8DBWzoCMMiuCcvv+vJonajHE2pPwkoWgnJtjQCMCEtpeMY7d42NGcUr DqZw== X-Gm-Message-State: AAQBX9dx7vuOxI9LLjlzrCKycW/cHkrwSQECXxVuso79pjK7u0TiI3wr V+0xo+MwAUTZaokSY9SXLDqDUg== X-Google-Smtp-Source: AKy350YDswm62VxT5cG8dO/ZSDYjzKAuzc3QaqXNdge79OZFlbemUvyr+39jXX4B7DSy3AYrGOcCrw== X-Received: by 2002:a17:90a:5315:b0:23f:81c0:eadd with SMTP id x21-20020a17090a531500b0023f81c0eaddmr5286964pjh.47.1681472289802; Fri, 14 Apr 2023 04:38:09 -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, Akihiko Odaki Subject: [PATCH 04/40] igb: Include the second VLAN tag in the buffer Date: Fri, 14 Apr 2023 20:37:01 +0900 Message-Id: <20230414113737.62803-5-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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: 1681472391813100017 Content-Type: text/plain; charset="utf-8" Signed-off-by: Akihiko Odaki --- 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 55de212447..f725ab97ae 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -1590,7 +1590,7 @@ 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); + static const int maximum_ethernet_hdr_len =3D (ETH_HLEN + 8); =20 uint16_t queues =3D 0; uint32_t n =3D 0; --=20 2.40.0 From nobody Wed Feb 11 04:39:41 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=1681472387; cv=none; d=zohomail.com; s=zohoarc; b=JUig0SqGExeWaczHK4m0fmkLSOJb5q42ZaBtMldO1K1eqduy2yuntj2GUStsuvF3n2FMpG60AL035svTcXhenVlVWXP6obWoypPR85qPwZjtpHusVmGKtmxqtmafFNLW9nez7y0y7KG8TVQsTH3s3J/Pm/rrz93fR09wkFY1+IY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472387; 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=2GRV00mR47xt54Z2xfqK1Bfv1vWuZXwFZ10az7Iecdc=; b=SRpV88fQNGuYFFB2PElfsjoTrk51YgyqN6kkttr0SQoHnEfbHwntB1WQbS4vL/QddBrbvbV4RER4mgyW3LJrgNTAU22j4PK71OVZhQEuqIeFI0DHp5LaidaFqI733HKyRuuZ2EToXnW7xligy8Oz/uWZExi7tkwi6QtlDljgAwQ= 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 1681472387831714.4886637166453; Fri, 14 Apr 2023 04:39:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHkv-0008Aa-CU; Fri, 14 Apr 2023 07:38:17 -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 1pnHkt-00089p-Na for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:38:16 -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 1pnHks-0001Gx-8F for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:38:15 -0400 Received: by mail-pl1-x62a.google.com with SMTP id lh8so5035834plb.1 for ; Fri, 14 Apr 2023 04:38:13 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.38.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:38:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472293; x=1684064293; 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=2GRV00mR47xt54Z2xfqK1Bfv1vWuZXwFZ10az7Iecdc=; b=k+x46ttz7izDY3aLJBBdLhow14Br6aXs2ikXmOdRfBvNr/v+WOFgHz2LwyfP1PWqGE CghOX399PkbQbzZq6NE3TREwwrbnx1W/oksiv1a55/U6a1yPrrhwLccVJg1hhxXBmQRc zk8Uc8qimzrgjyAhJmi/K+rZRIRLgrw/IOVxqnUMdHOz8sjh6iUrT1HN27ZGkLnl/k4G WKtUhmL7TgvZubexpKQpnaBvPZlRKk0BsKqHnwx3ZsiR0UrycQysvk7XIWYjVKLNI9lU +/JKf2GavNuumxgA4lF9hRM1Xv8UGUV+X2Bs0Poteac8A2XdSGOjJBS0Id5t3LcWbxmE JW/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472293; x=1684064293; 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=2GRV00mR47xt54Z2xfqK1Bfv1vWuZXwFZ10az7Iecdc=; b=gdlOHR5v851IACKc57pSDrKobO44s4bpOVAqYtiRC/GcigiZTjYmXzxG1TtRaI1OYN c51x3EeCsKoWw+xi2uOJmOavp9GX1DUEk1U5fkHmBcaxnxVdkLoQL+Kx5R/OONl+r4ht Jk41gUK6f/Jf/H43NSrpuJ/HCS//XD5kfCWnVWvGXr5qWpS7PNm/7JLIfZlU/F+ejYJf MSfOC4j6NkO2B+E2f0IlFOZ29TWsoALrMoiIjNE3IMXZvrkL6nA2g0rPw7meUgjBUHfe 2r5vkcBCCXwnAb3IAESLLcVP/vpyRJ0Y5Su+4Om2qofqjuTmfZKSEl5IpHMYwo+PMHOm W5OQ== X-Gm-Message-State: AAQBX9efSZxlK/hBOhCZHW9jY8fkiMhfsEnYhJA0nJOplIFQxuyjLEtE o4q09XVH2bAeFxJ+k+c8pGT4Tw== X-Google-Smtp-Source: AKy350Z/joUC4h3JMSSUgQBP2CXeDu81g18LqvRlROGanFQaYmrg+xMYi40HJMWECykEbfE7vdDA+w== X-Received: by 2002:a17:902:e3c3:b0:1a2:9a94:2f00 with SMTP id r3-20020a170902e3c300b001a29a942f00mr2130727ple.27.1681472292965; Fri, 14 Apr 2023 04:38: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, Akihiko Odaki Subject: [PATCH 05/40] igb: Do not require CTRL.VME for tx VLAN tagging Date: Fri, 14 Apr 2023 20:37:02 +0900 Message-Id: <20230414113737.62803-6-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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: 1681472389980100004 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 f725ab97ae..5d4884b834 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 Wed Feb 11 04:39:41 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=1681472340; cv=none; d=zohomail.com; s=zohoarc; b=YADaYrLdOFYxy/74BGbhXvjgz0Cpbn7fyiFnzAvJekFp06q1CKgHCOG4ogRwScWrWp56Msgk5SNTQctPmMegZu1Egl0cbsvyvf1Gitwi4S0YJY2XgU0MyBgIcaioh/uLhPC5ZW3Pr0pxt8pA0+M7JCr7CvpvvAXng0QA0/ttOJc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472340; 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=S+cGOw4iIJzD8cYp6+9ekWQTwlNMy9274OltiMEKS3Q=; b=IF/VHqh79IqKg3GZ/oaR9P1txalLtlpoPnR5MA0O9R3XHDIZwtZHj2e2MbOHvdL6iOQ3sQA8fkIDukbYQyhAcFXGQbI/d19TzZF1NGxa7aTV2xASU0M0Pvx5mg7iZEt+io5VwmAEDw3wdD5nh0s6CllDa8jVqCyAIkzTAkYxOmo= 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 168147234067091.67249813976912; Fri, 14 Apr 2023 04:39:00 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHkz-0008BN-Tf; Fri, 14 Apr 2023 07:38: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 1pnHky-0008B2-Fp for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:38:20 -0400 Received: from mail-pj1-x102a.google.com ([2607:f8b0:4864:20::102a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pnHku-0001A2-Qq for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:38:19 -0400 Received: by mail-pj1-x102a.google.com with SMTP id my14-20020a17090b4c8e00b0024708e8e2ddso7419097pjb.4 for ; Fri, 14 Apr 2023 04:38:16 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.38.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:38:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472296; x=1684064296; 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=S+cGOw4iIJzD8cYp6+9ekWQTwlNMy9274OltiMEKS3Q=; b=Jo/57qpXjEShrnsNxEer7+FKhR1C4Ag0HmVXyyIw/TLI9nF4ydzIxlL4nTrHhOcgq3 SSYs7kUqz1kVHtnhMgMa8sm+FbAEvOCMeKnxaFrVkmaxfne/X9/ObFwZzZSzM2v4wTiv mp2WU3gom0yjofwoH2yPuNSlpurVtayPA3nwmB4jpL6jS2V3wfqHUpTa9Md4sZSD6LJL hrSRKtpAaaTADLs1MWgaSR8ueTkGc/9vpTZ53hIqJyoXnUuTs1Oa92PIE6YnOXAiCE1b Z8hUIHjjwAcDrzRFM1zWbS4Uj3LbdGG9wsx04FQ8LKP7HY1//WOIVf3fyCbCkLst79Iq r2Tw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472296; x=1684064296; 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=S+cGOw4iIJzD8cYp6+9ekWQTwlNMy9274OltiMEKS3Q=; b=Qk5eQYaEJQbqPHlru6YRtqfpnIgPOIeiCuOud7gcCtqXWsgDZDrpYzDyNOsSq9ezo+ SR/FhZSz+1nVcD2yk7hYCtMhD97yExQKAjEhsRq0OC2ALU8L22jPGEkKmqT1LzhBjDZS d3uzKONVWrh98YUycVVUfwG+anitmctG4QqLXdwZ53LbwB/kDM1DxY85L6rxI4G+U4O8 m97u/qzlCG+rkaIhowOsCx3VvCzdBqWvRCmf3mvu5ATMrGMaJnpPIFuSeJpscMOmuEdj 6UeokQcXzBYQFIWfFa+2lDsQykUAVRZHGpGfm6H3L+FpzCZGhbvHU+d3SqGfpBuXKwcg Wr9Q== X-Gm-Message-State: AAQBX9fogl72TWlo5UNrdKpAry1WsBhO059Gvkc82+wziIVCpGwwODPR zlcX/ZOAKjjTNRQpF9zX9KmO6Q== X-Google-Smtp-Source: AKy350Y/niwAke+iN6Ov14NkSUmgHzoZWoyCjDivqb2ZHHX7jY+cEjjAuvo9evziv5qHz/ohui2lHg== X-Received: by 2002:a17:902:e54f:b0:19c:a9b8:4349 with SMTP id n15-20020a170902e54f00b0019ca9b84349mr3174734plf.32.1681472296184; Fri, 14 Apr 2023 04:38:16 -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, Akihiko Odaki Subject: [PATCH 06/40] net/net_rx_pkt: Use iovec for net_rx_pkt_set_protocols() Date: Fri, 14 Apr 2023 20:37:03 +0900 Message-Id: <20230414113737.62803-7-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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::102a; envelope-from=akihiko.odaki@daynix.com; helo=mail-pj1-x102a.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: 1681472341538100006 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/igb_core.c | 2 +- hw/net/net_rx_pkt.c | 14 +++++--------- hw/net/net_rx_pkt.h | 10 ++++++---- hw/net/virtio-net.c | 7 +++++-- hw/net/vmxnet3.c | 7 ++++++- include/net/eth.h | 6 +++--- net/eth.c | 18 ++++++++---------- 7 files changed, 34 insertions(+), 30 deletions(-) diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index 5d4884b834..53f60fc3d3 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/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/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/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/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 Wed Feb 11 04:39:41 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=1681472552; cv=none; d=zohomail.com; s=zohoarc; b=XCJwKNcpx7OIH/sc+RQ481eSqAS3nzZVR8iuaOQjVnvAFFaqQQuVv+4R5IxN42t/es2gboNt0OoNu9TPEE1hAyDEw8z0BfJrp8588BSHHEGXW+4xDQQanZriM9dTu/76AWlyeCB2IaMHJjzcx4tDwzObXqL1Sb1lObwtF2hfu1c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472552; 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=e3TchsJ4aY9duyw//VCU9SlJxVWb0SKTpWU0agVBeHuXrXo/z8vpYtFSUNPVRfqZtkFkQUL7JvsDF2pC6D0G9a2/hF8JtdxlLJffBRMQ6OfBg8wNFLiZLOe4Cfc1IMMwSuCoJAFHyHbOJEvrIukJJC3XcqygKoeRc62wwkGsIJA= 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 1681472552774199.27715168360544; Fri, 14 Apr 2023 04:42:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHlQ-00009y-Vp; Fri, 14 Apr 2023 07:38: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 1pnHlK-0008V4-NU for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:38:43 -0400 Received: from mail-pj1-x1034.google.com ([2607:f8b0:4864:20::1034]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pnHlI-0001LZ-5D for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:38:41 -0400 Received: by mail-pj1-x1034.google.com with SMTP id b2-20020a17090a6e0200b002470b249e59so7285471pjk.4 for ; Fri, 14 Apr 2023 04:38:39 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.38.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:38:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472319; x=1684064319; 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=OSld6cLM00KgeWvi+jW/7AIQLv9cdpxekmMauGLXQli+y1QePP638x7fVJR3Zk4g+o oxSLAX2/qrm3blEj3kD0r2vs+oW5+d4uuaYVLLTatp04DElA+Udg3Vfar6BPh0hysYfr 1QHOtaycK3xwFMtNMoZ7Wnv1HZea0wzTZpM9euKqmevn8BB9iaBigaJyvyNL3EkpCYSl AaH8zo6StyK0s1nojFk5SR7UwvHaeLA0RjuZvRckZNcZ8wI/A9MbW7hW0pXM3fUlhJAM bj/mpG9fig446iBAm4BVeo2j0qV50LtPiFjmzD7X8Fff6ma55xttBHB1vXAmU8AW8RwP FmMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472319; x=1684064319; 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=FKgegXKL9w1aQeRtg+WrqSs/Z3hvvooUzfw0op3UQZJ41V0v4JXr4GFKd07PawctdU Qqf4XXOs2/cJ7LWNEx4tPrpEEpLYIXRbaw5A5+4/yk+MW7OHFTBsMIRcmNzb26Yk+CTQ ekFhYGhoYDuLWrLZRXuR/7Ly0oClioaROc4PQJzte37ySjkKw6tYZGIzOp3etjMhz2er 5AZJLdGvG11uI+qm6HKimxhKSOI9M8MUm+tJoYrIUFs4xce30GRmfnIIOpE0bX0nNLFC RzdE20ws7VuCouR4gsVvRMEeBWexbrxOwSKNW2RhVQM+fo0+pK4M1ei7q1VWMfFUb47n 6amQ== X-Gm-Message-State: AAQBX9flBVl0nd08TBAWF7DN4owc7R0JcWglDkiQebDXTAVTTNf5OMlL mBmULGesCoxZVzY2TTANYBCHGW2HzR8RwGCcuJI= X-Google-Smtp-Source: AKy350ZzrvoPeF+iYX3Tb3gfjRFiGFTRSbVWpySAAzKl9ePgQmI9MqHjZnbtSyAcLZ8TPUMD8O0jtg== X-Received: by 2002:a17:903:124c:b0:1a5:1bb4:adb1 with SMTP id u12-20020a170903124c00b001a51bb4adb1mr3165169plh.37.1681472318941; Fri, 14 Apr 2023 04:38: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, Akihiko Odaki Subject: [PATCH 07/40] e1000e: Always copy ethernet header Date: Fri, 14 Apr 2023 20:37:04 +0900 Message-Id: <20230414113737.62803-8-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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::1034; envelope-from=akihiko.odaki@daynix.com; helo=mail-pj1-x1034.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: 1681472554578100001 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 Wed Feb 11 04:39:41 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=1681472933; cv=none; d=zohomail.com; s=zohoarc; b=i8nI8h9ZkI8I29N9OvKPEYpoPM8sg6c3cUWxS12etpFmJWsLMXU4Y0z+FzGhqfhAikdaeGaUdRJrijDGxHjGlTxqjSiD/uZ5HYJjxDO5DwaWplWAOoFG8C8BqOSKRJ4SYTwO1x+DdRCxP7l5Vkt3PcZBzSxyZPgMh2Bdf03OAt0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472933; 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=+Gwx9WkSU4NUBtcfu+yhCLAbnFHjassA0d24XewHGHc=; b=Debze45lHsIutidLYIaaUa5keESEmIeF+IUdLCi+zg24xoZh/T+0GqoU4neHqGeXtm1Kmp5DK4IsIJI5D9LB7xW5tLO1X4GoUoZZsTErKKXgrgrMtW2+T3FPPE35k24AO4bqAvfRlwa9an93m1KsBdvTk4DkPb+0+cgP5fZch90= 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 168147293337945.35608017281584; Fri, 14 Apr 2023 04:48:53 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHlW-0000JC-By; Fri, 14 Apr 2023 07:38:55 -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 1pnHlN-00009I-JL for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:38:48 -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 1pnHlL-0001Lu-FB for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:38:45 -0400 Received: by mail-pl1-x62d.google.com with SMTP id q2so22894688pll.7 for ; Fri, 14 Apr 2023 04:38:42 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.38.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:38:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472322; x=1684064322; 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=+Gwx9WkSU4NUBtcfu+yhCLAbnFHjassA0d24XewHGHc=; b=q3Xb6QGJyQthrqADVu8y7fkbMNdAaGzrisMtvebX+yFFAwT/CFHLLMgTJFloOIOvnA PF1IByRylT2XX6+nLJEBFNKjwavXzmiWLD0d84JDsuEHY+e6AyyL5R0DpKCQomCBAsv2 wLPEU1D2bdGbkcpdK979nc2O7NeQkWB7EunuobsF8kaHQKyfbZJBeeWz8hUaM0ZN3Wxi 7sAaYpNzx0zWuqGqRlguyD7lPZ6JIuMgOtlYLepIql8fREyF8UpNKrcrpna8K0X5p2mj VctWyvgEVETDAo44rTNdCGP48mWXanb4KaZ/jubR+v6P/2W5O/uzLuoS6KiqwWjBtPFi UUbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472322; x=1684064322; 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=+Gwx9WkSU4NUBtcfu+yhCLAbnFHjassA0d24XewHGHc=; b=dlJYY+NrnwSvzSfm8fuj4xUMF1LzQPrG531qE9EjUpR8AV0nUFyEW+xZ+3SUsW2k2m m+Sm+61WMgpIqYvN3dNV5kORRoftVzp55xfzbvDMQKJDKHOSsycto8apimGKrMIyjNmn mAzdhLCudsqeRoN6JsnneNOewejOcsH7dAIF2f9sKeHODIjRvgNORCNlZ2FHncl4rsk3 +BrODJoRRU8FZR4csg8wqBFJNpFUk1S8G3ua0Ot3dLi00iX4euFcnZdRhDGH59mZXPVi FJoCI5v0cu3xi0CbC+zoam458LSGKoiL0FCgy+w9sfmAqy8R6LxjGnKuo/2P4MeSZML6 ccbQ== X-Gm-Message-State: AAQBX9cjNl8+g9t8jCX2/YecC7zFPVudSsAxFdl2efuNnIghDJzIxXSa mKauaNITBcNaUyXFHSQRt+SFDQ== X-Google-Smtp-Source: AKy350aycFTS6zheqnF3NjsJIVkQl8l3w1PUCmS6Ht0KVUHpoka3h9nrmwHT2sd5zqsmwruM0We8Ng== X-Received: by 2002:a17:90a:a610:b0:247:2cc7:124e with SMTP id c16-20020a17090aa61000b002472cc7124emr3691493pjq.41.1681472322194; Fri, 14 Apr 2023 04:38:42 -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, Akihiko Odaki Subject: [PATCH 08/40] igb: Always copy ethernet header Date: Fri, 14 Apr 2023 20:37:05 +0900 Message-Id: <20230414113737.62803-9-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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: 1681472934035100001 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 --- 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 53f60fc3d3..1d188b526c 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[2]; +} 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[0].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 + 8); - 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 Wed Feb 11 04:39:41 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=1681472352; cv=none; d=zohomail.com; s=zohoarc; b=MY0qBXm6fkIqexUdBGULURLA+CHHwYKEywxz3KuOzhto3mMvTiY8yxbeKVNdl+34QcqJXnl5ZudQ4ZmONOFf9kdxcRyQfN3mw4jsIqsvgrBxIRbQNF/lt7Slh2Mi1AENi5c/hc8Vu5LiHpyTiALQ6HtGEUb2WG8aMSM9IvQ0DEY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472352; 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=OFxd8pcj4wHW0mO+/pQHN3vlTEm9pQVwouFzSiwk1aY=; b=DaLjarSKgDtt7CfquqowFhpcuZIv8MBQP2cyHPD3AT1qa/M8V/2qdYV11BYVubFdoSFM1DDBrlwpEPxbK9yY7xuVMXyGzu6HR6sxMomKUdoSQGYojnhaB78axcb6moYY7cQFg408gqw4PasqvxEhVZgCNT6ruP5ZfVrEJHR++xE= 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 1681472352885865.3821879774525; Fri, 14 Apr 2023 04:39:12 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHlZ-0000Ty-Lz; Fri, 14 Apr 2023 07:38: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 1pnHlR-0000Ar-GP for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:38:50 -0400 Received: from mail-pj1-x102b.google.com ([2607:f8b0:4864:20::102b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pnHlO-0001MS-SH for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:38:49 -0400 Received: by mail-pj1-x102b.google.com with SMTP id v9so23392417pjk.0 for ; Fri, 14 Apr 2023 04:38:46 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.38.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:38:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472325; x=1684064325; 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=OFxd8pcj4wHW0mO+/pQHN3vlTEm9pQVwouFzSiwk1aY=; b=3s8o664t7O/JDQZdFToSstDZocybEXqTlhZT1ciU02ql+aqAze3N9ucS1JjpLBkRpD WTKTtnfkPwgnBVmS8dPY0YmgRaTD3vBzPUCb4+4LrcW95//1122qy7xV9mhfose/HkT4 eXAXDCv/O1IzIJiDjxzLjUt0eo7Ol4gBeZ0niMxxrwuthXTEiW/A7GgbslAU+1MADP4W lfdRDXRplMOJ/CJWdaLtC9rBZK3OqUnLbMQzV7YUEYlox1k6RBfIlvG9e1u/hfgz9ib2 F2qZLqQamLLQI+zams9i/icohZ158TxIbLtL8nfqr/q8de3h+ttecFcVwmzqPNgqpg5R W95g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472325; x=1684064325; 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=OFxd8pcj4wHW0mO+/pQHN3vlTEm9pQVwouFzSiwk1aY=; b=ZwwwTiwPN4z9YuYi58ND5qakIw/C7sACkY4LNn8eYfHd+/KtWoAINqKMO2O3Jul9if XrriRplIQ1fYt+TzICETLGW18Gi3xmOgSr6CLX2SGDaFCfTinAUmE84e0Kz70tNDXlbk 9VJwMLgJxNnVW0pG4jTXg641jkfb2KE2z04Ku4X9NRW+3IuHJLy9Pv2ky3PLIj92xu53 GYOlbgKAp7Q+gZJUf2Pza1Fp0g40hQOM3gt5ckGVcjIgr6JFa4RA1StumpvIL5R5X6eT OTCJRc5V2x3nORSo9qbPGL/ZJbOZUniiMpYW0vUbeRDkqhlRGbBNh/JLlqr2kMqtWVAH 3BGA== X-Gm-Message-State: AAQBX9eCckJGCdTXecCfmA+ze4YB/ak8v/ueadZwlQhCkyx76y8HXDny VdVQCur1RrZgb1S/Jkhca6RoNw== X-Google-Smtp-Source: AKy350bSMg6TugLG0xguLOEwZ4EKrxYQXXTpMkn+Y7Ejn36m+A6AZorcGcBddGq0JqCrg8dQxaXmyw== X-Received: by 2002:a17:90a:f190:b0:246:b2de:f13f with SMTP id bv16-20020a17090af19000b00246b2def13fmr5332735pjb.24.1681472325458; Fri, 14 Apr 2023 04:38: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, Akihiko Odaki Subject: [PATCH 09/40] Fix references to igb Avocado test Date: Fri, 14 Apr 2023 20:37:06 +0900 Message-Id: <20230414113737.62803-10-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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::102b; envelope-from=akihiko.odaki@daynix.com; helo=mail-pj1-x102b.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: 1681472353559100002 Content-Type: text/plain; charset="utf-8" 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 Wed Feb 11 04:39:41 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=1681472343; cv=none; d=zohomail.com; s=zohoarc; b=An20TDgP74oqNzq4CFOb3LaHYaxT3NCD31eG2PSal+0H41Bh3dlYwGwsfpqanCVijhe6RTWKib6FTtN9zlLUm7Z2ECGiVqNcbutpz9qdQ51IUDvYmHNCy8L2l8qZgGI3ngTGm1ZvhEwaVwF83tXohErOesXIgKEEu4WZlCPLGu0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472343; 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=ZFdV9Ps7XiIDR8zxn3vKOMIqhqkj43yXLvgZfXUOsXScZVj7ES3Tsx+v7f33f6oHY6Tds+vKQeLQkMKgJRdLX+1bTlhkjxU2ZilAIJgCuoZjoUxy4yJ9bw7Ft+krdS/OF8l4B1bTqTQmfvGbnkW9DT2RTp2UZAubmjJBBGFkqtY= 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 1681472343066227.35563270079308; Fri, 14 Apr 2023 04:39:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHlc-0000f9-G1; Fri, 14 Apr 2023 07:39:00 -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 1pnHlU-0000H5-02 for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:38:52 -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 1pnHlR-0001Mk-Tv for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:38:51 -0400 Received: by mail-pl1-x631.google.com with SMTP id n17so2053414pln.8 for ; Fri, 14 Apr 2023 04:38:49 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.38.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:38:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472328; x=1684064328; 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=MofIErUkDoexnlKNy5643ygMpbEw+Fguxxkxow0AgD9pEJrMyB4s+JR0JJw0S+4SO5 wRQJ9aZpaAZdkUSrkCqOtUV1cWSV3dLPSXadcuZKG35XwU+zVJ/uGvLTuwhek4U+wdta 9HNOvciVfMBih66r922gUTaxi4fp+3UD89I/K7nLuyWXq1P+NJl740DugOWMSY8nDFAu +I7RWjyA92tnmD3CPA2VYc4aTgymJiL+8X9n/00kOYL2/eCt4FTqmJf5766oStcyJ6yY KM6aXfXoRlSzge2Zhvhy+iTDAO9+K7zIuS2ZrbFlPZa1HU2ngPlfOJIRXQFImXRcIhuZ Lieg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472328; x=1684064328; 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=YhSgCFZmqd+tv40EnsIWU6qcbhNaYODEpxLuOiu+Grurgn/LimsAgrDKTCy5eCc8mh wAJxYe7F2otQktyAOEFogfAJj7FCDmyJ1prhJvVz1yWlbwZM38UaadQ68j9/1NCPmNie vRo4HoAmarE1Vwq4lKzpwiNxFvfcV0LU1I3HiN7BM8wZyODS0zmxQL1waJfcjL9v6i/G SIA0/fav65i6UTKynquBbbuIYyczZi2aO9Tw8iZgIshsrQvcYXFesq1ndM7VCAFOaTZD gp4YFslJSUhbM8ssjB0Yg+NKynLvDKsvzLN1XomAipqMXkLBojzMxmI4Bm/ytBT/PAm4 6YKQ== X-Gm-Message-State: AAQBX9ce1JTc5hSx3hLuR0qdDFajBpgc83kmj6mb0BluhnwWN85Gj1q2 APh156ZjOgGUuPvlrMXCqhCMuA== X-Google-Smtp-Source: AKy350ZfuPJ8YZqTb9bFzNz4S8sovBW2JA9Ma9fYEEzmFJH9hRRWlfV7QoPWWYxJQDBXf6n9jw8Xbg== X-Received: by 2002:a17:903:1107:b0:1a2:58f1:5e1d with SMTP id n7-20020a170903110700b001a258f15e1dmr2789519plh.36.1681472328616; Fri, 14 Apr 2023 04:38: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, Akihiko Odaki Subject: [PATCH 10/40] tests/avocado: Remove unused imports Date: Fri, 14 Apr 2023 20:37:07 +0900 Message-Id: <20230414113737.62803-11-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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: 1681472343484100009 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 Wed Feb 11 04:39:41 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=1681472467; cv=none; d=zohomail.com; s=zohoarc; b=ZsHp8TlW08saB14iHkQQfDAaOFmMUy+tEUkBevyNmBkr1/dn8iCp2305sR4Mf6Va8+v3yv1nCWwvTsB7cPdopQ9JNyc0wQ323NTFj51smU3ne9wKu4x5r+wMpa9E10wJ0d3+swbSe4Xx9KOb1ufUcdcA6Tp1rvZJnE88e5P/gZs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472467; 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=5Ra4vem1bEUNGQf/At/UarboHQTyTTT4h6LEAWK7BBQ=; b=iDZdRj7Vl42VnQio2TwiX9Us26g0BYqcFgxe9AYJm1xXjp1vJP7VqBsmIQe3wVoOa1S4fTndClAXlWUu8SwTM4klwuDUiZMj6WZyD0Q+gGqYeBOzGW4eGFQLneQJjwZ4wET4+EsOdcd1sUO+6dHSH4k9PjsQkYgqAyHqopcLlAE= 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 1681472467521529.0484872364425; Fri, 14 Apr 2023 04:41:07 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHlb-0000a6-Em; Fri, 14 Apr 2023 07:38:59 -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 1pnHlX-0000My-AW for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:38:55 -0400 Received: from mail-pj1-x102d.google.com ([2607:f8b0:4864:20::102d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pnHlV-0001Or-7c for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:38:54 -0400 Received: by mail-pj1-x102d.google.com with SMTP id hg12so3564468pjb.2 for ; Fri, 14 Apr 2023 04:38:52 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.38.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:38:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472332; x=1684064332; 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=5Ra4vem1bEUNGQf/At/UarboHQTyTTT4h6LEAWK7BBQ=; b=wbIpb9rpF4tT8sWbjdv9wcf636m6F5uN8mpHl1HfRSVN8OwJkb6vqfKKxXNb9h3+Hz pJujDJoLHlgVIdvVbTxGUH6E8pK8OwbZFKzZXpeDkh9kmb5qzDz2ZOANVf6K+SN7TkcF S3Sg5I4h4k7ZtvmdektU7QN9OhLeTjY2q0qtqsSd8/t8P+AadNI+hWzkxOocqeWe2Lup 0Mn6guz8oUeyRkchdUzzsXL1eHZV/P33T3nz0fauBR4Jh+1Oh71jvsLsiO+9GNQAePnq Zghl56wABkwzySBZ3ZT45VYewW/tL6/8ROrsJEF/bkG/02igaJW1/fHzrnnr6tityV18 osLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472332; x=1684064332; 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=5Ra4vem1bEUNGQf/At/UarboHQTyTTT4h6LEAWK7BBQ=; b=S3ZkRNL2t8T8tCS/P8ftJ8+dGr8PBhDdTAt+Q5yO32OG3q5zzCNJXLDj1QTV/Xyg2z 1HhgmPuXQUqtoWrg6m8IhbRoD1AUbtTkhY+ZUEmxHlITGtm0vuC9KErIs+x09Wq9a2++ goTurWkJIPi6/yhnIN1kbbTCUXsMY8hOkyDw4LPfmjKb9OF0VQwblYJHBX9Wmyv/2ATn 8HijEbGQeatKBumK0vcLELlzANGKqN3FwlctXt/i82FxsUGl8LMP7JISxDFUnCnWclC6 ugAVWhh3E2T5P5QYAKGR5HlVidW6vRqhSZt010p3u17kuA3nPuWd+mY5M+1uYJ4zjFCb uEQA== X-Gm-Message-State: AAQBX9cLemp57CeID+Kwu/DwwRC4Dl+/H+EGCQrSJr/N+BlLIbhfLV/9 Cadtm6AJNyg/FBeauYjEK1UcWg== X-Google-Smtp-Source: AKy350aHlOCim2+zdYiCZL3KwMFpqwOq3AA1YSjDs1Y3R6QkBvCzGEQiutw/hdRceGGVv6E+CbXj2A== X-Received: by 2002:a17:90a:e28f:b0:247:4200:7432 with SMTP id d15-20020a17090ae28f00b0024742007432mr1404389pjz.40.1681472332027; Fri, 14 Apr 2023 04:38: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, Akihiko Odaki Subject: [PATCH 11/40] tests/avocado: Remove test_igb_nomsi_kvm Date: Fri, 14 Apr 2023 20:37:08 +0900 Message-Id: <20230414113737.62803-12-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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::102d; envelope-from=akihiko.odaki@daynix.com; helo=mail-pj1-x102d.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: 1681472468175100001 Content-Type: text/plain; charset="utf-8" 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 --- 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 Wed Feb 11 04:39:41 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=1681472994; cv=none; d=zohomail.com; s=zohoarc; b=L0dKknPj9gS2Kmi310PJNsKqbDtGQhI8lWfYgIZO4ldSfiUS5w5J27QuRYpcQqyfJ5dz+kpTCEBI4Te0QA2oQjRZ1mqTSDcUMdrdrSi6BBSU/tvC9LqsSnoGdeM0XZuNDGOWBGRCdjZeUK5p/LM2dV8RP649DYH3y5WTsVXtmJ8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472994; 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=y5nszOMqQUezol6FiHYuWrZcdMW6lJNLoWyiDevlVfQ=; b=nN4hBFQIfjxfbpeM+1atVf+KeoN0PbjlfQmYYZ5bsH6/wfgcaqppgnW/muQm31M/2CcGaCoqLd+SNUQuHSAX9WsVXbgMPH0Hkv5L7SdrPEy6niNDu/WZT0ks42hNyPnXX474BcIOrGfIkZqMg4inF/mADYAcWY0678oyF+icOGg= 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 1681472993928734.6858830151282; Fri, 14 Apr 2023 04:49:53 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHld-0000hW-DC; Fri, 14 Apr 2023 07:39: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 1pnHla-0000bV-PI for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:38:59 -0400 Received: from mail-pj1-x102f.google.com ([2607:f8b0:4864:20::102f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pnHlY-0001PG-RJ for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:38:58 -0400 Received: by mail-pj1-x102f.google.com with SMTP id y11-20020a17090a600b00b0024693e96b58so17242813pji.1 for ; Fri, 14 Apr 2023 04:38:56 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.38.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:38:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472335; x=1684064335; 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=y5nszOMqQUezol6FiHYuWrZcdMW6lJNLoWyiDevlVfQ=; b=JuTnlcb+s7dNqsqfPxlOYdxFyRYFCyHVGrWK1aTf9LsOffawWgBWm8iMlcphQmBDNR p/qNDsrqw4xM68pDD9QdKOA8LBupcsbAtPz5D+hpG/ZXjOXi6TKQVrjuDssmEy9aPMxH niFblZMfrMvDBUv6S9PmYFD1Xjq0tJxw4/iUP1CoBKYsbFXzFadBkevCxHUF9gLrM2Iw hWoZOUa5UK1kNTSSSp35MUsr2O16XNWvWYsrZHAzVvoouXIg1VagJpvbeOIdgW3P/mvp NIRkDFp4mj4c8CIKnpQifLH0yqxyxr5trgSD/0sX02ke9mG7qlj93bzPiBoEifSuxX2j 9IXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472335; x=1684064335; 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=y5nszOMqQUezol6FiHYuWrZcdMW6lJNLoWyiDevlVfQ=; b=gWtxTmM2p0KEqEa4ZBS5RygyiThKt6dJ58lZ48gcyLO4JTnVKkhmvn2ZrMLs1P8JWO 8blVQ8DD3jCIAtHwZ+RHB0dBBHZzdMjS30tGnVg7QtS3ckiHq+5revEoYBiYcHeLPzaI bFj+wqPHHVjvKSMuhJC+qjuy+LxVlLDC40jsx1x6HvqXPoWJUutrrrTjr6FfEgt6FCI9 nJywJCf32q1hCFmPNjvvmnuF0Q3+2jWHLIViQ+DQg+C9klFkAmgWPIBDZs/jBXluyVme DK6yzzj8cNH55+uPX6Efm28H+Y40uwIcoiyBq4yePVz+60Jt0h7b0CuWn4ba0FjQRGLO uTMQ== X-Gm-Message-State: AAQBX9f/ztx8ONxqRkn8OmWokfwZxMahMPkDVP0nGEc3n9b3NPShRIm3 4USbKlHs5O59Y/PtkvI/qqAOyw== X-Google-Smtp-Source: AKy350YXi4WYSypmNNLsiOEAqRq5lubpZtQkjmGYnHQPCxhmjAs3nrtjcpKxojLn+tigq8c8N13DAA== X-Received: by 2002:a17:902:f685:b0:1a5:5e7:a1c9 with SMTP id l5-20020a170902f68500b001a505e7a1c9mr2981665plg.61.1681472335482; Fri, 14 Apr 2023 04:38: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, Akihiko Odaki Subject: [PATCH 12/40] hw/net/net_tx_pkt: Remove net_rx_pkt_get_l4_info Date: Fri, 14 Apr 2023 20:37:09 +0900 Message-Id: <20230414113737.62803-13-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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::102f; envelope-from=akihiko.odaki@daynix.com; helo=mail-pj1-x102f.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: 1681472995525100003 Content-Type: text/plain; charset="utf-8" This function is not used. Signed-off-by: Akihiko Odaki --- hw/net/net_rx_pkt.c | 5 ----- hw/net/net_rx_pkt.h | 9 --------- 2 files changed, 14 deletions(-) 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) 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, --=20 2.40.0 From nobody Wed Feb 11 04:39:41 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=1681472356; cv=none; d=zohomail.com; s=zohoarc; b=ODJBFfLHYC0BqSlg1nNvYC63bac89WnIsAjZHCp9d/+BvdmmAU2ELMAObw61O9BBl+F2gHr2k4XvKbQNUMy72m+ONbnmS/UyAkftL/zF2acQ5IveqtzJ2iMDxBLsX/WfeJWsVT/kjKLFL+HrTem9NPopQBxWjiMvBR09t2iMkdI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472356; 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=haU7BYmkOsXdY0I+IFn+MuI0yE2njIQRdGNymipMhRs=; b=aiSmAVf63ICM0h5Ly6aIgBG6MCXuV2ygiD+YIXJAaSd+N/mTvD3nQpy60zfiMu5ovhjxr8haeoAwEr4+UE1o6Erljx6B6xskLmSu3eUAzVjQwqVkKPbA4Kt99agFvVa4qCLlOuSTxFEVTg0Ci3OewAE2j8PNb8IwX4VS4EYCwpk= 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 1681472356353505.5182411080116; Fri, 14 Apr 2023 04:39:16 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHlg-0000tk-Cd; Fri, 14 Apr 2023 07:39: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 1pnHle-0000lz-Pz for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39:02 -0400 Received: from mail-pj1-x1030.google.com ([2607:f8b0:4864:20::1030]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pnHlc-0001Ph-8j for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39:01 -0400 Received: by mail-pj1-x1030.google.com with SMTP id k65-20020a17090a3ec700b00247131783f7so3979573pjc.0 for ; Fri, 14 Apr 2023 04:38:59 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.38.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:38:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472339; x=1684064339; 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=haU7BYmkOsXdY0I+IFn+MuI0yE2njIQRdGNymipMhRs=; b=p880Xhp0/3zXZRLcumjhqIPihEWVPUSxdIzPvGAyohRPEXn5IU6TPhPp2xXwlzaTFa VOLCEEz7+VRbJi4TTsh61QSZYsk7GrshKnnzQl+oC3PMKYWFmLjJ0z+kYAR08fZP2pVz ysEIfjLiJ+xJavsicWyu8QQPB9U2Yf3+Duk1Ns62uuZ/GO+k90s9dbVw6tBLFDwmmqLN ZDoZoNvUq3/XcjXWrNmyDEzsKYcbkUaWvb0sLWd0EFJJ1YV+Dn56A29waHP2eaTtPhkb az0BVENKk2SRIbqA34HP/EcevHVvM93wB/YB9O4EHu0ZT81ZoqIkAog3irrQBsr4Ln0V 3liA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472339; x=1684064339; 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=haU7BYmkOsXdY0I+IFn+MuI0yE2njIQRdGNymipMhRs=; b=C2pSV/32uqUPMxNadVkHnGp+Jx38Uh6sPoOTSgQMxb/oiwyhrc9r9b+RrfVEz6M31j 0IgOBgx5dglYm08oFEk0I4OaZGtSVVq6o0oRn8JbSmUYDjQPogtYMzLZ8rJGy285AHzH kOn+Dh4Wnpm1P6HIdvFN8HNlHuCSzyftnyLnDdtnE/4LZb3/5Y+VGW/l/W4vp+7kGC2z xTvmc6Ji42lp7JiigfG4GzzRRlgggW9VDQiIL0Mn+khq2PcNHuhZdMAg0ES9kNxhXG8g wxRMW4PEr6nGachtEY2o0VsWxVVg5hFGKgGg/lq9aVI77zUKIA7nBGx9Wc2i29k9mGO+ 4GLQ== X-Gm-Message-State: AAQBX9dy5MPna+9GukO0oUUO232JMqijqRoVw//BQeNxKKLxI+eULm+y 34xAYMkEt6GjTAUS9WDfShv33w== X-Google-Smtp-Source: AKy350bdHnG5yYptAjrqx/t26ydMgoUZAkLs9TM+fZ+cD2rIUN6x8poA6MSlRRNqn3zWKx+yjsmUwQ== X-Received: by 2002:a17:902:e74c:b0:1a6:6b9c:48ae with SMTP id p12-20020a170902e74c00b001a66b9c48aemr3088074plf.52.1681472338916; Fri, 14 Apr 2023 04:38: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, Akihiko Odaki Subject: [PATCH 13/40] net/eth: Rename eth_setup_vlan_headers_ex Date: Fri, 14 Apr 2023 20:37:10 +0900 Message-Id: <20230414113737.62803-14-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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::1030; envelope-from=akihiko.odaki@daynix.com; helo=mail-pj1-x1030.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: 1681472357573100002 Content-Type: text/plain; charset="utf-8" The old eth_setup_vlan_headers has no user so remove it and rename eth_setup_vlan_headers_ex. Signed-off-by: Akihiko Odaki --- hw/net/net_tx_pkt.c | 2 +- include/net/eth.h | 9 +-------- net/eth.c | 2 +- 3 files changed, 3 insertions(+), 10 deletions(-) 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/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/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 Wed Feb 11 04:39:41 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=1681472387; cv=none; d=zohomail.com; s=zohoarc; b=DV+AbOyjN9/gHopF6/BTFukG9LCToUroyQe9GTx9cyyAYRJIJKfjuDNxXFbA61Knc5ZiteQNKz2XF41McSvNMSG6dEvFRWZxigOclpCh+1dTevOdD5R6QajKt2qQy5zMzrxbU1jdnu0BLOl80uyUZ3vNt/1LMlkBorwhoGBsYvc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472387; 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=6ftg/ozD1HlFpFOXUxT2KyZ28gd9Bfg7JxV3V40zX+A=; b=JP+tPPduoJZKxclwpl1QPCXUPY+yr2D77v7yvCWU6PSy+P1FRjwnA0xmME3ExzILBtfsuPUwdBOZUfZ4jDSJXEC/VbBvEg3u04GRv4v/aLsx09YZoqhC1gNYo+iz4qrirjBqxAeaD0LYyP9f978A+/+dScAZUMh/jWxm7cWnPew= 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 168147238766897.45341151824209; Fri, 14 Apr 2023 04:39:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHlk-00017R-0V; Fri, 14 Apr 2023 07:39: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 1pnHli-00010x-AD for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39:06 -0400 Received: from mail-pj1-x102b.google.com ([2607:f8b0:4864:20::102b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pnHlg-0001MS-4O for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39:06 -0400 Received: by mail-pj1-x102b.google.com with SMTP id v9so23393029pjk.0 for ; Fri, 14 Apr 2023 04:39:03 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.38.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:39:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472343; x=1684064343; 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=6ftg/ozD1HlFpFOXUxT2KyZ28gd9Bfg7JxV3V40zX+A=; b=4XekFlgQ9PFQfmDLbGlG11vKVQYKgPbI+akI3D7NuaikEpqj4oQEx/Dsu7MwT+NrrP 6oeZ0ZQ0p+8gaCyI/Xo+OqZ1PVCHq7qXBNOdpa/iQdRxZfDtrMvogsvkktXRrLzFtgZt Br2qyRxapxk5CvthvHPSy32k48f2hk6DHIvm9MpHp1l5MSDE3s98lAHbWZl7MiFcmh83 WFhP7qO6RRw0kuWV8C3/6TtJrdn5dvIqlinSI2/isLn8ZetSK3Na9K/yp4ywagGNay+X rCHMETPLhNSO+dSv+NMptTbjpoR9n9oBAWwHKtuqeB2PkPWLMydJB/Gklc1l5o+OWw1m IGPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472343; x=1684064343; 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=6ftg/ozD1HlFpFOXUxT2KyZ28gd9Bfg7JxV3V40zX+A=; b=R513tftKjKVZGSPtAj+6lI8/6XTj+oHgM4brbD+cNvIQmOOBlM7p0mKTUmCuO6HzZD rkOpZxRYnVJdDHS2cHm1rd58X7y+k0WginOTLOPRHf4WBTipAazx/xieVXxhooeaVqqQ 0WtyX+risWemXOfP9wD+Pd8lF4KHcoDCml7SEc0aCNvCODM2o1pVG8DBnbCT+7UD9mBp rijCKfQHgY6KQclDdtVKT7Nb+ZNcUkAg31pBkyuWYCdE7qJK1pi2xFErltO1+xAHCKHu l39cHFZZRS5DaPf8tRg5oucrAHuGT7xuBYJMgotqb2AsZePooFC4+mywsp5G3W1n4rO1 kxdw== X-Gm-Message-State: AAQBX9dM3SAtixSnqLQLpSoE/o5D4XVH7JV7/xOfESPcdKJXHIvR+PPY ozg5boKnPuxx5/74izMPeT+u/Q== X-Google-Smtp-Source: AKy350aDcjpltWME5fBdB4ZjfOKLX8yxxre77916g8Hl5jkUpqpwNDhg1RZuzP6tMEJfDjjP7/TBbg== X-Received: by 2002:a17:902:c947:b0:1a2:a904:c42e with SMTP id i7-20020a170902c94700b001a2a904c42emr2526912pla.24.1681472343405; Fri, 14 Apr 2023 04:39: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, Akihiko Odaki Subject: [PATCH 14/40] e1000x: Share more Rx filtering logic Date: Fri, 14 Apr 2023 20:37:11 +0900 Message-Id: <20230414113737.62803-15-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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::102b; envelope-from=akihiko.odaki@daynix.com; helo=mail-pj1-x102b.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: 1681472389913100002 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/e1000.c | 35 +++++-------------------------- hw/net/e1000e_core.c | 47 +++++------------------------------------- hw/net/e1000x_common.c | 44 +++++++++++++++++++++++++++++++++------ hw/net/e1000x_common.h | 4 +++- hw/net/igb_core.c | 41 +++--------------------------------- hw/net/trace-events | 4 ++-- 6 files changed, 56 insertions(+), 119 deletions(-) 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/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/igb_core.c b/hw/net/igb_core.c index 1d188b526c..5fdc8bc42d 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[0].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 Wed Feb 11 04:39:41 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=1681472893; cv=none; d=zohomail.com; s=zohoarc; b=dduI4A3+d4kB4QffIKuFPSensFWfP2y8hIcrZQGghur0kantLdJj0/mzxcVEpsHnMUUq8BPPGhks8IPMB08J0SWqq6nM/dy7oU++FLu9f8n2sRa/hoVWCiyVrb0orBJEkd+PKcttRXE8qcr9OY5vII4FYO/ARyRs7EyR+NM9hqY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472893; 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=1dx7tsylwn1L5BY0wLuQa9BFnmXyEFghTFHqC+KsGRc=; b=eUfKE7Tu1SaKglbHjUL0QznJExvj87hoI1D1Vaqr2+lpW+yLkaNz6fd65ZRkMqIbJ6qdgG2UC0Ll7PNfD9zUtLe0CXL9JjC/RaE+2YPqYwws+CaTY88zw6GgP6Efy8MAHj7E8iPwccdDbDLB1mgd9tRqy91pNLrWDeay5FE6hPg= 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 1681472893547513.5264772505127; Fri, 14 Apr 2023 04:48:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHln-0001E0-Eh; Fri, 14 Apr 2023 07:39: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 1pnHll-0001Ay-IN for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39:09 -0400 Received: from mail-pl1-x636.google.com ([2607:f8b0:4864:20::636]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pnHlk-0001Qi-1T for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39:09 -0400 Received: by mail-pl1-x636.google.com with SMTP id w11so18014918plp.13 for ; Fri, 14 Apr 2023 04:39:07 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.39.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:39:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472346; x=1684064346; 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=1dx7tsylwn1L5BY0wLuQa9BFnmXyEFghTFHqC+KsGRc=; b=w95mJslSn9ySa0NJPMWhWS1vboaWGNXDxi3xmGefhV/Cz2DO0oAsv9DG7l5M3PzUEm CS+QT1TVxleEpbnbUcSaYjV2fwYw5BvfoMMUGPpvlPaDQVlQ/Pz86x+7dI06lBPyESUH OrDY4k8Xwyr2DJJ25DHLiHzQ/EhfKdzgfFNwRktDmJt5ucoLv2Yt3wP1kMpQc4sy3RBV vvMH3WRUGG2xuDPmpZqXnRlPvPR4BgQ3Hvj57/PnsahwGgqj4GTA14ceuJm7xYsaNImE i5XoEkC+MR+tydS7iuwofO1dwr1ghIDlk5c6k66SV7o7ljxjya3KNWvJafwGu97Jvg5y UPiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472346; x=1684064346; 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=1dx7tsylwn1L5BY0wLuQa9BFnmXyEFghTFHqC+KsGRc=; b=lccu5Fxpl6f4gn/xIl48uxJcSTsYDVLzUybOHMLP3uN9mvSLAEKW5UQgOSzF5Dx9O8 a0YsvjX+grAPtlBiKDE8ZMFtBWhHfW/y71o+gYyrDAF5WIjWTd+vOTGAoBDigZmjbwpc 4lpF/Gtj8d+GygLnoEzJ451MjtLXfqAQdYQNXDvFpOy9/v2R+a8mMVAdC66gV23GLUgq gyRGenOhauhgGumKiUFDaV7FmfbhkU1uSfxHBEcvkRtbaJMnoDc2eFk0zpAIX03d8pzN svnDam6buvJGIyOWA2hyU+9Ydz4RASh81pv4WlHKDra8tFJu4ku4So4EJIcC95v2dCx+ toag== X-Gm-Message-State: AAQBX9fxmABtDbZ5l7mMYhNN9T/OcUEbPWB3DT9rKC8JGnLdc5wu3aEU Bm1NJHZU/zN50niCKLMS6pUw9Q== X-Google-Smtp-Source: AKy350Y3oIlzcRArpDDU4Rb4XpCHBIOzvniEZOXcr9nGFhAaXtf00lOma9gM6FGs2/aeB8GGAUGYHg== X-Received: by 2002:a17:90a:17c3:b0:237:ae7c:15be with SMTP id q61-20020a17090a17c300b00237ae7c15bemr4843310pja.30.1681472346591; Fri, 14 Apr 2023 04:39: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, Akihiko Odaki Subject: [PATCH 15/40] e1000x: Take CRC into consideration for size check Date: Fri, 14 Apr 2023 20:37:12 +0900 Message-Id: <20230414113737.62803-16-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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::636; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x636.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: 1681472895408100003 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. Signed-off-by: Akihiko Odaki --- hw/net/e1000x_common.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/net/e1000x_common.c b/hw/net/e1000x_common.c index 6cc23138a8..b4dfc74b66 100644 --- a/hw/net/e1000x_common.c +++ b/hw/net/e1000x_common.c @@ -142,10 +142,10 @@ bool e1000x_is_oversized(uint32_t *mac, size_t size) { /* this is the size past which hardware will drop packets when setting LPE=3D0 */ - static const int maximum_ethernet_vlan_size =3D 1522; + static const int maximum_ethernet_vlan_size =3D 1522 - 4; /* this is the size past which hardware will drop packets when setting LPE=3D1 */ - static const int maximum_ethernet_lpe_size =3D 16 * KiB; + static const int maximum_ethernet_lpe_size =3D 16 * KiB - 4; =20 if ((size > maximum_ethernet_lpe_size || (size > maximum_ethernet_vlan_size --=20 2.40.0 From nobody Wed Feb 11 04:39:41 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=1681472367; cv=none; d=zohomail.com; s=zohoarc; b=nl1sMWaKvPwmmOWfHQhLJI2uBbCX8W3s1FrsnuhlpSxmIAKIeDVN/gMZAaZ1ObtuhuLyS1vsPDXJ2o1YKprnf/l7cMdNdNFlBtg979hrlIbsoPq0UeSl9i75+omdjG9wrcDkvxWERsSFZYbWIR6o5r9F2uXKmH0cCaapFPJCWiU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472367; 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=k3mdXXZyQXRfXSMLDl79itWqXU0m4NOTVFTvkifQBvo=; b=kG4yWX7LggxHFkwTRv2pmOECwjKF4tzUNGrafxY52o1bYaGZw6LWy1r4pG5nrbCjRuiy/t1nDW+7gX4ySU8eZwEbru3Pig322KXzFlPQreh4UkVAm3PwwvvRri23uOiYH8vA16L3sZ6aO6GjH1Ac+onWAlnVxo+SK19NmnICJHM= 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 1681472367440269.5799120639066; Fri, 14 Apr 2023 04:39:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHlt-0001V4-4M; Fri, 14 Apr 2023 07:39:17 -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 1pnHlo-0001Pe-Vt for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39:13 -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 1pnHln-0001R7-BT for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39:12 -0400 Received: by mail-pl1-x631.google.com with SMTP id l21so73596pla.5 for ; Fri, 14 Apr 2023 04:39:10 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.39.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:39:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472350; x=1684064350; 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=k3mdXXZyQXRfXSMLDl79itWqXU0m4NOTVFTvkifQBvo=; b=Huhm/DVr9qIP6tl4RdTAMluHqkScFBlDJchsUwtLcPUouqWZQc8FiDkABSBI7UGc6x etd9Mxpox7W7Mcx2cJWvoP7EnBjnFbaFbi2yP99qqWgGfRZkyAPVSdzxZemt29VXCrG8 T690xJsz/Z96jW7mLs8adwdazH6Xz2Za4/+UGvA5VOmLuHCQHlIqBhAk6PMAKFMsXQtx WenXUZE5yCW5cNtTkfDju/J7mvr6mbS1jsSJTk7hMxQszSGMne8zUM8K4mW3ods02llS OV2O5ew4OIP3nhQ/A+MqdQTO6vL7SyWweAJa57iYbKJ+oWLKUzFMIvvkjhdHHMc5kJPB LIrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472350; x=1684064350; 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=k3mdXXZyQXRfXSMLDl79itWqXU0m4NOTVFTvkifQBvo=; b=WDvp2Ids5rl0fB5C5CqlRZmVTU/PRLdnqrdxk5SXAEdtdojKkSkDIYvv1prP7ML9q6 HQOboZO4LWJlHTRM29nPg2pmxiWwW9mMptIVv1yUYVHtZ+6rv9sXggc2ANIRmsDwcIqt 1dOs6MDE/zHoLO5/3uyvgOADbhLU8NQXCt6xzXi9FmL4knVmYVVld6OoUBg+Ji/fI/AW 5kNj1WNY0ITrIsvFBzvI5/SR8BMQa/h2m/fu/oHQfyTEIWxCBzouDHptGW0fU+lZQPL8 j6gOLScws/9TR6EsG87Uh4HtmN+MeR7OlXEcDF3hfDrbXBkF2JyqObXctR98T62M61ts pMVw== X-Gm-Message-State: AAQBX9cykQtIRQwasBx4A/5MjY+E1CbrMEXI9QdoaVShwfPW5pVDHrae LSnRX5DhlRL1OSIBQlQl/34aLA== X-Google-Smtp-Source: AKy350ZG/451U0wpY0Cqj0tcFMJJwknNy0YmCqB1aPW/Dnd8XkzsRZBsrbjrDMvjtSSZciU64WXQFQ== X-Received: by 2002:a17:902:f684:b0:19f:1871:3dcd with SMTP id l4-20020a170902f68400b0019f18713dcdmr2825190plg.5.1681472349785; Fri, 14 Apr 2023 04:39:09 -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, Akihiko Odaki Subject: [PATCH 16/40] e1000e: Always log status after building rx metadata Date: Fri, 14 Apr 2023 20:37:13 +0900 Message-Id: <20230414113737.62803-17-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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: 1681472369252100003 Content-Type: text/plain; charset="utf-8" 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 743b36ddfb..dfa896adef 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 Wed Feb 11 04:39:41 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=1681473004; cv=none; d=zohomail.com; s=zohoarc; b=M7ayvP08qFlzV7YJ1B4xU9Vm5BPaJxVe8khQR/coajkcvvOz+KZuHH3Qe7Kuf7zxPANBwC0Tru5lBafEYV+5FArrIx8Sb0o+V4hI0/MnRqAbgRcnTTZ8p971DfEdh0+o2pu4AANC0NBvDEwhODOLsFb5/tgxrKm08RlEThhRmDo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681473004; 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=IoKdFm7GQ7jpYomTM2Gh/e9KgZPQGPGk6aHLF8dF0Ow=; b=eKjXzNPmajsiGFbxLDa4AVuYFOodZZk+L8DiWKek2gezb8coDht1IAWs25OE5oi1Bddr/VuVQJMSEjgfUBcwKMDGkI+z+cK19InIQodmIklOWiOkZCF/iGpZCZS29Ru4+oyoxf3Y/QEnXolVapyHbwQ/NVRGeAi2Ind+USThsj8= 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 1681473004011547.1977651801042; Fri, 14 Apr 2023 04:50:04 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHlx-0001lu-Ft; Fri, 14 Apr 2023 07:39: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 1pnHlv-0001iw-Kh for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39:19 -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 1pnHlq-0001RV-DP for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39:19 -0400 Received: by mail-pj1-x102c.google.com with SMTP id l9-20020a17090a3f0900b0023d32684e7fso8350811pjc.1 for ; Fri, 14 Apr 2023 04:39:14 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.39.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:39:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472353; x=1684064353; 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=IoKdFm7GQ7jpYomTM2Gh/e9KgZPQGPGk6aHLF8dF0Ow=; b=I9BtNdI1wGhFD95WEmE7X7jZe9OtLBB2SrlYPr4ZSuGeUc7ti3unUKhkniLMpqayFC 0BZNeQYAwpi/wJtH7uKClIFiaSBzfhPUiE/j+B/xZG3tiO+OMkYz9TX081CTsm8l+ba5 LcSRBVl8MSSvl6SE9sQ6pqwbMS8hsIhAd3WbA+ec2xYjuXAITuSS8oTvi+8wrH6ukBZU 520ErGgNNPh12AQpx4oIh8FsE2whntQBg8q3r/slRudVqmVftxyP9+aUZ+/6DL5qV6pi 3VJ+5eVBEBYyF1fuchv9W2f4/3t/D06/R2daU013KDY2enpGdeUEH9JKv0I24XF7Xkt+ 7e1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472353; x=1684064353; 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=IoKdFm7GQ7jpYomTM2Gh/e9KgZPQGPGk6aHLF8dF0Ow=; b=WFZ4mX3RRCTwKg+dHY9hdZlRhwFvaKMjxBKn7X212fO0JCKsoOFwjetas8zF3yuVph ysUfgEnOFU3SMD8lGsUEYbx1wNcWpneCg5inVlBXkT8amS4myMCMXXumOk+DbUCH/GpK H1b4JA/rRHAaTtaXMyzLQUVKoqIQmpIysyQanJeQXYzkuqvb0XbnWZD/vQpjvX5+BVVP Pf+x4zaXR6ZjVhFULIwW58M6uuoMDdZ70nmy0mPMf6doyEy3HlDRV23N60Gnoncv070Z rmSkkb7wpXPN3Se3i5HFZgAS7b3m1BVxEZgC3HjNifAkIyGRdmvYVpiadHNAhK/VSNWM KVSw== X-Gm-Message-State: AAQBX9f+Cyjvzz08kzYY2+MFEDxvMTfUqMrJhssVSVEc8nTnKXqD1zNj /0jX733bHqnsidxQDmjNJPjEwg== X-Google-Smtp-Source: AKy350bAP+LkjOHsxWnJIlGj2yxjj0jq/SBir4nQbbdRPZ5Ii8CLGSmc7XEvrUm0JQfz5T1mMKOB+g== X-Received: by 2002:a17:902:e782:b0:1a0:75fe:cd66 with SMTP id cp2-20020a170902e78200b001a075fecd66mr1938829plb.50.1681472353237; Fri, 14 Apr 2023 04:39: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, Akihiko Odaki Subject: [PATCH 17/40] igb: Always log status after building rx metadata Date: Fri, 14 Apr 2023 20:37:14 +0900 Message-Id: <20230414113737.62803-18-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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: 1681473005493100005 Content-Type: text/plain; charset="utf-8" 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 5fdc8bc42d..ccc5a626b4 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 Wed Feb 11 04:39:41 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=1681472542; cv=none; d=zohomail.com; s=zohoarc; b=j3Z4YJi66CrZiIfcI+I52AMzm0d4amevwvOVmMOAYCTorfDmISyMd2Asg+9r4Cnsj0NmiVEcXjBXeZo52VejhWhI6inXpjSOEHsaXiCepq+k6wJzdJ64drT0cM03gxAYYtkPBXejQDCm5rHtc+y6hrG0yhwEtk0jCgTigg5ws+Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472542; 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=DTq0O++PH6ynPaHP/qug0NmhXPhXzd5Sza9TQ4JGGgg=; b=ZCPCgdQQlDsMzkaJ/qAd8JIqFzJaGWzSnaVVLPSq+Jj3Ztpf/Up5KE1KlSnlqvIwKh4h/CFS2d+mxm9tmLpDSHfT7tjlxgWEv1L0fyxxwHbXLSyyQgKnJDpruwnVQPxR80ymkRC/YJOEfX03TOFoklsxB3yA6qUxeLsg3FxUp1E= 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 1681472542896176.14518412326572; Fri, 14 Apr 2023 04:42:22 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHly-0001wK-Kj; Fri, 14 Apr 2023 07:39: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 1pnHlw-0001lG-Pa for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39:20 -0400 Received: from mail-pj1-x1035.google.com ([2607:f8b0:4864:20::1035]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pnHlu-0001Rw-OX for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39:20 -0400 Received: by mail-pj1-x1035.google.com with SMTP id z11-20020a17090abd8b00b0024721c47ceaso4340979pjr.3 for ; Fri, 14 Apr 2023 04:39:17 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.39.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:39:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472356; x=1684064356; 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=DTq0O++PH6ynPaHP/qug0NmhXPhXzd5Sza9TQ4JGGgg=; b=1+HQc+UPuuwpGXAyHdxiA55X9JNf2EsgYmAC9Wn+ZplA2l6YvTydzBHBHX9eJgcviR c/2khCP1Hm36XKlbNLyzUWizOZbuIhlioUZFHv6R28rvqZcLmOn2KSHoqH0RprE9FU/B APZgmYpqcLC647xS0k6ePJwrNEVhMym26rJBId72kTqcuoh8tQLpM5eV1+ioXwnMyzTr NhXC6eLkqoFJ89t9MUbPcaxXnB2IhrkvSVvsoN3uDNz4Rxq7lVcPdpKqdHh29diA7ppq wivOHoxMZObNDou0k/vtrFu3Clte9dQSFjMUBmzwG4DMMnA9CUB7VQwZxEqqp5GDmOAQ xEKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472356; x=1684064356; 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=DTq0O++PH6ynPaHP/qug0NmhXPhXzd5Sza9TQ4JGGgg=; b=SS6hbPl25h+35oglwPX/bN7TR7UqxoOa261Px/OeM2cGDY6MaFvlGQO37JXZybtXd7 y0NsXlmxvJdVuCSPc6JISNaSLiHsoedfadViSODgQEhhwFeAlHUdvg210c5QxL/RbKGO hsD/xuuaXEemVJRf7QuY4fmhMqN/YCQi8XmP0sr2gXk//VA6MLEvsLZVlHfkD7N13fGe akhPWMW6PCyXzpyAipN5sl+l8V1qYkScm2K+95nJzFe0m8DcG6f6qTnJsDynfZaI5mcX jVLAgnadn4c/jakGCJ7jXoFe6mklFdkEF51+s60iOHZKIKIMlBtw7Zmz/SB3IEhXDnO1 rtsg== X-Gm-Message-State: AAQBX9dUpc7JkgFDsCB764NICjnXerXA4UpJWsEfm6sJ2JYVyGEjX8fJ ErJJZknSmTHdJoZjxMhVUXmCUw== X-Google-Smtp-Source: AKy350ap9+1AO8teUv0F3nQ7W8ZTc/3f/koclFJVt+w/hBIodiuoUzSajmU/DetauLYXNCgNzahZIw== X-Received: by 2002:a17:903:2308:b0:1a2:7462:d674 with SMTP id d8-20020a170903230800b001a27462d674mr2721847plh.24.1681472356463; Fri, 14 Apr 2023 04:39:16 -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, Akihiko Odaki Subject: [PATCH 18/40] igb: Remove goto Date: Fri, 14 Apr 2023 20:37:15 +0900 Message-Id: <20230414113737.62803-19-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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::1035; envelope-from=akihiko.odaki@daynix.com; helo=mail-pj1-x1035.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: 1681472544998100003 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 ccc5a626b4..cca71611fe 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 Wed Feb 11 04:39:41 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=1681472786; cv=none; d=zohomail.com; s=zohoarc; b=Voq1TlIqxM3GEwaH6r5isSMQDVEZa5DctRNtLpTLQZLXmlvJPq3xDT2SeUCWcKcsBLznWv9F1ZKcOme56XbC6l5rrn+arlJgUAcLlSeopKTXe5WO0BcxQqweGBBlmvQvl6mxHDTG6DuhltIxv0XgW5C5LbH9KAdYjK8F9TLUuYo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472786; 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=9FCUokNzZbEkDde+HTg7GtmJg12hGOkCFl6OVVvHAFw=; b=WCEcmpcewz6z+8m2EWAOOF4cWLVVTW7ggz3EshH0qmfAJESbH7UOBfpYn8so9PW0kf7l8Bk8aszpEC2DvYAvlub/Ft6Eh0X7GceOTZUZrAWqkpgYDqGPjXbgbsCNr6nl4dPoKhRwokGv6fkYmr/gahIh4FNrVGzZHq8wsx17nWA= 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 1681472786177769.6136957156524; Fri, 14 Apr 2023 04:46:26 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHmE-0002ad-JU; Fri, 14 Apr 2023 07:39: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 1pnHm3-0002Nv-HQ for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39: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 1pnHlw-0001SO-N7 for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39:27 -0400 Received: by mail-pl1-x631.google.com with SMTP id p17so6854775pla.3 for ; Fri, 14 Apr 2023 04:39:20 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.39.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:39:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472359; x=1684064359; 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=9FCUokNzZbEkDde+HTg7GtmJg12hGOkCFl6OVVvHAFw=; b=oi8U3uJWgoiUnPyuIEyVKaXQHhVBp74dhKPU5C74hS4t3Yu/opmaZjYeQAGKggv5T+ S/2odDYTAGGKuSWhcx5usQKNLmREoukEaTla4px3R2DpEyOEP7izn6ywYtklM8i8H7Tz UYAOB1MMqifWDntbFFmLCajopUASGjxqS8Ic2cIHu87m09sZD5dk3DYslurI3MYXc+J2 3lfCLWsEhcZKx3JJIRSvfZHMHDmBZGn5Ermdg/waFgMc5D3T2LdTHf3CAqh72ExzY70W t+a1J5X54Fz+fF82pcs9laR97ckztjsEYSy/gH/0bwqtcJlw9OusTcqxjwU4A8h5tetq AXvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472359; x=1684064359; 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=9FCUokNzZbEkDde+HTg7GtmJg12hGOkCFl6OVVvHAFw=; b=ezBuaHZ2mR5SFEbMr7PlPOqqtEzkcMsqrlbqGBA0bRBEZLljZiABnyRIFnVXDlJzuG gI9a6Yh3svcRo5cVU4NbASIdU86rcUjYB/FUxr4cnHc+sTi8WJztCktmPYpRfy6gayyo ZDfRS4wcbBFDqrXNkh3GSdBioUcXa4Q7CWVuEnSTEDvdyQcBtuYDzUal7eNspxte6MgH 4FDfLzoJ2TMkbK2b7uLz7LBo9L9IbKfOwvjZhPYvNMjFheeJhwdqaQcsiYgS/M7lm7u/ BsMYTPHNH8BvmAPqdLC/SeObgIHJt39Omo8LnVChZvmRpQZWNkGhq6HZR1qk9yVayicW 0wUQ== X-Gm-Message-State: AAQBX9c4NGl6LES9/BhVKm4rRTM7dxIyRFQrv40ge5Z31S5/6MJ/h9+/ +MD1w1FRgMeQPsFwaUmgBy+i7Q== X-Google-Smtp-Source: AKy350b4QlNRpWcJQPF0G79mcdEUmffWUfT6ku1AjgyZqJoibayQZ0NLN2aWsooyw7L1HYfoXpdz/g== X-Received: by 2002:a17:90a:9281:b0:246:938d:db55 with SMTP id n1-20020a17090a928100b00246938ddb55mr5326255pjo.13.1681472359610; Fri, 14 Apr 2023 04:39: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, Akihiko Odaki Subject: [PATCH 19/40] igb: Read DCMD.VLE of the first Tx descriptor Date: Fri, 14 Apr 2023 20:37:16 +0900 Message-Id: <20230414113737.62803-20-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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: 1681472788232100007 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 cca71611fe..e5a7021c0e 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 Wed Feb 11 04:39:41 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=1681472390; cv=none; d=zohomail.com; s=zohoarc; b=SaTwSt31VAIutI0qUjZRWhHKTRqihutbb2jKL+xnSvXe7Zz7X+/F2twshyS3BQwolsW+OzLuoix+4TwTY9P99d9T10hUsD0N8zGVnT0SQGIfHsa1n5GavjsysSWpgLVHWD9eOddGWSatmP+OITbLWmVrHQN+CZWAVle2pqkf3Gc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472390; 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=0H51BYlxe+egNhGJYPvqCkgbOunGR2+kIfTggZf4P8U=; b=ExobRO3EkgjrNLv4XbQkwAbVadl3pvW4aCI/6dcX/eTnkJ9/12IsClZBun6m6jfKRIOcuuCuislg0kZHrSGDB3gqHGhZagMjVJvPnnQ7dFNtPDvuGd8RPMcEU76xUytfEJ6tTxhbIXJAvH1UTzN63aEJ0C7bVl04nv4odLlc9Us= 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 1681472390228645.1598186938551; Fri, 14 Apr 2023 04:39:50 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHmC-0002UU-1o; Fri, 14 Apr 2023 07:39:37 -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 1pnHm2-0002HA-3I for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39:26 -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 1pnHm0-0001T1-H2 for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39:25 -0400 Received: by mail-pl1-x629.google.com with SMTP id o2so18007479plg.4 for ; Fri, 14 Apr 2023 04:39:24 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.39.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:39:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472363; x=1684064363; 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=0H51BYlxe+egNhGJYPvqCkgbOunGR2+kIfTggZf4P8U=; b=YzRrGrXP9/QjIuN900FJ3GyBb8yTfu9A0YPpokZBpSF4zDTXcXAx3ywI7T+XR0N0hQ bmpylHlB8ZH6fCHNNCAMtoogOna5+I0IyLPSIhAhXD3VpeY2/gjsXcixpT6nOIrRtqkK q03t6DSOgXH+GYdIONP4whqMQZdllOIf0t1oouaHpsAzoVcfPVguiP2pNN1oo8yiD6Ga zDwqbfPiJ+P2xY1FBOVQgVwZvGNgT+5cUeU/t4LNPWWiPvmzAuFAQrOAlm5Jtbp3r3fK Wd+RdiQfDX7ipq2NZJYqNg/3OFA2gKQZQ29XPpHwnev+yJFMOHxS2bG1z0YeVTiExNAs gcZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472363; x=1684064363; 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=0H51BYlxe+egNhGJYPvqCkgbOunGR2+kIfTggZf4P8U=; b=FdTmOJREYW8j7e/w0p+bcSfBatEFQ3spZZumfC7ovYKsQxwvd+vzirP8X5ev98ZIi6 79zq9YqcVnQ9PidMbAEoryhEULGxWMSA/Hyq8EwNAYCo+r0B6K0XjlNEjyOpJUWNa6tH vzbbNI6oqgh3KBK9BBTU26gQVHADNNgsINWnHX+QBZ4qGcDBZ+GJqk0a2VLK/KYFCt6G wOzPL/67ZUynJQpk2Q+G1yz0XnSKVyQNAeh/QVXYvQFBd40vkjv5qHI6OSYD2IAq1yFe 6KHnkGBL/zMwfS4AmIatYkh2l9kwaYE/7A5crNu465U5VOI7ebKoevIpQL6AZNhJh7Gn Vrvw== X-Gm-Message-State: AAQBX9dtGe6L/l7piDCbRbw/Peh4IXu8lofvoaXswVzMKupoOnSDqE66 luad8twFT/ZjijtdSeDHw4AZ4w== X-Google-Smtp-Source: AKy350YIDSue7fQatGDsSMypDeoK105W/ZXWzlpZt45lB0ZbpCSb9FKhtqREzcQYmSl/AKJq0boH6Q== X-Received: by 2002:a17:902:e846:b0:1a6:3b04:92bb with SMTP id t6-20020a170902e84600b001a63b0492bbmr2837533plg.18.1681472363352; Fri, 14 Apr 2023 04:39: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, Akihiko Odaki Subject: [PATCH 20/40] e1000e: Reset packet state after emptying Tx queue Date: Fri, 14 Apr 2023 20:37:17 +0900 Message-Id: <20230414113737.62803-21-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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: 1681472391391100011 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 dfa896adef..33ffc36c67 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 Wed Feb 11 04:39:41 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=1681472466; cv=none; d=zohomail.com; s=zohoarc; b=eRRY43sFl6JSM6myKs2y4FyBUQ5roLf6WuEN/IVdir1oL2Z+wH1YnbVrFab6B2Drsjqx3JSlbh1lGNLCEEsK2V8ovPmvkAtJ3EE1DmzqdJmZ24cWRIE5D9CL00lqV5WLNzIrL8HEDadUrkmKjlXRfY5hm2Tp+dquCYs8Y7cNHJk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472466; 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=g3k81PwY78Gu4OKyPsbI43lw/hlzIfsg5hJOLxMqGTH1UwhjMuNvZ0CA/MF1UagCqbnkknYhrf41Vms8w1oItD0VMFSTj4v2W2DrmlFGe1MDtUnVldZuHVavrL5OL6EWfOcKsByJMS43jkjZR+zpkB81Pqjv9oMSc3tkY1X240o= 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 168147246641030.92859422347135; Fri, 14 Apr 2023 04:41:06 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHmM-0002t3-AO; Fri, 14 Apr 2023 07:39: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 1pnHm5-0002T3-GX for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39:31 -0400 Received: from mail-pl1-x636.google.com ([2607:f8b0:4864:20::636]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pnHm4-0001Qi-0C for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39:29 -0400 Received: by mail-pl1-x636.google.com with SMTP id w11so18015708plp.13 for ; Fri, 14 Apr 2023 04:39:27 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.39.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:39:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472367; x=1684064367; 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=O/lNpwLoLpGrpLDk0MYZSkgAPgfxAYEuIyNefuFLhU1cWfmLNkSFLEYtfbPUZLDAhV VLJLx2Do5rjHtKh+6WL980l8dxYHX8ap9hwCpd/hiytMmGD69vlDYXntubdZcs+1fTiC cg6L0L7VciC+oZb9TILTTgkykLy+bmhBNS8PSDQAc5hvIv4Kz1bJIHGQYaeRRD+fFcx/ tsMMXLjVp8b0LT9/c2YnDT00e09CDygGj28ftX01gH3ouVAG0Ijqip1HQQCGuJO/eHfk aiBXVg1wtxnwjY3QiT2O/JN3xHMCoI41rKFupFyUzEcfIjyD8NRmEi+0v20LWp393qXS 2o1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472367; x=1684064367; 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=I38cCK76lsbwf0veKhCJ3YAh5f1TM3VS4ww22/abn+VzQao4RaE4QVSebPD6Koi07y GV4tZPt2Z7wwQccwP+QqrXIVh9y2Fl7MoLAPv5Ei0RVjugkxKwEGV17uHSQiLfLfmVQm gOjH7a/i+VpT90Qwmotw2e9I7fXTqbQKZd8dR+PpjRq57hMxk5ChHkRo2J7QsVSbwRHm hD+7ZhHGbhyixMNndL3Rlg2szW3vsbdZWewJf9DkCeQVy831hfjPA8DgMEG1S3KKeOVa 8yPXPaXQtVD0UdRWLV1jUF1psmsmQbCJtAHvP5imocrPmF/1EOZcI0LKc6phBTyKc/O8 0WRA== X-Gm-Message-State: AAQBX9d2F4DJCn7+uLWmYNGw3Sz6+b//hsAvVkOXqepQnWYAlu+vkbfX Y2hVH39HRxGM2JIS66rjQepU/g== X-Google-Smtp-Source: AKy350ahfGU8q2htyWS8V6NCiywOS9NhOGEI8/NIgEG07biNS1d8FIAXnOUmqTc4NMgHt7JqoK8aDQ== X-Received: by 2002:a17:90b:1d01:b0:247:3654:74dd with SMTP id on1-20020a17090b1d0100b00247365474ddmr2421591pjb.17.1681472367370; Fri, 14 Apr 2023 04:39: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, Akihiko Odaki Subject: [PATCH 21/40] vmxnet3: Reset packet state after emptying Tx queue Date: Fri, 14 Apr 2023 20:37:18 +0900 Message-Id: <20230414113737.62803-22-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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::636; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x636.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: 1681472468176100002 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 Wed Feb 11 04:39:41 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=1681473003; cv=none; d=zohomail.com; s=zohoarc; b=OIKwtuprycL6/qDv98ckA+Jl/1dpV/7qXP3RE2USMaehny3otqz67E3ucckkujkp4G94pkkY4vpEvLhHMO9IKHzmI5aLnwrpsAb5PaB+Gu2bMYvBjbrH1OOp4bp2rrUMVC4/XZqnwu5BTaqdNdicJkq45gw4ps58kMzndYlQLsM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681473003; 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=KdcxfKN/J65417H793s7q+fei8H0pQ2z9x/1WzA/BTE=; b=QiJQIZ7kYirg3415JTzbWVoP7aiTQtdD/116YyErq/sIBG5I+JaFlJrIiJ4gkYwa4fUTLLXwNsZWWZVIqPE6EG1mN7y9f7QLqF1ggqwd3nCJN/M4KhwLDYIKiS9Gv+OlvRzpwnH3cT5RhaKFeemkuvXFpYoow3m4Kz/sBQYG5uI= 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 1681473003115470.4290097538976; Fri, 14 Apr 2023 04:50:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHmO-0003Da-9v; Fri, 14 Apr 2023 07:39:48 -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 1pnHmA-0002ae-TQ for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39:36 -0400 Received: from mail-pj1-x102e.google.com ([2607:f8b0:4864:20::102e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pnHm8-0001UJ-Ey for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39:34 -0400 Received: by mail-pj1-x102e.google.com with SMTP id c10-20020a17090abf0a00b0023d1bbd9f9eso21364711pjs.0 for ; Fri, 14 Apr 2023 04:39:32 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.39.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:39:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472371; x=1684064371; 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=KdcxfKN/J65417H793s7q+fei8H0pQ2z9x/1WzA/BTE=; b=wbdKZfHe9PHiKL/cAmiZKVQF9vA4j5EiBf9BO0+TQWTw00nWk6ycglRywA1MVv6B/2 LaXZkAJjn/Ke/drtN6IT0m3GsltHlMW5NFSCSdXUuAohgnWvdueoJfIs8wSq1vd8NBgY JwvdOAw9neNk5plWO0aEBlxzlwWIrePnQ1uNyLr9HgY9MFXC1adOw5SrIuYRv/x3VEjF ZJQ7pfnOyHpHX9gYuCjM+L5tj8maje9jGH5X4axNWZ1aeQFHLgGAgDHlKM+kqMfNLtFu rKnIGYtiGVntZsz0fYY9zuUjRxPir4r1fp7SpQ9GZkC6CyPSYEXWCT4de4aJk88cjkYy eETQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472371; x=1684064371; 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=KdcxfKN/J65417H793s7q+fei8H0pQ2z9x/1WzA/BTE=; b=PlcaNjmo/21+deMFaQEZgvhXD9A0JgVLEDkfSfIoKS1RPgQHreNVE+NUqhyCVKKh0b ECmXhwc+yhU3CuvzKZjX+7RSYdA3oDG5xeWyXm656d4fgJF9UKyvCGXdpvDgjB+wz3uI 2Wr/XKjlwkGlb9pGkgSNBlnRT1mhfAUt46wpyBILIXH+nAwfzGPrrpOHpJN98rmqgHEv PJceC0gcYNHYmklyn40ErV9GKUSBYV//9XvrlvntrI6aj2FIadBiLEseziq7W9y2MueR VTeLNjWazbdGiKyJWUazWILaKYdc0/BVnTV0h64XQLL9Z0yE4mQ4dg5L+4m+3QeEms5e MWsQ== X-Gm-Message-State: AAQBX9fAKSoZUa53wyXP0gSzIZRWo0yVpN8esSunUR2ntyvwuXOVdBR8 O6/H/YHbCPJraewQJphpEWASmw== X-Google-Smtp-Source: AKy350aqnTnCr/DjunN9/W5e9KzDneppjLH3WLRX9XxhQi40UWAFL8xubBdBn/LzYZhK8nq6JbJMQw== X-Received: by 2002:a17:902:ac90:b0:19e:675b:a40f with SMTP id h16-20020a170902ac9000b0019e675ba40fmr2375465plr.8.1681472371316; Fri, 14 Apr 2023 04:39: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, Akihiko Odaki Subject: [PATCH 22/40] igb: Add more definitions for Tx descriptor Date: Fri, 14 Apr 2023 20:37:19 +0900 Message-Id: <20230414113737.62803-23-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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::102e; envelope-from=akihiko.odaki@daynix.com; helo=mail-pj1-x102e.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: 1681473004084100002 Content-Type: text/plain; charset="utf-8" Signed-off-by: Akihiko Odaki --- hw/net/igb_core.c | 2 +- hw/net/igb_regs.h | 32 +++++++++++++++++++++++++++----- 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index e5a7021c0e..350462c40c 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; } diff --git a/hw/net/igb_regs.h b/hw/net/igb_regs.h index c5c5b3c3b8..22ce909173 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 --=20 2.40.0 From nobody Wed Feb 11 04:39:41 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=1681472474; cv=none; d=zohomail.com; s=zohoarc; b=C72hA+0lEQu0C3GZ4oKik0dSQRIMfuTynxhAbwn+7Ij4B7E0menWQYmqSPIiuiMABPH+L8HZKfBnY/7pYPVgQkJnMT6pO2bOtVhZ+oxSqnZHki29o24LCsFGKbxz2zQM4cofDwF6qyFIPAogkow+YKl2a3L6a0uc07l8fFArM40= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472474; 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=iGGkpOeRoMnbppxreVdfShoqcfQT5nlYtzSOOL7DPQ4=; b=QD2dK9xDyD9I09S1lpMf7bwjb6Q8GDwjstkdAftR/P7727LKDzyMo333/mr0svUqhb5PRdcXu0bdKOqqGdDWVZ+6NssShbpAxhJUY8+hwzj/iAqcLm0sz7EnwCy7Wv3tV/kb6Yyth/bchkHguI/LbBVHOF00DW9utGjSqsWxADA= 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 1681472474139121.49344943766482; Fri, 14 Apr 2023 04:41:14 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHmQ-0003ZA-Oq; Fri, 14 Apr 2023 07:39: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 1pnHmE-0002dE-5F for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39:39 -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 1pnHmB-0001RV-8H for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39:37 -0400 Received: by mail-pj1-x102c.google.com with SMTP id l9-20020a17090a3f0900b0023d32684e7fso8351399pjc.1 for ; Fri, 14 Apr 2023 04:39:34 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.39.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:39:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472374; x=1684064374; 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=iGGkpOeRoMnbppxreVdfShoqcfQT5nlYtzSOOL7DPQ4=; b=acsr918Bt52Wj9N3nNpoi2gUZB0ik2QJFt03n0RlXHSJcpZbBRnducJQc+oL1A7ztB 7ws+xrNTR3M74U/zW7BwGG15L7xbZayYOvUEUIizoojnZChN69mvd4dbf/myb4qa8Ypy 0JQkcxsB3yRcCkG6ng/qCf1maUicEtoHP6HxYYKpyMhgfyB23cSLQLsZCm8yXnGCma+M R01dHo5r7MNx3VkzrnUDviueoO+8MWyx4NA1GuhrR48waDsZz7LTRHhxaI3RvHo7oNzP wgwxfQTlYKvdNJW0dlwK73BRzT7EFQwDNlsKH8RGCEljD7y8QVywM9GWRszOv68tcQdC S1LA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472374; x=1684064374; 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=iGGkpOeRoMnbppxreVdfShoqcfQT5nlYtzSOOL7DPQ4=; b=UTwRdIt4thaIOGfvm1PmjWovyzbJv4SDpGsIKPxZWjWGmG2I2ZmPwLad7TIRPkQfdL g3+RA3XMwleldFz6wwfw5x79mIrbHJd2WkvTL9ylBisPiWaIeKqPwSk9wqVpdh1OQHjx JqvIEgu9h5sOd7dc+9OSvLccoqrHjzrP5sc39v430nAiu70qDXtH3QFyo3xwurl/K630 M9rZCi2sTykBtMrYyCJRXUn9hh1e5FvG0Kwa76CAoKmPtSQyGwsVtqAUt03aU6GOuRRG n+J5LjwYO2aM357vu21KwDQMcDyZLqJYII/mw/0VDXHHuesYkrAxl61vft7AhuSTy6Ie F2PQ== X-Gm-Message-State: AAQBX9fuRPVF8laSdvsKFinpHlXlJkXnpur5nkkfDw/xiD8wEHIBMSJg QH5JO8mJ1lHWgmKAzA8W8lAAOw== X-Google-Smtp-Source: AKy350Zat4OuoZjXRvMjJ2s3CPRzFkGNJcUoCEYGOczkIRhFMDYOIIO7IcXgnuRLb3glPiMYBqomGA== X-Received: by 2002:a17:902:f706:b0:19f:3b86:4715 with SMTP id h6-20020a170902f70600b0019f3b864715mr3057406plo.8.1681472374608; Fri, 14 Apr 2023 04:39: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, Akihiko Odaki Subject: [PATCH 23/40] igb: Share common VF constants Date: Fri, 14 Apr 2023 20:37:20 +0900 Message-Id: <20230414113737.62803-24-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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: 1681472476236100001 Content-Type: text/plain; charset="utf-8" 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.c | 10 +++++----- hw/net/igb_common.h | 8 ++++++++ hw/net/igbvf.c | 7 ------- 3 files changed, 13 insertions(+), 12 deletions(-) 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/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/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 Wed Feb 11 04:39:41 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=1681472751; cv=none; d=zohomail.com; s=zohoarc; b=GuYnWRUYi9x9Z2WSoj9Ff95A6TaHny3KUWgH3807yneiWgRVPoGZ7xZ4fbhar8eZ2RMg0KgdNYNnvkIyhFNE/ldxri/izwsFGHHqzKrfTiDgyczwLakfZL/twJdbiHiyu+7HfuocYo9Ys8kSTHvA4l5YpNn+/3LmGxzNambjhtU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472751; 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=86mUzgfbKt2MDtMsUC4z3dSk7y3GL2pQfv/qeFgfXvA=; b=jCDopwLbZ8+/RPE5Gtm3npTHTd4Z7MPvIAYczZ0bDpzkkqPpUbpMHW7g63ALF7nY7xLaiwhjhLycJYNEb+ze0sT/Pv7xJwvkb/1qPthYS3/8mViztz3heq6edFMm70MAPr0j48MZFiQh+9LCJAwRXQ2Y+IW679TleDZSgmi5IU8= 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 SMTP id 1681472751098745.86094978191; Fri, 14 Apr 2023 04:45:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHmP-0003Mr-O9; Fri, 14 Apr 2023 07:39: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 1pnHmI-0002li-PJ for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39:44 -0400 Received: from mail-pj1-x102b.google.com ([2607:f8b0:4864:20::102b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pnHmF-0001VF-Qd for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39:41 -0400 Received: by mail-pj1-x102b.google.com with SMTP id b2-20020a17090a6e0200b002470b249e59so7287359pjk.4 for ; Fri, 14 Apr 2023 04:39:38 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.39.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:39:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472378; x=1684064378; 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=86mUzgfbKt2MDtMsUC4z3dSk7y3GL2pQfv/qeFgfXvA=; b=q4ey54EWShcA+0w0veOKfuiYVDBr9T9N51WxSJ3WJe0Lw8Gcxpe+j5LGObfqwPXo6L 7I9pCJU67G4AEXuM0MvkBLwSaRQMev10upUQaNta9SC/lLJO34TfPrO4Zu4U+9LBib0K W1v2SxuKdkbq7CC0m2/dluma09P7GLDI49SX8eiES+u8BfaQVK7Ix/HbjNa7Yq2i6AYG R2Bk9ua5KvDgdj9sYvOVw9gxAy7M+BvflFBxcGmXWXNH0KORt/n27w1F+mg5ABFsm1lH bRzM/BxH0wEKRp8H6mgVrf5N/uNj2TQV9lLzFVfkKTciK3k4bz/P/g0nVt1SaywJdl+t jyVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472378; x=1684064378; 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=86mUzgfbKt2MDtMsUC4z3dSk7y3GL2pQfv/qeFgfXvA=; b=iJoRpLZ6OC+lQawJjhZA571YEebKnEAIPtN1W2nqcGX51n2VAzYkofECwbmQ4C5c54 dILGs6QC6OMZFGF2/n9DHT1lzewQiDbqfrlThxgUS2aGPRZDBWmgTIwWCg2PrhogDiwE N0KCKLw0FdFI/KufkjkvKifcFy/L7cgHZlt8ZgUxHnkYU+QRWM7v/7tyWOktMJic4BBo GGpf8EuqLqWQW6qnuvTQzERHacinJND6xNsV0HmpgkIRaRhxP1itc3HIXhUYj/jzFInO OMS7o60MR50oo8BeYR8rVKL2jzo4LDPWWek3UeXigegTm1dke7BFGty/DE5lUr1EP0oN 9hnA== X-Gm-Message-State: AAQBX9fUMSkHlp9lt7Gf3Ma9o9xrUY2owwM0gPrDT+0usz6vs8hvKYpv 0mNc8HKZQp5HFcL5tjtA1qXbgQ== X-Google-Smtp-Source: AKy350YsNOVIlhAARmYmv3BU4O8k7hVt0rfeGySlis8zndNElQjryIDfX0FJaNXz0OHCjhelCaIYrg== X-Received: by 2002:a17:902:ecc4:b0:1a5:180d:c317 with SMTP id a4-20020a170902ecc400b001a5180dc317mr3020649plh.43.1681472377887; Fri, 14 Apr 2023 04:39: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, Akihiko Odaki Subject: [PATCH 24/40] igb: Fix igb_mac_reg_init alignment Date: Fri, 14 Apr 2023 20:37:21 +0900 Message-Id: <20230414113737.62803-25-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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::102b; envelope-from=akihiko.odaki@daynix.com; helo=mail-pj1-x102b.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: 1681472752444100001 Content-Type: text/plain; charset="utf-8" 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 350462c40c..429b0ebc03 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 Wed Feb 11 04:39:41 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=1681473143; cv=none; d=zohomail.com; s=zohoarc; b=gv+lBp+3XzIYY525Ey3WD3kZifakeRvmrak5v7Kyz7Sm3RO/H07XlNIt1/zVkhGjcO2T5H/BoGCqj7d4zyeQDSHGWP6D/3pyK8m2s2PMXH76dRS103b0lj5vsndN9JbCxIt8IVHzcDJWhf5yHgwu6mcqUow3ICgdZYonfKKM8cU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681473143; 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=2arx7/hFvmYO9YX5SgjLYa26eSb96rkXX0AflDJs7yw=; b=bRBLbApIpWuMIctrhOezP7wy5cShuSOf+jsjioznH4yFGDNl3XD6RwP4eYKJYCYN056Gw0HfqfeDYSFxJdUrNpnM13IeVPM2Nv1VHRjTseA+ue4jiEre3GvhC2lrVcfVh+23mr0M3fMxR7Sz92WzGXj/2O/cq7mlm1P3ji2t+KU= 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 1681473143733808.3268365828502; Fri, 14 Apr 2023 04:52:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHmX-000415-GM; Fri, 14 Apr 2023 07:39: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 1pnHmL-0002qW-RA for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39:45 -0400 Received: from mail-pl1-x633.google.com ([2607:f8b0:4864:20::633]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pnHmJ-0001VX-Qp for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39:45 -0400 Received: by mail-pl1-x633.google.com with SMTP id y6so16935608plp.2 for ; Fri, 14 Apr 2023 04:39:41 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.39.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:39:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472381; x=1684064381; 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=2arx7/hFvmYO9YX5SgjLYa26eSb96rkXX0AflDJs7yw=; b=4SFeGQsolPF36ClAkF1VRqieQkBNTisSHVsR/2+ROcx+rstiZ/SVSTxxnT19vEHYPX uvIKAjNrfSxvPo91nUZuXpghKYLmjtMAWNcAyGCw8plDfCPZaFjm0KwnCsPgXUMEBizp 7wkA+/3U1yr/N1P3QsB20XufFf6VVOJEZhEI9wa5eLHVbNgRjt1g+Dzqef/xPFLRlZGz IwwtkwS2BxJK6ogqPKl2qusaMjv8LLE/ZLNCrFO7iFXT/LtCirVT1TtpGK5O9MXNAoOI E5Hc38ZKAck6DD4CtKcW6TubHlIuBUhJHOiMGPOQRZJ61J9SceSx+nuhrVE65bDG3cop MTlw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472381; x=1684064381; 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=2arx7/hFvmYO9YX5SgjLYa26eSb96rkXX0AflDJs7yw=; b=ljnRegr/tsWvu7bG6WAJEjd3AVCa1K0/sJQgcKeO0Cy7tHQBSghuR7F1323HUEw3Fa cZ+FXGDHZ6p3VFlaTQUWKRu8zTQ4NC72NBj5ijU03J6jJrS1v2ZnT8DqiKSYNoVGt1Es +08TBNOC/xcEcV8LpSNQwPptHW7NPTneHAbA/xK3y8y5lonrYe/4zb6QYSpEVPiiLimN WgAyWtkWGG/ZpAqM6AvFtWn9VDnJaWHTyoXQ7iauxIPH3q8W5blq5lAxT31UoUf0YNMO y/EtJQ3BFsGYNkl88Ltpd1CIfzZkBokH1jhawjOun4ssDgybm0L04FLN77FBzZ5FuDsh MvGQ== X-Gm-Message-State: AAQBX9eAzG+NPaLuUGTH/M3AQAu8f4/HP9BLvh1OjkrFjhpjgJPmKK8V 0ATRax+Tkgl4HJd7uM1lL399ZQ== X-Google-Smtp-Source: AKy350bkx107EPSeHClctb5y6i5qGe+V+RTYC4FeEifhEGrYyVEzz/hCLPcM3NBloLeO5pOpZc5G6w== X-Received: by 2002:a17:90a:f015:b0:246:8c79:caf with SMTP id bt21-20020a17090af01500b002468c790cafmr5286912pjb.13.1681472381118; Fri, 14 Apr 2023 04:39: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, Akihiko Odaki Subject: [PATCH 25/40] net/eth: Use void pointers Date: Fri, 14 Apr 2023 20:37:22 +0900 Message-Id: <20230414113737.62803-26-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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::633; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x633.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: 1681473144782100003 Content-Type: text/plain; charset="utf-8" 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 e8af5742be..2f87a72170 100644 --- a/include/net/eth.h +++ b/include/net/eth.h @@ -340,12 +340,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 Wed Feb 11 04:39:41 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=1681472897; cv=none; d=zohomail.com; s=zohoarc; b=hao5NV5kaLIO5NLZ3Zu64Xwidts6V6RFsRQY//wKkNR2UVmWwggyTFSyLkzgg/aTOQhALdiGFhiwoBs53JAUeHtVjNXjbscc7ThdRFw6E8vzbKGoPbgGHWtEK79p21Y7qyKFJxvV1UcZ4LeTJtclucwMkDr/8URpcvYGUI7PBh0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472897; 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=0hmZvns6ZgFmFErqkrVHsTVvD6smwQ4uBNyqqlfACCM=; b=A3AvIc3plUNLxwyj+WUjcR7SP/qPYS1IY9D1+ecetdcBfQgaLxrkcHFvM8e5QXn/hJeXhm/T6lUJ6UccZOX6WwOUf2rCP2qDDQKlIlYOmQCR4GLdffbFG4n7SVJPfXw/QN/SR//Ib57Up2kxHT7DVmt0uK0uzSEfb3K7tnf2TjY= 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 1681472897561367.27066371716705; Fri, 14 Apr 2023 04:48:17 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHmV-0003qC-AM; Fri, 14 Apr 2023 07:39:55 -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 1pnHmP-0003UH-NQ for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39:50 -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 1pnHmM-0001W3-Of for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39:49 -0400 Received: by mail-pl1-x62d.google.com with SMTP id q2so22897041pll.7 for ; Fri, 14 Apr 2023 04:39:46 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.39.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:39:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472384; x=1684064384; 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=0hmZvns6ZgFmFErqkrVHsTVvD6smwQ4uBNyqqlfACCM=; b=j7wC+9elD3sg2n3hfo295AfNSBCavj/F9KEoG0WUz6HH6H+SxB6pr1NJ36pEvOLQFs l8thSC1PJEhUUxgOENH0m6IAVB4tcSS8P6NB0japur38hzeVR2iZK+tb3fcLC6SRD8+0 JTbxRSpAGF3DzjGhXguNcAqMU/escZD4mEXRNcUlmJIzGeUEyLJZWwo7MxLrnBn4KK65 +6aTI4zXw+JJmwvTyOQUIC40/AH4flo1iPcY6e+4h07z1JTT5UK9Uy/fiMgN+XJsKQYo 9S4qb/8I68mfiTzi0dJB5OOJ7ZZeFNa7jMruy76WQltiI9O68cLKVMR33tjbfO4paOwg O1aA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472384; x=1684064384; 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=0hmZvns6ZgFmFErqkrVHsTVvD6smwQ4uBNyqqlfACCM=; b=dkblwC0YDwvsB07bAPGh/GpkPXIgnNkun1IkHXxzkzIw6xUnZ3jbp0xmm31Qx5+JMN w4faXu0S3osWNBpjQkinnykYqOl8WhF1e59KsZ5a8YE8JxBi7e7Pl+xOtUJFBI0TNI2n DbOF0YTLwRhON1+GwDJtf2EmxDcPdhShSm5M5olpECcdFHZVgDCkZ0z4NFgBdn5KmvCc +L96BQIa4TKhIE7FqXJ2lxbPqJLDKsez0Zg7vmIbtpe3wuMFcr+4N17FamYenmAqharr 9Xj3cM2eC9JXW9iTkGg8ZwspG8M+sWEo7KIk+bm9/WoS4jkjVQyo3hLZ09wukC8NtKdn I9bw== X-Gm-Message-State: AAQBX9dQKQr+CehG9FF+8R7ofzT573ZVJh6/edfhdOLHK6pTt1124BsU LmlEMnXb1G5r+8az2VOctogi/g== X-Google-Smtp-Source: AKy350Zf28mlj5sK07YZ7x1Za+wE7d+utJuQUcJ0pJ62Viyb5E9qGV9977Qojt+MatrA43ZKJl3JDQ== X-Received: by 2002:a17:90a:5d11:b0:233:e1e6:33d4 with SMTP id s17-20020a17090a5d1100b00233e1e633d4mr5349783pji.47.1681472384475; Fri, 14 Apr 2023 04:39: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, Akihiko Odaki Subject: [PATCH 26/40] net/eth: Always add VLAN tag Date: Fri, 14 Apr 2023 20:37:23 +0900 Message-Id: <20230414113737.62803-27-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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: 1681472897964100001 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 --- hw/net/net_tx_pkt.c | 16 +++++++--------- include/net/eth.h | 4 ++-- net/eth.c | 22 ++++++---------------- 3 files changed, 15 insertions(+), 27 deletions(-) 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/include/net/eth.h b/include/net/eth.h index 2f87a72170..2bbd04ec3b 100644 --- a/include/net/eth.h +++ b/include/net/eth.h @@ -351,8 +351,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/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 Wed Feb 11 04:39:41 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=1681472888; cv=none; d=zohomail.com; s=zohoarc; b=GfbNVqZ67KPJMWKYg9T4oaBlGTIqW2vn+K4b08rrMTxaqlMZkSzysKa4426v9eQZrcrAUIaXRM89W1d+Xmu0WobSW3Cix9LqUzALph4zgnBcbt8wocC4Aj7Rsb8LSsUKmRI5UHfOjQJLCshPL7qF//cpJPhyMxztzZnuDQ+aTJQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472888; 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=yyDU87BlE/kQQrI2wYzJ9rXC3RCPhxbvaI9JKH3Mb+E=; b=Bu+K9APuhlkc40MEtuHPucd0X26kUN2cN6cri5EK1bm5RN9I/l95P8CaxQHdbpu/r7/slzDgMn6pPH7Shv5fEbt5B90ax4HsJk//A1zWy48D+mAQ4BVZbCDRuFAYQA93KJf9x0nswTyMD88vjGv/L+3FKOOkYsJbr4VerJ0rtFQ= 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 1681472888559971.5904259208805; Fri, 14 Apr 2023 04:48:08 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHmZ-0004FV-IQ; Fri, 14 Apr 2023 07:40: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 1pnHmQ-0003ZG-Bj for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39:50 -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 1pnHmO-0001SO-F5 for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39:49 -0400 Received: by mail-pl1-x631.google.com with SMTP id p17so6855850pla.3 for ; Fri, 14 Apr 2023 04:39:48 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.39.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:39:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472387; x=1684064387; 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=yyDU87BlE/kQQrI2wYzJ9rXC3RCPhxbvaI9JKH3Mb+E=; b=LkIW/GOEUMsGlTDdX8hEFscn57eYZzEHoOR9Dlc7e9AS+8vG1PYb4S5PN8aMgC0vem ACNLotUk+aABwaGW3ShTB6lxNqNfXnmOYl+rRfcScvvY/DSDeVfmLGKv9+/DYMeECmsH xCOhvSZfPRMyEOpoNxGBXRjeRoszv3/zZPGEIpDRXtktZt1NrNuPGCc8BpKvl0P2m41p rX4J48WsLQ8+dvIF13MUow0Bxwew6O5OVD5RyKgm8xHuyOWyQ0qe4vUc+UrXtI6NPHW+ Y3VvjyOfv095a7OHaoVMULmgcf7bOeO7HT5n3ZZcVtU9pmwmfUD0ji6B5ApWITtIp+zu DuXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472387; x=1684064387; 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=yyDU87BlE/kQQrI2wYzJ9rXC3RCPhxbvaI9JKH3Mb+E=; b=MSi+DfD+7XuqQmvFMpRiI5ZW5TmVhFvWaaqe1UO3SYRTYfKPxLd9ZyG8CVAjGqRKZk IKLrOKY9B3Mp4AaVJAj/m7Yu9uaRQBkgh32CgIQWAKaCwS8dWbLvHQeozyL30azWj6HK cS9CAQfSqcgZS1hcYa6ZcQ/78J2xZyTUvfzyRzJ5AhvhbHkmPw3NHCatEbdS1DJb3sWp e+rDiMzdhN8t2OfOPQ4KOSbLkA+8wxwaSYle0VHA6fNn6Bv9vh24cJKxXwjpAGEn6zxS vg40f5DZ6WShIwh7aJ3atOejcpKRK/jdo4wlYFLqUoYoLJOgwq90M/lFVH3U0MS+O32v bqlw== X-Gm-Message-State: AAQBX9eMizPC/VqNVwsbGziQAreQsPjMBkdVFvYH1/mmG0KkXH7JCixG qrUecicNjLoPn6gogplIAQGReA== X-Google-Smtp-Source: AKy350Yvan4QQsYWS/NnZ+RaBsc72Y8fkwkYln/6E/KNzUyw0tK5LubIfBzb2lcojmWG7XZOwfPetw== X-Received: by 2002:a17:90b:287:b0:246:61ae:2fbb with SMTP id az7-20020a17090b028700b0024661ae2fbbmr5369013pjb.41.1681472387771; Fri, 14 Apr 2023 04:39: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, Akihiko Odaki Subject: [PATCH 27/40] hw/net/net_rx_pkt: Enforce alignment for eth_header Date: Fri, 14 Apr 2023 20:37:24 +0900 Message-Id: <20230414113737.62803-28-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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: 1681472889363100003 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 --- 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 Wed Feb 11 04:39:41 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=1681472545; cv=none; d=zohomail.com; s=zohoarc; b=ho7yLGZA75bmWYtGOqNANMHbTbx/Ss9zA4Ty6g0OlG0kiapNHIQEz1rEIgMe7xw+MEdzcsnHpd8BgmTx7mw39IcVpjRiuChP0sg/SmeOHehESjFbhyX9grq/P78IqRcXH+x9LHx29JkCDxbrqmXRR8EfpqDjGTKodsdKdqmrhfo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472545; 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=rBFig1hzkHXQ3n+UcaXDa5HvtCT8+DbEwCzGzLBsJs8=; b=A8WM2gjjeD/ENDSAsz9XiuxRQjks75iDOFNE46eK5QqQ2J+TXP+rpAEl2AnnWWFB8JW2nx14GfXKA7h829lUarTWLxNtmxfVLitbfwpt5URYWemGT06tWeRhqqJmzMcU20+z0zR80M3i+C/4ET4dhmIr7pXkoeOO4Q+SKQWTiRs= 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 1681472545303609.5148152294981; Fri, 14 Apr 2023 04:42:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHnG-0004qc-O1; Fri, 14 Apr 2023 07:41: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 1pnHmU-0003oI-L8 for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39:54 -0400 Received: from mail-pl1-x633.google.com ([2607:f8b0:4864:20::633]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pnHmS-0001VX-2c for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39:54 -0400 Received: by mail-pl1-x633.google.com with SMTP id y6so16935966plp.2 for ; Fri, 14 Apr 2023 04:39:51 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.39.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:39:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472391; x=1684064391; 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=rBFig1hzkHXQ3n+UcaXDa5HvtCT8+DbEwCzGzLBsJs8=; b=bsKv41evSaORikhIC5b21w9uHFwRvEG3YkOWq53FeOC41oNQJuB+xTxO8xd3si5tV2 86VvQgqIzuzE8jbax6DZco9R8uhI12583WyBxyvcm8Ihz2h0Tmy3ga+sIF+9tx++7BoM SQsRlm2u03toGVfDeRjXBOgzKCY9nRf6Jfqg3/lO25RAxK+oDOW8LwwK5aU3IH6WoVix lw/8HnVYFtefdO8JgIReJKslyG0eQ5SCUjiFA2qYnIUyG4P8qTNHM+NyE994hrAqEjf2 +MG8kzGr/KRTvOy/2kB1U4zCOO5o15u2inoH7JKqR0bRsmzZVmQajiIrhxJ+TxJb4Ee0 HHog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472391; x=1684064391; 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=rBFig1hzkHXQ3n+UcaXDa5HvtCT8+DbEwCzGzLBsJs8=; b=IGENXYPyeyUTmFA0jLXIxTIktlIe+d3h5K83tCmHyXcbV9+wN4U0+Kz2H2DtyNydrj YD7uuosCLU3iLE+CdRcc/ybriSMRgCMvl3kum38zbcsCMfGMbr/I8PeYSSmODGwo7u6v atYGAxiQaEKC273fEOH2ZxH6LYH3TjHrXinS3OoEmQWhix2RgVYEztwBofiWgAvh7Vn3 B7dSF/TeN50/t03aHGoQRxzL+drdYverDNOzv+X/a5GQutBt3iW5ctgMXb8EOd4kafBL 20nivjxJZQfUUGs7bkKYMlvZ8t6tjPFsQp+34Wm6nSTu/bclxHhtv9+XomeWRBUJLSEy JPdQ== X-Gm-Message-State: AAQBX9fepU4YfV4tQUxLYyY0zCOAbGcscSNhgWpczt3iEXD2o74YuKnT 1XHgQVULAJm1+iRbJYL6/3Widw== X-Google-Smtp-Source: AKy350aaRGKAePautJZB9Yml8Y7wGLiWyGgWscXuhzrDgxus28yDDEvszdRpoWzdcY1aLd2kgHlcFg== X-Received: by 2002:a17:90a:6aca:b0:246:82ac:b6b2 with SMTP id b10-20020a17090a6aca00b0024682acb6b2mr5429021pjm.9.1681472391033; Fri, 14 Apr 2023 04:39:51 -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, Akihiko Odaki Subject: [PATCH 28/40] tests/qtest/libqos/igb: Set GPIE.Multiple_MSIX Date: Fri, 14 Apr 2023 20:37:25 +0900 Message-Id: <20230414113737.62803-29-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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::633; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x633.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: 1681472546906100006 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 --- 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 Wed Feb 11 04:39:41 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=1681472906; cv=none; d=zohomail.com; s=zohoarc; b=Cqg1MS2BPtXCsK6F3oZz8LWO/tU1C4jVt2nlMnqFki+M4jk4hzygWDYLn+5VSeKNAzRmRcRk4WUIAr3UP18JCWdY76bZof02PztDqRciONj9VgbEVu/r9WG69H41qHEzOqGV34NUIr9b5S31P9mRxZC4oEJOg4YQX5PywYzGbPg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472906; 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=e/RxHNbOb4Qup91wLluM6CqwqH0nGru8lBAdIN2L69c=; b=Hh5G9X4vc1pEzcqssWGHNBmV0QZaz9ouXXSgFaXCNnuV7Y1V4LZ4Ogtt7RfFbV9WXrMjwHuoE41uoXlFfgtlrkhwrLTfxEwyUw6eXK6vMup2U2SHoJxebw653PMwKBEv7ExWvymNc9XkyYUIwOPuVJd6LlxzsAX0w+nDC5ZdcEk= 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 1681472906271162.44277680409766; Fri, 14 Apr 2023 04:48:26 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHoJ-0005dl-3K; Fri, 14 Apr 2023 07:41: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 1pnHmY-0004C4-OZ for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39:58 -0400 Received: from mail-pj1-x102e.google.com ([2607:f8b0:4864:20::102e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pnHmW-0001ZC-HU for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:39:58 -0400 Received: by mail-pj1-x102e.google.com with SMTP id v9so23394746pjk.0 for ; Fri, 14 Apr 2023 04:39:56 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.39.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:39:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472394; x=1684064394; 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=e/RxHNbOb4Qup91wLluM6CqwqH0nGru8lBAdIN2L69c=; b=yFq5I6pVXcq/8in7IxA2knjaYi83EpL9x5VSMk0UHGX8gwWtPDSES1F974ejZ5cvbp hOBdhtpnk9wELP1U7XBA6WeqbzyTRO3GA2tiLWFW5jlj2LGHcYBscGU8bGNS6byrMTp1 C4T1P6Gew4qG9oqWZxo1Ktw0OmtSBU9zfCyA8TRitgK+gY+WbjkDd6tIEPIl4Pw3JLZu 29LxW85/TSpdaQp8Au08eKC2vlKy0K70KYVBeE9vlAZ2dYCA5/BISOeUJKDMkwFPYrXk 2Gy7UlLEEsR4CJIZQnpB5oXfPCjDHxjqhr/oHeZNLX2bp8nHXJaL0S1W9u0c+cJjKyDK UkvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472394; x=1684064394; 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=e/RxHNbOb4Qup91wLluM6CqwqH0nGru8lBAdIN2L69c=; b=J4XP+3jjYuMBUp02Ai+5HAT+jpjiFeFMyK6UmGo0EIgt/R/K08auF0n/N6nbX9tFYs MXMjOpnNtHeVaU9coauN0dUj9yt+nSGvvOsrUH+9bo9+VTIrCdYtE9nzqeOZWVEba8Hb XYEkczdBnzsMsL7rXCNmft080l5NZFktmRHsi2YcL2NcOUZu1ZJQBDfl9Q02C+bJjMlK hN3hT3qlFLWsetCeHcKfwLGhGqjrEhtH9ffzoDMA9FC6YdrCg/h+vlU+hLeZ7rlzt8e5 vymIuGBrzvQsMZkAKjwEIJ/hsd9MY2wAed/ZnzfY+zMMQt1E4oH5OFrZqYONf2vWiJrW lnrw== X-Gm-Message-State: AAQBX9fKD2WfHhZwX4eBizYeyipI/lS2jqDRw12i1QQMJuPED4ov38Zx cxdeYYaLCDK9ES5LztWHZSm6SA== X-Google-Smtp-Source: AKy350apGDcBJDNIdiHVijnQUQkXCwLL3vwgMAqdIs5o5plQ7aTBpL4x8y3+J2x6IEkiAWNRePThew== X-Received: by 2002:a17:90a:ea88:b0:247:2c78:df79 with SMTP id h8-20020a17090aea8800b002472c78df79mr3581601pjz.35.1681472394237; Fri, 14 Apr 2023 04:39: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, Akihiko Odaki Subject: [PATCH 29/40] igb: Implement MSI-X single vector mode Date: Fri, 14 Apr 2023 20:37:26 +0900 Message-Id: <20230414113737.62803-30-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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::102e; envelope-from=akihiko.odaki@daynix.com; helo=mail-pj1-x102e.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: 1681472907037100001 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 429b0ebc03..2013a9a53d 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -1870,7 +1870,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) { @@ -1905,7 +1905,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 Wed Feb 11 04:39:41 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=1681472954; cv=none; d=zohomail.com; s=zohoarc; b=gGBXrudfHwvXpW6+MvzkBQ3na/+CfXrs5KPkhrVZoprAsDAa49Pnd7T9vBZJqJ75GSeY9UFmQjwZDttqXe/idIdC0JSEz6m/lDulYYocu1SI4LcNVHDGiXhkLPEY7aEKeIhnQK9WERemSs2hYs4XTYindARnTpl3/UxBbqvnR78= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472954; 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=vlWHhvvn97HeemRYOl9EBY4zDXk3a0mHt1THnGfW0q0=; b=EY4s4yuRR/iOnQeKmeTTibt84evCzMH7pVQtcOOt/w6iqSRlN59uxqAK4xtm+OnoXoosjCKDLhoClLTzqXZmHvP3n7z9HfNcX64Rv/Kxq8QMRVuPN/dSSNobN7xiCtRUsQZWjrhnXBSPELJIi4FBLlx/RHlnUY6Sow2a3EEkODg= 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 168147295420992.47850743731237; Fri, 14 Apr 2023 04:49:14 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHol-0006LC-No; Fri, 14 Apr 2023 07:42:17 -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 1pnHmc-0004N3-8E for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:40:02 -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 1pnHma-0001e2-An for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:40:01 -0400 Received: by mail-pl1-x634.google.com with SMTP id p8so18074276plk.9 for ; Fri, 14 Apr 2023 04:39:58 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.39.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:39:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472397; x=1684064397; 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=vlWHhvvn97HeemRYOl9EBY4zDXk3a0mHt1THnGfW0q0=; b=C5OIZX+BVEWsQ3CiVthne6mT7sU2Ic3mBYnmj/MS6410IzIGvWuN43ZSZMf60JolQ7 ilzuEnii9K/s+Uea5hRm4LeBV1e+1oifVBSHUHHYVHBlEJakEC9GpM7xMV+E+qN64pT6 WWIdDJIFMtaKQ23sY29C8IkocZgpWStfs8bXikyMlhnoXPht7uHX0R0/kwmIjWfHiWah SnCpKK9cgOAzblLWXqmw4WpchTMpkYXq4XZi6wf/GYCrMH5oML/arpkSJVlOTgfatgFA XR+tpluUEm1MaFaZGcRQN3hw5dC6tOosbpKVbQZKXvFrxDiyjEedo0ccwmKdfoHiiT5S pqBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472397; x=1684064397; 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=vlWHhvvn97HeemRYOl9EBY4zDXk3a0mHt1THnGfW0q0=; b=cbbyrT6XnoUrTFMyqSwBo+YJjhaVDvpy2Y1d3W6P7HgKZmcEofw2TEl3llu9u9shSw wAJ2g/NM7OlYK5vhiX3lUyAL02HSS9KpDKO1NTIj/zx1OlNHXyCkYXrOttTE5W107OO8 BDcZ17ocfhrdZO9TiarkJXY31+1w/4n2X8nknhuR+PidK3bxowKnJVHGcDhZlwPLqLlR VHPTQOUPFG1Rhso3iUHlP2luNR8282K15BJ0KH1HdnPy4N0jFI0rq3TBpJDnCmfEECwL Eos4ONEB06NGIfGq6UM44/IlYVdYSbleA0D9Q0B9uVH1fkQHislLGc1h0JdRgTDxnkp+ m6pg== X-Gm-Message-State: AAQBX9f3T97BXYX41P/sUyP6Pe1wv/LPa/xDja4a4ZhNUReRHhChlLfc KUD5OgjFU4bYxDZbYRxhGGZm92MpCNi8pEqkTxg= X-Google-Smtp-Source: AKy350Z9j0o015l/tIoDvw/WT+FJgaMux9phMZ4BciO+tdmlyv9vc2NHm5c7dCQaf5CjEygJL5BiGg== X-Received: by 2002:a17:90a:7c0f:b0:23f:83de:7e4a with SMTP id v15-20020a17090a7c0f00b0023f83de7e4amr5382400pjf.7.1681472397471; Fri, 14 Apr 2023 04:39: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, Akihiko Odaki Subject: [PATCH 30/40] igb: Implement igb-specific oversize check Date: Fri, 14 Apr 2023 20:37:27 +0900 Message-Id: <20230414113737.62803-31-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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: 1681472955838100001 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 --- hw/net/igb_core.c | 41 +++++++++++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index 2013a9a53d..569897fb99 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -954,16 +954,21 @@ 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, 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; + size +=3D 4; + + if (lpe) { + return size > rlpml; + } + + if (e1000x_is_vlan_packet(ehdr, core->mac[VET] & 0xffff) && + e1000x_vlan_rx_filter_enabled(core->mac)) { + return size > 1522; + } =20 - return size > (lpe ? max_ethernet_lpe_size : max_ethernet_vlan_size); + return size > 1518; } =20 static uint16_t igb_receive_assign(IGBCore *core, const L2Header *l2_heade= r, @@ -976,6 +981,8 @@ 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[0].h_tci) & VLAN_VID_MASK; + bool lpe; + uint16_t rlpml; int i; =20 memset(rss_info, 0, sizeof(E1000E_RSSInfo)); @@ -984,6 +991,14 @@ static uint16_t igb_receive_assign(IGBCore *core, cons= t L2Header *l2_header, *external_tx =3D true; } =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, lpe, rlpml)) { + trace_e1000x_rx_oversized(size); + return queues; + } + if (e1000x_is_vlan_packet(ehdr, core->mac[VET] & 0xffff) && !e1000x_rx_vlan_filter(core->mac, PKT_GET_VLAN_HDR(ehdr))) { return queues; @@ -1067,7 +1082,10 @@ 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, lpe, rlpml)) { oversized |=3D BIT(i); } } @@ -1609,11 +1627,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 Wed Feb 11 04:39:41 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=1681473120; cv=none; d=zohomail.com; s=zohoarc; b=kuEi13aE3DXw3F4WC9ckLHiNFDKxgChEQ8bfc8TlwgbLCxLPLsV/Gf3lxxSy4g2j4A5BJzMpVvF/dE+lb50K+Vufdg8ulIs4og3VhK1UcOouPb+99zqhs5/Zt8oypd6xc9aM31x/YNimWd4iGlvuKOLLOKaHrDS5M+n6OdGcp2U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681473120; 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=TAtKFxybpPPsuBAtIpwRmB3OrmxCztjX4zH5DcY2+A0=; b=QRtC8QEVqqMK3wErQIccV46BAUfCh0Rv//8w8s+6cTDor2PCRhr1L9NfPC0IYhOU0DbDK63EuzUzYdEmZyHYkE/nRNKdRXp0BaUvyBzWYP8PxbtuXxWeJLlCu/+xZYITkYPpDO2rS2p47VTonlGQLdtlAXtxiAIBTyf4Qdiuoqs= 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 1681473120651842.8443010758335; Fri, 14 Apr 2023 04:52:00 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHox-0006gN-Cr; Fri, 14 Apr 2023 07:42: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 1pnHme-0004TG-LC for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:40:28 -0400 Received: from mail-pl1-x633.google.com ([2607:f8b0:4864:20::633]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pnHmb-0001VX-O5 for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:40:04 -0400 Received: by mail-pl1-x633.google.com with SMTP id y6so16936337plp.2 for ; Fri, 14 Apr 2023 04:40:01 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.39.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:40:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472401; x=1684064401; 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=TAtKFxybpPPsuBAtIpwRmB3OrmxCztjX4zH5DcY2+A0=; b=ctba5npujhu5LwLtxXZdtX10UUq1aN/16moYUFIK+8wNuxVxSG6bvQJEx0Gzm5ND7m un6P79F+u/Bfw+ONGu5+uR8RyFxgQSihBG6a61VCttS0UVPOthKrLlti+euenAa9djUm VYeOZdXafD2j8QiR4dcw7g2wApBvWq5tgL16DTBzEDT20wQ5cT6yl4/TsiSIQ9z2CLQ3 n5tcDUYolqyFQwhx6XzQHnzd3Xq43zty52UFmmd/fskyz4xcXUOAsnWXLOZNKNPzvY/V Y/pThkRXN4DJZLK+kRgMU55Pzdaaw2SXl1ppRj8XxQWWpYEBK2igTJu741MiNqCYEz6B UCLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472401; x=1684064401; 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=TAtKFxybpPPsuBAtIpwRmB3OrmxCztjX4zH5DcY2+A0=; b=PT4lb7M4gnfe+hYMtQLpff/UWHmM5ST6k6MOitRdlytwTKW7FqipOOVw+zIxW/twdp lsDsM1TlhIpYY2VUzsCAR8r7UiGbO9HxvtbhvAftNscqGl6Pj6Wtj50iYPiPqVt54i9d eLhFWvRkyM4GX8nm8FjSXXxSb60rG1oE9RaKBo8GBbPkDbH9oDJr6vThVscFS8VR+7Ht mhvGGdnkUdW3iJpOZj9Ey7L2l3zE8chSYqsYDX4+PDC4c65KQCicRSRG5ZPRleeX7Grr K1XI95Ytcs1FXJRgrepGdNMHRy5dmDaLSjnGyV6zt0zqC8CaJAlGV8kEX/f7uYeDDtQb /fzg== X-Gm-Message-State: AAQBX9fluOz2UArwWuMq1Tgxoum98fLmahOUV5NiU9C3NBvkb5ULZ+6W cDkUjShwwHFNaa9GHupVPxfr7w== X-Google-Smtp-Source: AKy350YeLZ7ZF9CjXf3BHJjGWERggxV7VFmbxbek8tP1VS2LbF4oVvV3y02DyCcH7gN+a9W+Os5Y9Q== X-Received: by 2002:a17:903:41ce:b0:1a5:1842:f7da with SMTP id u14-20020a17090341ce00b001a51842f7damr2284028ple.6.1681472400999; Fri, 14 Apr 2023 04:40: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, Akihiko Odaki Subject: [PATCH 31/40] igb: Use UDP for RSS hash Date: Fri, 14 Apr 2023 20:37:28 +0900 Message-Id: <20230414113737.62803-32-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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::633; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x633.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: 1681473122684100001 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_core.c | 16 ++++++++++++++++ hw/net/igb_regs.h | 3 +++ 2 files changed, 19 insertions(+) diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index 569897fb99..3ad81b15d0 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -279,6 +279,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; } @@ -314,6 +319,11 @@ igb_rss_get_hash_type(IGBCore *core, struct NetRxPkt *= pkt) return E1000_MRQ_RSS_TYPE_IPV6TCP; } =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; } @@ -352,6 +362,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; diff --git a/hw/net/igb_regs.h b/hw/net/igb_regs.h index 22ce909173..03486edb2e 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 --=20 2.40.0 From nobody Wed Feb 11 04:39:41 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=1681472870; cv=none; d=zohomail.com; s=zohoarc; b=bm3Us+PFva2Sz9oHWsJ4tVYTmFyzyx7MOh8/iZyVKoK2cnlfxxCaZ73rDVDvCM3BorZyvzBuQUnCrtFRmGIEC9F3qlV2yrm4xQNX0NBQwqQFFVka6yHE4eZJK1U6mya5eysQqc3exGSxsZ5QrWeVY44ZOWWvBacI+6SrmZ0fj/g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472870; 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=nuh6jx9SvlyMfDnkhGkcDIOqlth9vahNAAHNqR8jiuY=; b=etKNz6Xu0NzymBL4K1kkgxLWBGtKiAWG9FYb8MxZIiOpNzLvHiCH8q450ildJTlLRR8G3/92GrjgA+gMYvrC49GtMvDaTeMz5OKHmnmaYOr2MZUd/vn3TGwZ6dzNxOo9/ZOtuOmzfqmE3sJuX2PZtu89TzcnsUgK2gWUg1VbmA8= 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 1681472870112573.5549600728275; Fri, 14 Apr 2023 04:47:50 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHr3-000803-CQ; Fri, 14 Apr 2023 07:44: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 1pnHmm-0004gO-Gs for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:40:28 -0400 Received: from mail-pj1-x102e.google.com ([2607:f8b0:4864:20::102e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pnHme-0001UJ-W8 for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:40:07 -0400 Received: by mail-pj1-x102e.google.com with SMTP id c10-20020a17090abf0a00b0023d1bbd9f9eso21365923pjs.0 for ; Fri, 14 Apr 2023 04:40:04 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.40.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:40:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472404; x=1684064404; 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=nuh6jx9SvlyMfDnkhGkcDIOqlth9vahNAAHNqR8jiuY=; b=X4AN353G/LKaLmi27AQOdMegGZbmj6PX2kPnwPEw9c5B/BLn6/RWCCu5sL7elntyFv rLTrhuz1x2Y+FoZ2lnS8TigZbgGlDDXFF72GGk8QxnVeWFYrCx1tPxi9dRPZ3/853mtJ RP1dA4BtfkF3aQAN02avII4Uzj5srNLRGExEaeh8RGiu0u0iV/aMGxUK6GpL33mEvNEh vIwfpx0HoYurUPSKr24GtNI5andpHwzHPh7hM2Us0aXITXsqyK22eVvojs9thkZqza6k CrQ27wHPzzON/2mkxKYseuORo9fiNgjMtXm7ZuJ/0IY3O5p40/tyySFgxAciKeLp7/Z4 flyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472404; x=1684064404; 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=nuh6jx9SvlyMfDnkhGkcDIOqlth9vahNAAHNqR8jiuY=; b=U0uVa+/2a81PP66hwL4j+tiZlRNlD+glkqxEyUhZyvZRrziSv5VGhFttoWgLUD6wDR gb856mqfR1iOG89s3bBRrOiG7rqGGiteGKuhLiv1+V8j9b3GsxRcC2GxXP1Pt+zheXe0 1Usbe4PO9Kg5HOis/ec0681k4oOa2Lf1wBkmtcjyGSvEVwh+hiGxWuCD+SmHRqsVgQiF KA84hr4ZhJJt9yiuTbBI2q1B3i2U75vqXaLGEEeV9jZ2+cyjFNnvX7AKzIHqVE+Y6iIB 6OWSx2Jkf9+dUNV/ZrvsaYykLuIo7GULpQTaYrJuK71CrmBTuYTzjlFc9clm11mM5r6h cDgQ== X-Gm-Message-State: AAQBX9cmLQ2dygDAXI2miH6vujYCxDa7yKdC9p0yFz08zqUPfULcvFZz PulMrLgjfQqXraVWLikS70i6UA== X-Google-Smtp-Source: AKy350ZynWg1wEpr08QBPQ1+F/y411j0Wo5GAMInrLH301s9m+xe8ft8CXNBrmmkXNipKd0pbH+9vg== X-Received: by 2002:a17:902:c408:b0:1a5:68c:4006 with SMTP id k8-20020a170902c40800b001a5068c4006mr3628257plk.13.1681472404256; Fri, 14 Apr 2023 04:40: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, Akihiko Odaki Subject: [PATCH 32/40] igb: Implement Rx SCTP CSO Date: Fri, 14 Apr 2023 20:37:29 +0900 Message-Id: <20230414113737.62803-33-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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::102e; envelope-from=akihiko.odaki@daynix.com; helo=mail-pj1-x102e.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: 1681472871025100003 Content-Type: text/plain; charset="utf-8" Signed-off-by: Akihiko Odaki --- hw/net/e1000e_core.c | 5 ++++ hw/net/igb_core.c | 15 +++++++++- hw/net/net_rx_pkt.c | 64 +++++++++++++++++++++++++++++++++++-------- include/net/eth.h | 4 ++- include/qemu/crc32c.h | 1 + net/eth.c | 4 +++ util/crc32c.c | 8 ++++++ 7 files changed, 88 insertions(+), 13 deletions(-) diff --git a/hw/net/e1000e_core.c b/hw/net/e1000e_core.c index 33ffc36c67..9dc8b718c0 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 3ad81b15d0..0e1b681613 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -1230,7 +1230,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; @@ -1290,6 +1290,10 @@ igb_build_rx_metadata(IGBCore *core, *pkt_info |=3D BIT(9); break; =20 + case ETH_L4_HDR_PROTO_SCTP: + *pkt_info |=3D BIT(10); + break; + default: break; } @@ -1322,6 +1326,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/include/net/eth.h b/include/net/eth.h index 2bbd04ec3b..6d65b7e2cb 100644 --- a/include/net/eth.h +++ b/include/net/eth.h @@ -222,6 +222,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 @@ -377,7 +378,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/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 Wed Feb 11 04:39:41 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=1681472900; cv=none; d=zohomail.com; s=zohoarc; b=hqa72VPbeCB7oRN0DvrUojYTtiSP8XgXSjgb/ACoU7+1pTZogKS7U1+h652tRi82GSYIt+KVY1Zb5Fz3pg5bd9oEYmNsuS8fOAUZOIGylKY20f7lAE4u2mCu/vr+i+mbUucrWYK3i4yu7V0/cJgJJI/Cmh+4lsydJf/Lf1+c7oo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472900; 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=/C/a5KoeOeEM3rKXy5Coa0KaU37snP3P3wPXSFVvgxs=; b=gJCT8rBeT5oTHC+rG3q6G/j29R8pj5vXeMBEIEo+nrnGg6hWGp2GIgr5w/SxpSwCZqYCrcOUnAASKsrzjpVjck2oRjumDLS24k9ztEj9Ut7XEHpD8rV2dVF/Pl+WCcLV7PLkdgUhAvV5bvWhrI9Ebs6W2LcOitDaAkeAo3Z5xEs= 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 1681472899996780.5487919843827; Fri, 14 Apr 2023 04:48:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHoe-0005yk-Hg; Fri, 14 Apr 2023 07:42:10 -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 1pnHmx-0004jB-72 for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:40:31 -0400 Received: from mail-pj1-x1035.google.com ([2607:f8b0:4864:20::1035]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pnHmj-0001rc-4L for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:40:14 -0400 Received: by mail-pj1-x1035.google.com with SMTP id w11so18580928pjh.5 for ; Fri, 14 Apr 2023 04:40:08 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.40.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:40:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472407; x=1684064407; 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=/C/a5KoeOeEM3rKXy5Coa0KaU37snP3P3wPXSFVvgxs=; b=TsqSjRISsQdxZfQ9cYBpjMk+zsUPX/IhINICA7t6IkmBX5IObMJMuCW/KYz9WmoB7y 1UXkhOSF+btxCTioU4dRU1qXSoC0voTsMsqzdKvJwSjnAV2gv2ua1OKBrj7NHRILLwFV AQXq84cU8YlmnJZWEsKbYUk0eszGOSdbDo45kktQptYvhnrDZJLGuAFUgIJRCnTKlYgT WLa2Jkxl4Zm6X0hJUMd0q7bxCSSfh3D9uiukT2BZPYlhKHHQSnZ+PuMA4RhpZFASKt+3 RBiWJ3H0UPsAR6m1TkqFmoKNGTVaKQ2d3/ZrYniK/0aGhD0IHCUfh+7NKL9RW/WYOMQL zW6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472407; x=1684064407; 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=/C/a5KoeOeEM3rKXy5Coa0KaU37snP3P3wPXSFVvgxs=; b=bnbYNE9BhDsdKYZmfATD3bHTUeuv8krfqcrus8OsFGhn+O7rq858XmE0xO68qlh8tX jiFQKPYwfgqSicgy0+AFyUCi9NAmx3exdc0oB6fcmNn2PasLzxs0n2c8DUUZCrQkNVuD gqFXxeeD+wtlc0XavEvDT5Lxw8IaVRmgWoeCSiciJ3c34BCBO/2PQP1eVqvKoin4tWWH Uu4zXZ6//rQ9xlebge6mlDKAP58gCzaGOTXkabSH3gdWOiXDdoWN7dFCD/bKGRGqqn3h cbNn8k3XZW/ApouTtSK3PaCAn/+y4LCJC5NaG4uLkTWoSU/W9cQVKxEKFlG/SgPNJWKq RvRQ== X-Gm-Message-State: AAQBX9cPYsQV2ceaJ6Kyb39OpRsvIkSBhCOLh+1q7vo0IBRIWbeF1nqq ZwjpV3re/qZDUzSfCE1iZHo5YQ== X-Google-Smtp-Source: AKy350YvboZ+mhTv1dpPZd2L2dAHqqlZ187W4p/HnrvR/7Y6uOuI02eYn6xNOVDBOGes/sNr97ddbg== X-Received: by 2002:a17:902:e802:b0:1a5:167e:f482 with SMTP id u2-20020a170902e80200b001a5167ef482mr3150887plg.20.1681472407475; Fri, 14 Apr 2023 04:40:07 -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, Akihiko Odaki Subject: [PATCH 33/40] igb: Implement Tx SCTP CSO Date: Fri, 14 Apr 2023 20:37:30 +0900 Message-Id: <20230414113737.62803-34-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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::1035; envelope-from=akihiko.odaki@daynix.com; helo=mail-pj1-x1035.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: 1681472901041100011 Content-Type: text/plain; charset="utf-8" Signed-off-by: Akihiko Odaki --- hw/net/igb_core.c | 12 +++++++----- hw/net/net_tx_pkt.c | 18 ++++++++++++++++++ hw/net/net_tx_pkt.h | 8 ++++++++ 3 files changed, 33 insertions(+), 5 deletions(-) diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index 0e1b681613..955db1b1dc 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -432,8 +432,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; @@ -444,10 +445,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 + diff --git a/hw/net/net_tx_pkt.h b/hw/net/net_tx_pkt.h index f5cd44da6f..fc00d7941d 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. * --=20 2.40.0 From nobody Wed Feb 11 04:39:41 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=1681472819; cv=none; d=zohomail.com; s=zohoarc; b=UE0vKgAI5n1Cdr/x7fRNyNWGYzaEv637bpNPTAVHxzR6i65s1pUDyAW2r2rpARmTqcwWG924relQpbgSaTOBM8apRL7JpQv+phQOjDZgenHm1dGSUO5Y0B9wrsKYHbV1n98Q/hyP/QgwmxATRPW8reqveT6ojDykRXyHhHjLJYk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472819; 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=F2cbV1iB8ftJHeUS1deH8mR5wYQQ1hxqCo1oleHvYRs=; b=eK7Neid714VyrwUDHSRoAmV7o1aNgrhFy2Y7QDaq+7gnaAB1p+C75H6RRYQrrAO+DVaxcJr9JvqlWWc4ORvQtFBaoYgIk9ZRFxNipG+ZmZfhB3/rJyEsXIu+eTsIBlFzYmvKH3TxfaQyo0On5kjTnwM+TXN4iOrbA43TaL1N6f0= 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 1681472819325289.0883622671546; Fri, 14 Apr 2023 04:46:59 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHrD-0008FA-3D; Fri, 14 Apr 2023 07:44: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 1pnHnC-0004pA-JL for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:40:39 -0400 Received: from mail-pj1-x1031.google.com ([2607:f8b0:4864:20::1031]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pnHmw-0001sL-F2 for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:40:32 -0400 Received: by mail-pj1-x1031.google.com with SMTP id pm7-20020a17090b3c4700b00246f00dace2so10422661pjb.2 for ; Fri, 14 Apr 2023 04:40:11 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.40.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:40:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472410; x=1684064410; 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=F2cbV1iB8ftJHeUS1deH8mR5wYQQ1hxqCo1oleHvYRs=; b=tx4V7Yx5Zd+OMcXi40hx6p6Fm4jbo6mtYkDxuQJYadtOO4UNZJobb46W4QfBSsF1c7 pi60K4X96DHsxm1Ll3ZFc3+em0VuHe5yCTn4m+ck0gz1QkFYVkvlR4vwbBN12fLa1RuD oFde9EVmmrDBFBj37SnO5nL1rFWQXQIi7LI1qjGIml/DETGOYvoxh1V7Am0iGmMa3Kl+ 35R9tBQBHTzHtyROlv8XAmRwxG1eH/aAG6ziTc8k8qIbpZ2AGdtSHNUhhI3LsrmvID7u y2eIsVlsedtdF7Sg7spjD4t7ADOWpcsY0GdD1b5+vajUQa+jOHH1//M6LCuOPe/NvUge LoQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472410; x=1684064410; 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=F2cbV1iB8ftJHeUS1deH8mR5wYQQ1hxqCo1oleHvYRs=; b=AZ4hljnfklRna98/jk38FiIwcdYApOw5oLGX6uh1Cbb3sLUxuK2TLRt7zRD5K2E/zR UXbC1S2Hu+G7bDl767WWdWra3ce1otvQ5xnZNdBDBNC4+hI9ttPQrOA9Wdvid4zuiJDO GlnANYY+9L2KCHFotQzXglR0bwXGFrrkQreG8MkwvQg+RNc3aU6SZtoEiG471ZI4TOa5 X1HW3HKH4K5vt7ZqOzrw3kUcJo/XpJivIdEMnXrSwhaAi/bRkcMywCpuAXSVYyu/KyqH wK4HqFrd28GJY2opbQWu+71HSGRwF+iWqCgVtQusRZ9sjSNfUslv2Sm4b1TloN1YnLEz tTjQ== X-Gm-Message-State: AAQBX9djLrYFrITuLoarNvij43RIvWnuDHsonh6P607LG1rMxSu5vNBj O3XamHysYBU0DHky2Anhi1fQ8A== X-Google-Smtp-Source: AKy350YMTCuwHmOcqh8N71a4A2TeZVdPVz3+SA4F6/kv3qZ3BngQ5QixGpME7srUrzDUrDxpK6kM3Q== X-Received: by 2002:a17:902:efd4:b0:1a2:9e64:bc5e with SMTP id ja20-20020a170902efd400b001a29e64bc5emr2275531plb.39.1681472410698; Fri, 14 Apr 2023 04:40: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, Akihiko Odaki Subject: [PATCH 34/40] igb: Strip the second VLAN tag for extended VLAN Date: Fri, 14 Apr 2023 20:37:31 +0900 Message-Id: <20230414113737.62803-35-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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::1031; envelope-from=akihiko.odaki@daynix.com; helo=mail-pj1-x1031.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: 1681472820716100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Akihiko Odaki --- hw/net/e1000e_core.c | 3 ++- hw/net/igb_core.c | 14 ++++++++++-- hw/net/net_rx_pkt.c | 15 +++++-------- hw/net/net_rx_pkt.h | 19 ++++++++-------- include/net/eth.h | 4 ++-- net/eth.c | 52 ++++++++++++++++++++++++++++---------------- 6 files changed, 65 insertions(+), 42 deletions(-) diff --git a/hw/net/e1000e_core.c b/hw/net/e1000e_core.c index 9dc8b718c0..56a46b1897 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 955db1b1dc..6e8de9d878 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -1621,6 +1621,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); @@ -1677,9 +1678,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/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 6d65b7e2cb..7e76a4b139 100644 --- a/include/net/eth.h +++ b/include/net/eth.h @@ -345,8 +345,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/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 Wed Feb 11 04:39:41 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=1681472786; cv=none; d=zohomail.com; s=zohoarc; b=M2lwtzGp3cf82o8E6WvGiqmT0Wxalz8+mUkP+pZB+MRScPRB4jV9FVrtL26MUoFt1359viYxVJaiCfiODLVVZft0yGXPKtSTL4YpRuk4sl6BpYrJngDe4BnaMe2NKbtzF/q+sgES6XyMH/+TZRP8Jl0KHmQwKAudKTjVHJ/Dp8k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472786; 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=lapdvx8DSL6+JLSi7HZJ1a6iA56QIHbib8/tcCY9qxs=; b=TTtf2P7CUMONuCLqJ19pR4N7oi5uHEUIXhLEXxxk/sm5FnkB6UGQzeicxbZDSYV39iaIwCXIc8CxIGVYuQbgpJNZrq2XBJ49Elwfue1gea+sP2R/y1Rq8KgQDe180RH2KvVa7v/5bhWxQGbRoL/rVxR80weIjl8KH/s51Fnsph4= 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 1681472786409960.7883253662138; Fri, 14 Apr 2023 04:46:26 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHrI-0008Ud-C6; Fri, 14 Apr 2023 07:44: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 1pnHnI-0005Ff-LS for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:40:48 -0400 Received: from mail-pj1-x1036.google.com ([2607:f8b0:4864:20::1036]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pnHn1-0001sp-NO for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:40:43 -0400 Received: by mail-pj1-x1036.google.com with SMTP id y11-20020a17090a600b00b0024693e96b58so17245824pji.1 for ; Fri, 14 Apr 2023 04:40:14 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.40.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:40:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472414; x=1684064414; 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=lapdvx8DSL6+JLSi7HZJ1a6iA56QIHbib8/tcCY9qxs=; b=jE0AHl3b2UjjWRlPcmQgWv+erxeWtFwynLFa3FIRJGZQjZ/QgTyK8LlHDsmNoyhNIZ /zctDk5+2/YUVORe9OfGiLBjytZZluUBoLoJTvAu5AVjt/2OrbsxGk9JWnFV/HYpbIzk ocMmDsi8C8p6wcAp0fLdS6dTMGSar2cmwPqRuekIApOPftoZEInNvPymsQ3YunGQdRx6 BH6Hw1c+zWgVqEr9l52x8k9c/QT9N09CNcMrSJaTNFY2Koc5bMzbDxF4n53Vb6tCcWcS vRdzl3z0jxDouQtZPfrYqOaKZ+tzhd+IZQi6urzXt7fGDTXKPbwIBD4Uz7mC55zjFdOp kM/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472414; x=1684064414; 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=lapdvx8DSL6+JLSi7HZJ1a6iA56QIHbib8/tcCY9qxs=; b=Pp+DdEm3evgpTzmNQfK3Aeweulzw4O2tBg3LLYq7qlO0wNEmeVJTm9W+ZPByJ+5VR+ 5qawOfzNt7YASk9kI0Zh/HDBTLOwK32eGOL+BIlIFK9WrTYBurnKq7skFsblMMAHQFpW 5Ll47ryeP/UdH5BpFGdqJJPAqXQkYiiCCKVEkdjj6zbHR+FHRIQvhAPmCcrsiCVJC4wS 7Ulk2QpkofE9dE2lpFmvVEai8OLcZFyYaWpyNRdIIOSU/S5ssG0fOgtYt6NtJKBHKiaN A/Z5Y2K6bHMpaw4/ZqIFLPnWL1TeYhLq4wX0P+MVO1AfW2ajGqrd2pDFPbDidvd69cNc XRYg== X-Gm-Message-State: AAQBX9cXksicx+O4Gqce0UKY8+fkoQrVD3lS31soQrujxwn/b4V2yfYA RfqS4ov0B2yFmVC8C56a8RLhgw== X-Google-Smtp-Source: AKy350a0/JlwnyZ6x1AX2U0FwoAJji+b6ZdVmyD6dcS+yRGsy/0LoH1yhMPqKiAdfWkcJIdoN9+Whw== X-Received: by 2002:a17:903:41c7:b0:1a5:2585:d09f with SMTP id u7-20020a17090341c700b001a52585d09fmr3204062ple.12.1681472413940; Fri, 14 Apr 2023 04:40: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, Akihiko Odaki Subject: [PATCH 35/40] igb: Filter with the second VLAN tag for extended VLAN Date: Fri, 14 Apr 2023 20:37:32 +0900 Message-Id: <20230414113737.62803-36-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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::1036; envelope-from=akihiko.odaki@daynix.com; helo=mail-pj1-x1036.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, 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: 1681472787207100005 Content-Type: text/plain; charset="utf-8" Signed-off-by: Akihiko Odaki --- hw/net/igb_core.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index 6e8de9d878..70acc86834 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -1017,9 +1017,17 @@ static uint16_t igb_receive_assign(IGBCore *core, co= nst L2Header *l2_header, return queues; } =20 - if (e1000x_is_vlan_packet(ehdr, core->mac[VET] & 0xffff) && - !e1000x_rx_vlan_filter(core->mac, PKT_GET_VLAN_HDR(ehdr))) { - return queues; + 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) && + !e1000x_rx_vlan_filter(core->mac, l2_header->vlan + 1)) { + return queues; + } + } else { + if (be16_to_cpu(ehdr->h_proto) =3D=3D (core->mac[VET] & 0xffff) && + !e1000x_rx_vlan_filter(core->mac, l2_header->vlan)) { + return queues; + } } =20 if (core->mac[MRQC] & 1) { --=20 2.40.0 From nobody Wed Feb 11 04:39:41 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=1681472929; cv=none; d=zohomail.com; s=zohoarc; b=AcDgmDKjNLRudSpJpozZdTO4irsqr8guguP87pvoLbuCtDV7s1GcQyNHayKYpbo0fFPDYvb6Eh7kzMtxs52vjQuZ+cjrzv+Y4+dH/ZVgkrjFRFBr3ReIjM4ohmRRlWPkJ0Lqe3gl8b9vAu0bQAy2VD7JK6G6U9tnYRqVupMoJS4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472929; 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=tnvZPEn4gu8ORbMQya14s8lPwu/1ov17ByijN6RWTRY=; b=jey6t2/iYvIUWm0KJbGm81E7uMg77c3cV5CcP+JAAI7Rsx2C/VYWu0k9d1bOpbRoK+W5EP/CuWqa5m7uXCiHAoNSg+gGCrFGpFpCORvENeoDk5AtpV5ad7e3CLA1ghd9crgQVNLIjLH5LVPFkqJXTLzgPXqiF0dhZ7zEGsHwYQM= 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 1681472929069778.2304121130812; Fri, 14 Apr 2023 04:48:49 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHrF-0008Gh-50; Fri, 14 Apr 2023 07:44:49 -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 1pnHnH-0005FF-AN for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:40:48 -0400 Received: from mail-pj1-x102e.google.com ([2607:f8b0:4864:20::102e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pnHn8-0001sy-1p for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:40:40 -0400 Received: by mail-pj1-x102e.google.com with SMTP id f2so9530843pjs.3 for ; Fri, 14 Apr 2023 04:40:17 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.40.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:40:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472417; x=1684064417; 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=tnvZPEn4gu8ORbMQya14s8lPwu/1ov17ByijN6RWTRY=; b=yddgDWwxvKDgPXJuY4CWTJfOCAkSQCbzHTxM4SQJIa/RKAAFv1mRwN57GeI4YwR2Sp dye50Vyjcb3sZ1YDyvNUypAI3ndEFCJ5SlCS3r55VY/zQEp0rT0RygoKfWi7aQYXx4tE QPfObDKJy7qf6Ccm5VhBafPMPARcBGWVxx+w76TB4XleaCEOvkceVTNvEw8MzHLw5nLM yj+SgRfPh2Aiwca8rFdFLH3Lb3FI2yqtNLMq/SPBhQm9A/xKr5GyS3HnpjwcwGhnFcIO KRj7TwHnC9HCenoQqlClGq1HI5Wnz8nI/FAXF3dgkTE/d4NiPOfN/iPL203ZpdviRQJq XjQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472417; x=1684064417; 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=tnvZPEn4gu8ORbMQya14s8lPwu/1ov17ByijN6RWTRY=; b=T0iDKF0BUWjJO4r/RkIb4cdP/iNtAZM4ZEA7aDPkJWJi1iiYGdxPsVG6YgmLhjVZYA BEMaAR2mx+kd5pB/BFWzzkAKOnRn94J6L9Bpml0SlVn2X/Igptxr+9wwSJKWXIndkKKR i/ADuXi13BVTnI4PZEwAjqdhYztaps/eD5fV6a0WYHJcRB7+EnGbAuWu/puRpNPrMSjU soH0ImHwOqvK5l39cqQ9yWacSR7CcAFlQaEmJ3WhfvFOMVWGrfNUquvJX0t9nln63JaD JIJk0mwOkxKIv76U6rVfYGBjbNT1z9pk227iojNw1t+8zIqushs/QC8gjf7bGtihYScE scmg== X-Gm-Message-State: AAQBX9eGg1H0xfec162cOkGGJcLZWTGZjJKzchEDIYvqz3atexH+SEf/ 9QBrJkmRsVIqNs1EKisOuuPnOQ== X-Google-Smtp-Source: AKy350Yti29UnDCuLio3+uj6v1ym0Ue5DjjHWMq5EPGUwCe0S/heegDW/NKIsUZ9Y+lh/OqMOMd+Tg== X-Received: by 2002:a17:903:1386:b0:19e:dc0e:1269 with SMTP id jx6-20020a170903138600b0019edc0e1269mr2519346plb.7.1681472417179; Fri, 14 Apr 2023 04:40: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, Akihiko Odaki Subject: [PATCH 36/40] igb: Implement Rx PTP2 timestamp Date: Fri, 14 Apr 2023 20:37:33 +0900 Message-Id: <20230414113737.62803-37-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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::102e; envelope-from=akihiko.odaki@daynix.com; helo=mail-pj1-x102e.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: 1681472929673100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Akihiko Odaki --- hw/net/igb_common.h | 16 +++--- hw/net/igb_core.c | 129 ++++++++++++++++++++++++++++++++------------ hw/net/igb_regs.h | 23 ++++++++ 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_core.c b/hw/net/igb_core.c index 70acc86834..c716f400fd 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 size > 1518; } =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; uint16_t vid =3D be16_to_cpu(l2_header->vlan[0].h_tci) & VLAN_VID_MASK; + 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; @@ -1017,6 +1039,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 (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) && @@ -1232,7 +1274,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, @@ -1283,29 +1325,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 BIT(4); - } + if (etqf < 8) { + *pkt_info |=3D BIT(11) | (etqf << 4); + } else { + if (hasip4) { + *pkt_info |=3D BIT(4); + } =20 - if (hasip6) { - *pkt_info |=3D BIT(6); - } + if (hasip6) { + *pkt_info |=3D BIT(6); + } =20 - switch (l4hdr_proto) { - case ETH_L4_HDR_PROTO_TCP: - *pkt_info |=3D BIT(8); - break; + switch (l4hdr_proto) { + case ETH_L4_HDR_PROTO_TCP: + *pkt_info |=3D BIT(8); + break; =20 - case ETH_L4_HDR_PROTO_UDP: - *pkt_info |=3D BIT(9); - break; + case ETH_L4_HDR_PROTO_UDP: + *pkt_info |=3D BIT(9); + break; =20 - case ETH_L4_HDR_PROTO_SCTP: - *pkt_info |=3D BIT(10); - break; + case ETH_L4_HDR_PROTO_SCTP: + *pkt_info |=3D BIT(10); + break; =20 - default: - break; + default: + break; + } } } =20 @@ -1313,6 +1359,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(); @@ -1368,7 +1418,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; @@ -1379,7 +1429,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); @@ -1390,7 +1440,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)); @@ -1398,7 +1448,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, @@ -1409,12 +1459,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 @@ -1491,7 +1544,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; @@ -1573,7 +1627,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); @@ -1628,6 +1682,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; @@ -1671,8 +1727,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; @@ -1711,7 +1768,7 @@ igb_receive_internal(IGBCore *core, const struct iove= c *iov, int iovcnt, n |=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)) { @@ -3304,6 +3361,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, @@ -3711,6 +3770,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, diff --git a/hw/net/igb_regs.h b/hw/net/igb_regs.h index 03486edb2e..b88dc9f1f1 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 */ --=20 2.40.0 From nobody Wed Feb 11 04:39:41 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=1681472961; cv=none; d=zohomail.com; s=zohoarc; b=A5henppTtO1dSGzLmMENkWAlfp48A81EStaTOGbUjOzralzbpo73TKrDPxM+Th0JB91v24v6Gg09u9giiLPGP2aqOYjxm9ww+r8i612GZU95H7cwibpfg+UXeHhWxWEgselprpyIx0IpOWof4DxENu1z01CSrARfonsGzgijNXk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472961; 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=qdSW6mRO8YWgMZEMpu/HXCWDuVvbxmy3W0iClpo2dEQ=; b=V2bv8oE1kd3hy8cNBmoF3AFYR2KUKDWtt+nFojhwlKb1qc1IpqVx3m1MyvIWeOtFeb1itCPA20ROiSYA+tutN4mrmyzlGO4/ph8awzv5lrUXoBUp+HEUOy4p0uytgj38XENAotJhsOHAXn/Y30MdeoyXGjo/W+FKWKb7tDsz95w= 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 1681472961588173.14126488382078; Fri, 14 Apr 2023 04:49:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHot-0006dA-AJ; Fri, 14 Apr 2023 07:42:25 -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 1pnHnH-0005FD-9v for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:40:48 -0400 Received: from mail-pj1-x1033.google.com ([2607:f8b0:4864:20::1033]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pnHn8-0001ta-2K for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:40:38 -0400 Received: by mail-pj1-x1033.google.com with SMTP id pm7-20020a17090b3c4700b00246f00dace2so10423011pjb.2 for ; Fri, 14 Apr 2023 04:40:21 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.40.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:40:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472420; x=1684064420; 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=qdSW6mRO8YWgMZEMpu/HXCWDuVvbxmy3W0iClpo2dEQ=; b=HXCmMDlofhCrPSjvOhCvJdaZs6UWLy9znCcMscrdiMwtGZQOezy8LCLL8H+HBiQEDQ oEbffdUeQyWz2d+58PguwblCvqHLt0ujd2/RxVUXUpxHRTPdaJrBJ5jOYk0oIHkkULJC WF11YklrnBJ6SqB0TlRRxje0nNoIIcfuKKDQsCUaiowz8sr4+0PMP+AUIphmmXYPfJ9A bXkQkomrslfq9b0nGo5LVKLos/lNPV+W+9LIc4j0iQXu2Z6/tMs2wr2poKtB770gtToo Mt3//WsBb9rVu6bB6LsEjkqcJDjxZvBOkA3Ujem9QPllbwEYnP1oVdbEdHM4K1eoh8WF AQYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472420; x=1684064420; 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=qdSW6mRO8YWgMZEMpu/HXCWDuVvbxmy3W0iClpo2dEQ=; b=Ewhg1XIzhOKNPiffUs9DFphoNBkhY0RqFIUihesOPUJoP3pJCz6P6fV2w2RJ6yL2zD Ffu4dIwwaCvu2aH24ShOEwu4CIX8vC/7qXo2xhfB5291qHDgUpndOujpuRWbdY1wKdgV k7tR97SBtlImMbWf7Bd0iOn5XissBWHRZ9CAPVJzimodrMM6ViNyJ19xX2x2GxNhkdEk daCCFu5siIDsHI9vECtJzJNUSHwAWB9dLKGotYuv9AYQcYLE8+dcYYh4XyzH2bu4nGXk MnjHFpR3BM0DnNlOrzcK2XFU6jtmGcFDnKAkfPgQIluCZ2Dhl3AsewY8tcnO2iX1wwjU GLug== X-Gm-Message-State: AAQBX9dzLmTJxxMruS0eNeCqs3FgRuJd5iBWDJuIrHag2TTLXIiM74Dd XRl+EFp36HuLzSLa92rukuXtbA== X-Google-Smtp-Source: AKy350ZOpe1VjWDEu98pyjs2J8To2vmX0cRlSLrKfo4zixBZ8fKuIb9f4wIYIvUjfokD/VnlcGVI3g== X-Received: by 2002:a17:90b:3807:b0:23d:31c3:c9a4 with SMTP id mq7-20020a17090b380700b0023d31c3c9a4mr5078973pjb.26.1681472420412; Fri, 14 Apr 2023 04:40: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, Akihiko Odaki Subject: [PATCH 37/40] igb: Implement Tx timestamp Date: Fri, 14 Apr 2023 20:37:34 +0900 Message-Id: <20230414113737.62803-38-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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::1033; envelope-from=akihiko.odaki@daynix.com; helo=mail-pj1-x1033.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: 1681472963305100003 Content-Type: text/plain; charset="utf-8" Signed-off-by: Akihiko Odaki --- hw/net/igb_core.c | 7 +++++++ hw/net/igb_regs.h | 3 +++ 2 files changed, 10 insertions(+) diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c index c716f400fd..38b53676d4 100644 --- a/hw/net/igb_core.c +++ b/hw/net/igb_core.c @@ -614,6 +614,13 @@ igb_process_tx_desc(IGBCore *core, tx->first_olinfo_status =3D le32_to_cpu(tx_desc->read.olin= fo_status); tx->first =3D false; } + + if ((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= ); + } } else if ((cmd_type_len & E1000_ADVTXD_DTYP_CTXT) =3D=3D E1000_ADVTXD_DTYP_CTXT) { /* advanced transmit context descriptor */ diff --git a/hw/net/igb_regs.h b/hw/net/igb_regs.h index b88dc9f1f1..808b587a36 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 --=20 2.40.0 From nobody Wed Feb 11 04:39:41 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=1681472910; cv=none; d=zohomail.com; s=zohoarc; b=epP+2aY7ADm4+pwgfWISVz5J0bB4YkWuYhbIZeO/oDr8v310r2Zt3UygM+2dnbeQAUJZmeRIIMWS9x1+x/aTERvc/UKFx8zTjfMd6qT0Ociwb3Q4KAlND033ttDlO+8y8eRP+m/V5DmyoIXszkgEE4X6IekTC9T3qgcbBtkvtw0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472910; 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=YZ08B+b77Dmf0jC7a6piyaX/K9D8vaMH+u4MIA0lWW0=; b=lwbZiCutYs5gEGP/E8IHagqI2Y5wvz1gRsA12bZYm51v8HYGfv7BUFt4B6qs0feQt+MzzhmoLKTNNZDbvYci10XhRKlGb2BnrhgkFVlOPAzzAnLNoNDRR+ZW844wlKRB4JdAt1UtodZXBPnIBQN6Q1r6KtGXN6x39bwdsFRhDCE= 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 1681472910559509.69306914304707; Fri, 14 Apr 2023 04:48:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHpJ-0007GR-C0; Fri, 14 Apr 2023 07:42: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 1pnHnC-0004qd-1O for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:40:38 -0400 Received: from mail-pl1-x633.google.com ([2607:f8b0:4864:20::633]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pnHn7-0001VX-KO for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:40:37 -0400 Received: by mail-pl1-x633.google.com with SMTP id y6so16937250plp.2 for ; Fri, 14 Apr 2023 04:40:23 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.40.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:40:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472423; x=1684064423; 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=YZ08B+b77Dmf0jC7a6piyaX/K9D8vaMH+u4MIA0lWW0=; b=Vw22plojv6nzTnWOZ7p8zev04+shoPMBv3T/+MdbyADxnC36Z897A5HWT9aWHxzPPT /T8pjYfFkRrcaDLEnKAF79jaPavtMs744MGs0NxJer6LaZT1849w/jzGdjPUVYQn+6c1 g7sPlYBWHLde5guz55sR0gdsM0wHjiPfiDFaUKtGenSM11V6ApVnrVxb8H1Bz9zkRe7W zxHjY71wZTaXFc1liFAwPDQsjMjjyPtXApmtaDMsP395D6TN9k83V2iXLDICxBn3rCBR 2qCNQxGOkJjlPdkcmSFVIp9Fq1b3mlhzdmpY+bZXocLreucByGA7nkaT3exREXnqK4vJ H6WA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472423; x=1684064423; 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=YZ08B+b77Dmf0jC7a6piyaX/K9D8vaMH+u4MIA0lWW0=; b=c45Gz1h8J90HEG1iJEBtJ6KNBTU1bhyQLxeo17Vg9/vDJkVAaYWvub5V8SLDjiTEEg TTSfWxEEHkOCLwQa+iB2sc25+hMJqGw2JV1pN/qXT1s3TWgtwH0s4eAQXw211wJ2VgXy 19Fj1Q8MH1Sl3TjMuOTZyubI0VP0loLyDFicED3s+GeLx1EpzhZI3fRKh0FRqk49SYf2 GUMCFwwGqIj9zg4ehwTej42BRFfWeFw3VVHUqHmLv4qWd5/NDuSIKSQmk5nW/kyaexyK ET7eWRn9FE/uKzPLncdrIkHboxqQo8EpA91+F6qcaiTAdbIv52Q3HnHIG/CFIap7SVI7 RrEw== X-Gm-Message-State: AAQBX9eB85E+0qLHSKijTkE93UclPl+Y/lrdsQ2DUTA4zug4xQSLqhj0 Mb/+/FhbB8G8MdMHt86weB9IsA== X-Google-Smtp-Source: AKy350YqiWgxfBP7ytNawEKr3BgrajhW6btIWO7ozK31MlFsmh2ca9Vw2ud1HC4KFylcumUsRow+LQ== X-Received: by 2002:a17:90b:4d81:b0:240:7f0d:9232 with SMTP id oj1-20020a17090b4d8100b002407f0d9232mr5470573pjb.3.1681472423675; Fri, 14 Apr 2023 04:40: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, Akihiko Odaki Subject: [PATCH 38/40] vmxnet3: Do not depend on PC Date: Fri, 14 Apr 2023 20:37:35 +0900 Message-Id: <20230414113737.62803-39-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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::633; envelope-from=akihiko.odaki@daynix.com; helo=mail-pl1-x633.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: 1681472910990100001 Content-Type: text/plain; charset="utf-8" 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 Wed Feb 11 04:39:41 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=1681473122; cv=none; d=zohomail.com; s=zohoarc; b=CIcm8iPZIf/sqOS9mWF+9oz2LvGY5VbEXFzCpuiAuGoMkHhjhUwcNcp3uA4akkzapH6wAWU1nNP6VRwc+Fy8ba244ABTDFwtAGwhrFlcgc4/4ooFxTZzqstAwMH5JG4bUf6wm9fgqgQjwJGENCEEF92ZqtLdo+uBi1u+KEoKMZo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681473122; 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=c3FhXj33fzvrTt7PbSmHYidCpt0dRbkfBLR6oG1d2n0=; b=PgK/qf1Dn6Xuv5DTzxwQpfei/5YkYsJcuDGX5S6yfiprkqJiVolppg+dFV+UQ8x/nEMchjKYriyU/3WqxMtNHdtdZi77pRxslNq2oBO+NRSOC3H4US/QGeh3Dpjn8uSN+a2oPRQ2bqo/phZdJvAoXN8ZcjAI3lGfzHRXCjmNd8Q= 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 1681473122335691.0294623193854; Fri, 14 Apr 2023 04:52:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHox-0006gH-Cp; Fri, 14 Apr 2023 07:42: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 1pnHnB-0004q7-Eh for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:40:38 -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 1pnHn5-0001zE-K6 for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:40:36 -0400 Received: by mail-pl1-x632.google.com with SMTP id i8so9043620plt.10 for ; Fri, 14 Apr 2023 04:40:27 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.40.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:40:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472427; x=1684064427; 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=c3FhXj33fzvrTt7PbSmHYidCpt0dRbkfBLR6oG1d2n0=; b=CBLb2qx7DR+YEJKiVwJsPgKnrp30pMUEPtSL2Lw2lhtPbm0rCU1tb49/NuhVUsCoZl WxoJXrnBuKfBt56RQysuRKF8nMk7zLdi9rUt6Oc92W4IqjuvY3ejRZVnKnTnpgAeGo8/ 1p9BbfCsuF6VML+A1jwF1ZNy132GAg5jzqcvJlTl66zk5XDWAMEp4loasURUK5PcxxyJ Wr1GxyBcjTGxQIuAlr4/H5QCMaQ/MBI9aXHh2dV6WdzmrJcsiduGfyveOd4WHtnWd0pC MDzAdEkex1QfhER5OMDdn/jOREB8ABYlJwbUC/L66w+SQgQnu4YT5M1Aj4/1FDYBGnhE xO/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472427; x=1684064427; 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=c3FhXj33fzvrTt7PbSmHYidCpt0dRbkfBLR6oG1d2n0=; b=AXCs+dpDwas3Mx3ocX3/73YZUTNKXT2XLAqsnJnoCfSc3N6WX6Jr03YD6CyuUM1YRH eRW9Jd1BBD0El2pB8rJw/UOFu50/7MiQwNmslxBZmyGAflGxU6gLbYMVt0tcix+T8tIj Xk99pb55C4wkHeONnqrSlczXMVmUIKFeTSxSi1tZqDXK25CZ7Qdm70FcktEuNWlsoQOq zLJ/E0sZWpp2GFcyRre0S5Nn78KJTsG5BRIh2Rb5MqZAIChK2yOdt3E/T0E0TrVZh/YQ 9730vxVZhXvNvdioMLEElklV+iWXzWFPCxzMeJELvaHv7vH+Za4VMMZos1j5skyqlmue dZjQ== X-Gm-Message-State: AAQBX9c+HJ1iMWDS8b1yzUQyfM8W0p+mbk1gnwGO8g9OEDZSaxkZAmtu RQY3LHInPY+H8tXKv3lzKfMjZg== X-Google-Smtp-Source: AKy350az8pqOsxKOZulmixoZQvvYMpxDSUSVT8Qsi3IobvMfHMdCkVyyFStBSFIMAJvpqReGnvQIPA== X-Received: by 2002:a17:902:e5c2:b0:1a5:a1e:6f9e with SMTP id u2-20020a170902e5c200b001a50a1e6f9emr3246796plf.15.1681472426953; Fri, 14 Apr 2023 04:40:26 -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, Akihiko Odaki Subject: [PATCH 39/40] MAINTAINERS: Add a reviewer for network packet abstractions Date: Fri, 14 Apr 2023 20:37:36 +0900 Message-Id: <20230414113737.62803-40-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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::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: 1681473124064100007 Content-Type: text/plain; charset="utf-8" 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 Wed Feb 11 04:39:41 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=1681472898; cv=none; d=zohomail.com; s=zohoarc; b=CMAbQTpkymcSEdXFwEfM1yz9utg5jngZosRLSPervPcSOWDD539hDwg6BPVa1A6JENOFOtApzS6+R7BCqvU1KpAF0tTkaQcteBcprAX4ZRuM/AWHsf7f2Jf26thdWjGZbrHsrg00F7fAA3GBuH6Hze86HvE59uUJXedNMbp9Sok= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1681472898; 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=i5pXST5IwcGL2YhxMgVn21NGXswY05o7I++vTYedUsTWgt5ytI3DzwsVsJOF7LlA4ROq6eF5+3dHWLqCVrRpHlgf6A42HdqK9ecyjnaWa9Wp5p62J3lugRwsbnwX+NT3BfaF6unjg4Wefb9BrUTIrXa2ud9jlpk00qIlyDpCghU= 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 1681472898527424.9420250540901; Fri, 14 Apr 2023 04:48:18 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnHpI-0007GN-4C; Fri, 14 Apr 2023 07:42: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 1pnHnH-0005FE-9i for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:41:08 -0400 Received: from mail-pj1-x1036.google.com ([2607:f8b0:4864:20::1036]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pnHn8-00020d-1v for qemu-devel@nongnu.org; Fri, 14 Apr 2023 07:40:40 -0400 Received: by mail-pj1-x1036.google.com with SMTP id cm18-20020a17090afa1200b0024713adf69dso5816748pjb.3 for ; Fri, 14 Apr 2023 04:40:31 -0700 (PDT) Received: from alarm.flets-east.jp ([2400:4050:a840:1e00:4457:c267:5e09:481b]) by smtp.gmail.com with ESMTPSA id u19-20020a170902a61300b001a20b31a23fsm2889249plq.293.2023.04.14.04.40.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 04:40:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daynix-com.20221208.gappssmtp.com; s=20221208; t=1681472430; x=1684064430; 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=nvRqNeKkuS0kVE2YObKph/t6yRfE1OJ6rUFgdTI7pWfrLxM1/sz596Me876+47zarq 64yN6ZazTyNqbQlq0RkJKEYT/+fC+v8V1WhXyonpVsLLATrUoF7AJxevq+9JhC/GsZ9s 0Nr7twydoPyFps2dAU4WIwE44C6zK9QmM5eEz3df25VZ6a9mn7zHh7fJ2I/8MYrv8YGq CB1A3P1MdSLvNnLeQq+CZucdE+PRlTjPRD7NRKHV8GbLA30kjOaypAk6kiLnwfljjthN Uzcfa5E3OZTO3MpMwgc5tpNs596tHR/N1l97/nFRB0WNb3OwRkPUO+8yW8P1BQtvOUjR dWqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681472430; x=1684064430; 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=B8ZAZvwj5yykpJTm384vkjCVcThzOEnifCjucIkVbZSOAzaVtZre+rVdlBX3K5WUEA id4Nf26RZRLmylZIryQg8BxrM3aJvRSUQdhbWPO4Q9YKEovv2B87I20i6RMmS7/ap4sZ lywah/L5xH8ILne3YvfLoLrWWbElSvCqNP1zacnWpBAIK0ZgcuL1/wnE3G6MFoMCUxha k72SB3OD/wc1UMuK4cf3rGiYV/uti1JkIsO51cM/3a1NexCPWlY+kPcKPLQCeqdYJXkk +hbzFSs5a+0QKP97+iBcUQrTKplKLRNBVxxkC5Hi7owpWdj9w8zxwr94VgDV1EOk7TKK HwAw== X-Gm-Message-State: AAQBX9f/C+VPVpbRB9TuSZTNYuQ2luF9l0tQC8DdP9EEZhtn7TEQ9IPV NseBzrr4EJZ/LKcIs2sgwYXTaA== X-Google-Smtp-Source: AKy350agM3DKZyrcznhnGuSncuQYq0Ff1cUSndVtPGyGGEJQ0eQ6uJPwJx+pjo69zbj3OORcPPEOYA== X-Received: by 2002:a17:902:8c8f:b0:1a6:6f42:f5c0 with SMTP id t15-20020a1709028c8f00b001a66f42f5c0mr2300186plo.61.1681472430156; Fri, 14 Apr 2023 04:40: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, Akihiko Odaki Subject: [PATCH 40/40] docs/system/devices/igb: Note igb is tested for DPDK Date: Fri, 14 Apr 2023 20:37:37 +0900 Message-Id: <20230414113737.62803-41-akihiko.odaki@daynix.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230414113737.62803-1-akihiko.odaki@daynix.com> References: <20230414113737.62803-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::1036; envelope-from=akihiko.odaki@daynix.com; helo=mail-pj1-x1036.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: 1681472899029100006 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