From patchwork Mon Mar 15 07:57:06 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 12138593 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 31685C433E6 for ; Mon, 15 Mar 2021 07:59:06 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 996AB64E0F for ; Mon, 15 Mar 2021 07:59:05 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 996AB64E0F Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:37526 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lLi80-0001G0-AY for qemu-devel@archiver.kernel.org; Mon, 15 Mar 2021 03:59:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43442) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lLi6b-00085B-T8 for qemu-devel@nongnu.org; Mon, 15 Mar 2021 03:57:40 -0400 Received: from mail-pf1-x434.google.com ([2607:f8b0:4864:20::434]:41338) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lLi6Y-0004G3-6K for qemu-devel@nongnu.org; Mon, 15 Mar 2021 03:57:36 -0400 Received: by mail-pf1-x434.google.com with SMTP id b23so6042398pfo.8 for ; Mon, 15 Mar 2021 00:57:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=dUzwl+RN7/QClYsNJO2R8iyALPlxjzzVKwzgRCjbkEY=; b=ZKQhoBY5A4g44/GhTlOdc9mGjPJ3QjOdNH4FD7ZcJzZh7s9He5d+jWvbJvYMAE9MNW 1UBJWaSuzzEEs91C5t07g8U+VL0SMVkZwYXerDGT03R2KAI8nYwy4Vj7qYmMS9qzAQtv X89E3JTsmuJb6oo9W3AFHBSVDGCSUIh3mjD871oC0nYDuenFFDnP51AM4OEPEZRQ6Isx bH4kuZKh8aOZUUrjl4129WSsOqwUV5mOz4NIcciBcgE0QuSCzwnZc/Tggb1sS8HprpIp fbm/hYsvn9smLzQzVdhmeqqRPZvDmKb4eg2VzcVCVQ7raiNS1CkUT8DmSeexNW9Zh+gE wl9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=dUzwl+RN7/QClYsNJO2R8iyALPlxjzzVKwzgRCjbkEY=; b=QTJTX7hyK435qlOtuuTxZ4ihCucJPvn57ZD/peExk0T9p4uv0JbVYXHTRq/ToNMo6D tB+Tm6j6s2SjIsmIDX9kWm3LD6n9bfgK6KaT7+baraZYc7pJos/SCWXcITO53s/eyuV4 btHg7f8hFilTI1BBUTMPDxZi7tP6BBoXGWwd18dYeJ2iDqcgC3/PJR3OHsxWIfqMI6Tj OUvvTCPp2KCuQ6wRZ/MichrE8ePLEQPwP284/eaSQ17OwDGCMDsuAHqf+HZcpoay5j2w JCUH2fKQ+tdKGzczJgznWRAX7snHMdSlgene/8Usv3avOdwkwAmZb+u+X5n60/M6Y0WA I6Xg== X-Gm-Message-State: AOAM531UfSKGN9bakLE5ciq/al1iA+zK1tduJ04t+sWc+DHELAkMdLsx B+FeSDfOfSLM2Z6p8Pz99hM= X-Google-Smtp-Source: ABdhPJzynGBgr82RD3M+lxAamomNpXQ5ekacQfEH0OF7BVCgxF7Nxz0cDzq6pJsVZbFAmusefQY7Eg== X-Received: by 2002:a63:e715:: with SMTP id b21mr10112577pgi.300.1615795052153; Mon, 15 Mar 2021 00:57:32 -0700 (PDT) Received: from i9-aorus-gtx1080.localdomain (144.168.56.201.16clouds.com. [144.168.56.201]) by smtp.gmail.com with ESMTPSA id y9sm10166745pja.50.2021.03.15.00.57.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Mar 2021 00:57:31 -0700 (PDT) From: Bin Meng To: Jason Wang , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Peter Maydell , qemu-devel@nongnu.org Subject: [PATCH v2 01/13] net: Add ETH_ZLEN define in eth.h Date: Mon, 15 Mar 2021 15:57:06 +0800 Message-Id: <20210315075718.5402-2-bmeng.cn@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210315075718.5402-1-bmeng.cn@gmail.com> References: <20210315075718.5402-1-bmeng.cn@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::434; envelope-from=bmeng.cn@gmail.com; helo=mail-pf1-x434.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Bin Meng Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Add a new macro ETH_ZLEN which represents the minimum size of an Ethernet frame without FCS. Signed-off-by: Bin Meng Reviewed-by: Philippe Mathieu-Daudé --- include/net/eth.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/net/eth.h b/include/net/eth.h index 0671be6916..7c825ecb2f 100644 --- a/include/net/eth.h +++ b/include/net/eth.h @@ -31,6 +31,7 @@ #define ETH_ALEN 6 #define ETH_HLEN 14 +#define ETH_ZLEN 60 /* Min. octets in frame sans FCS */ struct eth_header { uint8_t h_dest[ETH_ALEN]; /* destination eth addr */ From patchwork Mon Mar 15 07:57:07 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 12138603 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BE1E2C433E6 for ; Mon, 15 Mar 2021 08:01:43 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6E64864E0F for ; Mon, 15 Mar 2021 08:01:43 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6E64864E0F Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:46058 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lLiAY-0004oe-GS for qemu-devel@archiver.kernel.org; Mon, 15 Mar 2021 04:01:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43472) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lLi6g-00085e-EO for qemu-devel@nongnu.org; Mon, 15 Mar 2021 03:57:45 -0400 Received: from mail-pf1-x436.google.com ([2607:f8b0:4864:20::436]:41340) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lLi6Z-0004H0-Tp for qemu-devel@nongnu.org; Mon, 15 Mar 2021 03:57:40 -0400 Received: by mail-pf1-x436.google.com with SMTP id b23so6042467pfo.8 for ; Mon, 15 Mar 2021 00:57:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=OKTHLFi22LXM/7VUUb7EdSe3lm6adEWJ+rwT4TdzOTA=; b=lTE5ZKpuaSXpWdSIDiAuaqa+0ygee2Mr+fzqJZLu0jzbONDrs/GmexsF4bRbqO44Dr US4qCy5msngcwkkI5YuJwKRXDCDq890eI5WscanAD7lvJs6hxbfQvwcgUTs/iDMP0VVH LAlpOvTxpETLVxHymWkkXuPQNYAKSAK66eY5uF+FVfmLoDpQLeXpDHVpMSow7bSvE1qu cTMy9qOTvqYf+3wIUIxDmjrHKyIDOC9fllabiHRp+hVOaZaSaU8C1zxJIeRvniHeRj8z EwUK+5jQhu2RfNQLn6hPRYXWl8JA9Aj/tA6lBrjCHmUoY5tQzJInsvtLVzbLNMizJcFQ VOfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=OKTHLFi22LXM/7VUUb7EdSe3lm6adEWJ+rwT4TdzOTA=; b=lSBHGo1jS+GajTfA3X+I6OnhxZyxjiflrJTxwanW+oS2u2JUh/4eEioWa16g8F/1w9 P01cyU4hjInact0bANFM9wX3s1IOXp/G+GTNMITZ2vWA+7wox/8Gap7dVE4IBj3H4CRh FW5QolrkpmuNzBRbNwTHyk7g6FCbBCx5MpoZfmVBqm9X/vDSSQ970XYXgPs9YtYJ+dHv uiX625Co8OEmC5CUIFEfEqz8YN157bisdTcvesC06jJOJc/c9YiooysJO9yjHEqqPje8 HvGMLZq+jCLljGy4ybaN55l3LOS9nEqMC3t/w0eSKV4SrzAd7uWiHvKnl0VDfp7tysFS RCTw== X-Gm-Message-State: AOAM531kYWZm7RzrWNFnsp8mMUbEcpHs6xtISmDBzF8XDxy6mtjqXlt0 fYpbIVCukRUwybXXjxjqoag= X-Google-Smtp-Source: ABdhPJwP6d6mhCd/Ng10KTfgiz7Py6IRtjcEzBMUtfeFiAPColST+3fz2W4tXTR7c51q6iI6kVdc0w== X-Received: by 2002:a63:2165:: with SMTP id s37mr22186963pgm.145.1615795054649; Mon, 15 Mar 2021 00:57:34 -0700 (PDT) Received: from i9-aorus-gtx1080.localdomain (144.168.56.201.16clouds.com. [144.168.56.201]) by smtp.gmail.com with ESMTPSA id y9sm10166745pja.50.2021.03.15.00.57.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Mar 2021 00:57:34 -0700 (PDT) From: Bin Meng To: Jason Wang , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Peter Maydell , qemu-devel@nongnu.org Subject: [PATCH v2 02/13] net: Add a 'do_not_pad" to NetClientState Date: Mon, 15 Mar 2021 15:57:07 +0800 Message-Id: <20210315075718.5402-3-bmeng.cn@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210315075718.5402-1-bmeng.cn@gmail.com> References: <20210315075718.5402-1-bmeng.cn@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::436; envelope-from=bmeng.cn@gmail.com; helo=mail-pf1-x436.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Bin Meng Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" This adds a flag in NetClientState, so that a net client can tell its peer that the packets do not need to be padded to the minimum size of an Ethernet frame (60 bytes) before sending to it. Signed-off-by: Bin Meng Reviewed-by: Philippe Mathieu-Daudé --- include/net/net.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/net/net.h b/include/net/net.h index 919facaad2..6fab1f83f5 100644 --- a/include/net/net.h +++ b/include/net/net.h @@ -100,6 +100,7 @@ struct NetClientState { int vring_enable; int vnet_hdr_len; bool is_netdev; + bool do_not_pad; QTAILQ_HEAD(, NetFilterState) filters; }; From patchwork Mon Mar 15 07:57:08 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 12138607 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 45E2CC433E0 for ; Mon, 15 Mar 2021 08:03:30 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id EA45C64E49 for ; Mon, 15 Mar 2021 08:03:29 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EA45C64E49 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:52240 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lLiCG-0007P6-Q9 for qemu-devel@archiver.kernel.org; Mon, 15 Mar 2021 04:03:28 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43506) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lLi6l-00086i-Dh for qemu-devel@nongnu.org; Mon, 15 Mar 2021 03:57:47 -0400 Received: from mail-pg1-x535.google.com ([2607:f8b0:4864:20::535]:33838) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lLi6c-0004IL-Ge for qemu-devel@nongnu.org; Mon, 15 Mar 2021 03:57:47 -0400 Received: by mail-pg1-x535.google.com with SMTP id l2so19986670pgb.1 for ; Mon, 15 Mar 2021 00:57:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=AOJ2QdUoacEyYTIHcov1wUhULbukkNRfEybRpgNWhoE=; b=EtPXKG2PbSVfiwicmC+il8DenH+Ynj5kD0dUIpWG5yUk4wYkmETJxpwNjABuH4siq8 B7EftfzKZsyeqFzPSAt+wHBrCKymX9obI+5Ut2wae1zCavifbEZ320MM/Y3sr80koLSA QncOtLix3IaKcRIL5I/f8VSifNUfeRXTEMVpOayo78AqvlGxJteIjZFnU8EKAOBnwMuf ddY8D5AvdCUYDxGwzYSugJNDP+dRilZlgnQfKzCD+lde703SvRwsVxFezk2Fc2Llb+Oa wHUXq+73fy2tP4lvPjRClF4YFidPDX809SpnOGEP5vZPpFtHOojgH4i5v0LYx5tRtkP7 Hr8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=AOJ2QdUoacEyYTIHcov1wUhULbukkNRfEybRpgNWhoE=; b=ftVUH1lshP6Cn+zs4uoWtiuZRM4JtBDdlwXhI5hK0vpr5+YQEFbvNJhVkhV2Z/CXNv /tnEjLudvkvFdAIyoj++BHmIr3CpnXpvQPwr84/+/hyFWAYvtXshYsW9NTxEeNbax9pH Aw6lUuKM0990MdI0cJHHHWStKRVI74bHFHJl83BGtuRpyHC4LJbYp6YGtnmbpoqYH/d6 VrvUdoykVilT77ZcC8GWnNW4cGlc6IkJYm/LgrocjmAY88zrEw9hI7/LBdJ40HoR0vUl w4xaoxjCHDqVcAlirI+DvNmLT54Ohi09MnAYroVs7GomZ+QlC3x37ZZF0JkMQl5fYmBW X5fQ== X-Gm-Message-State: AOAM533MM7PGt8gd7qmn5VCFMWYwRjGf2Ujx4co65gcU2q6FwjaoRonO avMOy6DeX36phG9TIR5QTYQ= X-Google-Smtp-Source: ABdhPJwf7rUIOXyrANOJifngxEig1ZeyawsyrfXWsfK1ReHgA3lGahM9y1AfTHPxQwKqCfyQXD9/ng== X-Received: by 2002:a62:bd05:0:b029:1ab:6d2:5edf with SMTP id a5-20020a62bd050000b02901ab06d25edfmr9149114pff.32.1615795056897; Mon, 15 Mar 2021 00:57:36 -0700 (PDT) Received: from i9-aorus-gtx1080.localdomain (144.168.56.201.16clouds.com. [144.168.56.201]) by smtp.gmail.com with ESMTPSA id y9sm10166745pja.50.2021.03.15.00.57.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Mar 2021 00:57:36 -0700 (PDT) From: Bin Meng To: Jason Wang , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Peter Maydell , qemu-devel@nongnu.org Subject: [PATCH v2 03/13] net: slirp: Pad short frames to minimum size before send Date: Mon, 15 Mar 2021 15:57:08 +0800 Message-Id: <20210315075718.5402-4-bmeng.cn@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210315075718.5402-1-bmeng.cn@gmail.com> References: <20210315075718.5402-1-bmeng.cn@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::535; envelope-from=bmeng.cn@gmail.com; helo=mail-pg1-x535.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Bin Meng Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" The minimum Ethernet frame length is 60 bytes. For short frames with smaller length like ARP packets (only 42 bytes), on a real world NIC it can choose either padding its length to the minimum required 60 bytes, or sending it out directly to the wire. Such behavior can be hardcoded or controled by a register bit. Similarly on the receive path, NICs can choose either dropping such short frames directly or handing them over to software to handle. On the other hand, for the network backends like SLiRP/TAP, they don't expose a way to control the short frame behavior. As of today they just send/receive data from/to the other end connected to them, which means any sized packet is acceptable. So they can send and receive short frames without any problem. It is observed that ARP packets sent from SLiRP/TAP are 42 bytes, and SLiRP/TAP just send these ARP packets to the other end which might be a NIC model that does not allow short frames to pass through. To provide better compatibility, for packets sent from QEMU network backends, we change to pad short frames before sending it out to the other end. This ensures a backend as an Ethernet sender does not violate the spec. But with this change, the behavior of dropping short frames in the NIC model cannot be emulated because it always receives a packet that is spec complaint. The capability of sending short frames from NIC models cannot be supported as well. This commit should be able to fix the issue as reported with some NIC models before, that ARP requests get dropped, preventing the guest from becoming visible on the network. It was workarounded in these NIC models on the receive path, that when a short frame is received, it is padded up to 60 bytes. The following 2 commits seem to be the one to workaround this issue in e1000 and vmxenet3 before, and should probably be reverted. commit 78aeb23eded2 ("e1000: Pad short frames to minimum size (60 bytes)") commit 40a87c6c9b11 ("vmxnet3: Pad short frames to minimum size (60 bytes)") Signed-off-by: Bin Meng --- net/slirp.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/net/slirp.c b/net/slirp.c index be914c0be0..ad2db03182 100644 --- a/net/slirp.c +++ b/net/slirp.c @@ -31,6 +31,7 @@ #include #include #endif +#include "net/eth.h" #include "net/net.h" #include "clients.h" #include "hub.h" @@ -115,6 +116,17 @@ static ssize_t net_slirp_send_packet(const void *pkt, size_t pkt_len, void *opaque) { SlirpState *s = opaque; + uint8_t min_buf[ETH_ZLEN]; + + if (!s->nc.peer->do_not_pad) { + /* Pad to minimum Ethernet frame length */ + if (pkt_len < ETH_ZLEN) { + memcpy(min_buf, pkt, pkt_len); + memset(&min_buf[pkt_len], 0, ETH_ZLEN - pkt_len); + pkt = min_buf; + pkt_len = ETH_ZLEN; + } + } return qemu_send_packet(&s->nc, pkt, pkt_len); } From patchwork Mon Mar 15 07:57:09 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 12138599 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E6E49C433E0 for ; Mon, 15 Mar 2021 08:01:05 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 8629964E0F for ; Mon, 15 Mar 2021 08:01:05 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8629964E0F Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:43974 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lLi9w-0003un-Ev for qemu-devel@archiver.kernel.org; Mon, 15 Mar 2021 04:01:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43486) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lLi6k-00086D-Ig for qemu-devel@nongnu.org; Mon, 15 Mar 2021 03:57:47 -0400 Received: from mail-pg1-x532.google.com ([2607:f8b0:4864:20::532]:43308) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lLi6e-0004J9-AR for qemu-devel@nongnu.org; Mon, 15 Mar 2021 03:57:46 -0400 Received: by mail-pg1-x532.google.com with SMTP id n10so19977847pgl.10 for ; Mon, 15 Mar 2021 00:57:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=GoYz0zg2OAHB4zaizuLLFR6HQ9SymmyDjJ2jkSEyIQU=; b=mNBzb5/loB1pZZTKPlrYxSIUVCVhD6heoAMJRYceAUXCiLmDc7SpLRk3fy0ukDOscv /J78fSWUoU2MlgMbxk0DQgBnybewMefL1cEg45zBkcVBOrpxNCqKb6FM4GM5SkvE9leE rKJwL02v3Qxy9gQi+3+d2KgDAY06fY+ScJnhfQKDIfB0snnlExIW/r4dmFSamL5vGPoA rlM2tRnujOB8kM0YZUSBqr9iTDjVSedhngk1W0SkJ1rs/ZiI12wqef3c+gvkgNRus8O1 NK8Irhk3QrUv5Nnn9Pr3myy/+yH5bLhyWMxqxZBDJrI8b0UErCFk3JhP1tg8qEKMXIs4 PPng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=GoYz0zg2OAHB4zaizuLLFR6HQ9SymmyDjJ2jkSEyIQU=; b=JgO8C7h6IXOYNazAY3fq9aSNVBehwDBgy5m7XhSGQAAfmWF+V3XGF9n21qwJ3V+a0G 4RKQymQdChyRlE0wOVFRgAlyh9OxiF3+83+d9UzkjIaKUQMKhwRk6BXFHiV1u3Z1OdXu +yMpCWT4YGm3HxxrMI+YBvwSqxj4n4AjVdDjNQvGgSPJZaLoGfW3IBVsESawcNKxPKvc 5lT6Bo2vMycXkQsQXYuxuS1wHmtjB3ozfXLTfzwhsX+6osKoQ5wbYgNsuPMZTffXouno apgVO4B8AmXa6uKgqKdoioFIndLOYiKUaSNmLVT29q9REgne/ExFnBI+A1t+8spclgy2 mhLQ== X-Gm-Message-State: AOAM5335hydwnQULzquWg/vwg/MwQN4ZrWPIXIaXv4npDiMNu82MnZ4O NM9ODN+XVlxS7YbBGUsSBivUaN/Yp2g= X-Google-Smtp-Source: ABdhPJyIpyEGDyU/Zn9eqZB0xZF+zLXzhX41riGDwcDGX0K1IBpG0j0vB84JpSgPeFpkdZa/FnHNTQ== X-Received: by 2002:a62:e708:0:b029:1f8:c092:ff93 with SMTP id s8-20020a62e7080000b02901f8c092ff93mr9096491pfh.21.1615795059044; Mon, 15 Mar 2021 00:57:39 -0700 (PDT) Received: from i9-aorus-gtx1080.localdomain (144.168.56.201.16clouds.com. [144.168.56.201]) by smtp.gmail.com with ESMTPSA id y9sm10166745pja.50.2021.03.15.00.57.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Mar 2021 00:57:38 -0700 (PDT) From: Bin Meng To: Jason Wang , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Peter Maydell , qemu-devel@nongnu.org Subject: [PATCH v2 04/13] net: tap: Pad short frames to minimum size before send Date: Mon, 15 Mar 2021 15:57:09 +0800 Message-Id: <20210315075718.5402-5-bmeng.cn@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210315075718.5402-1-bmeng.cn@gmail.com> References: <20210315075718.5402-1-bmeng.cn@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::532; envelope-from=bmeng.cn@gmail.com; helo=mail-pg1-x532.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Bin Meng Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Do the same for tap backend as what we did for slirp. Signed-off-by: Bin Meng --- net/tap-win32.c | 12 ++++++++++++ net/tap.c | 12 ++++++++++++ 2 files changed, 24 insertions(+) diff --git a/net/tap-win32.c b/net/tap-win32.c index 2b5dcda36e..ec35ab8ce7 100644 --- a/net/tap-win32.c +++ b/net/tap-win32.c @@ -31,6 +31,7 @@ #include "qemu-common.h" #include "clients.h" /* net_init_tap */ +#include "net/eth.h" #include "net/net.h" #include "net/tap.h" /* tap_has_ufo, ... */ #include "qemu/error-report.h" @@ -688,9 +689,20 @@ static void tap_win32_send(void *opaque) uint8_t *buf; int max_size = 4096; int size; + uint8_t min_buf[ETH_ZLEN]; size = tap_win32_read(s->handle, &buf, max_size); if (size > 0) { + if (!s->nc.peer->do_not_pad) { + /* Pad to minimum Ethernet frame length */ + if (size < ETH_ZLEN) { + memcpy(min_buf, buf, size); + memset(&min_buf[size], 0, ETH_ZLEN - size); + buf = min_buf; + size = ETH_ZLEN; + } + } + qemu_send_packet(&s->nc, buf, size); tap_win32_free_buffer(s->handle, buf); } diff --git a/net/tap.c b/net/tap.c index b7512853f4..f96b1ccfc0 100644 --- a/net/tap.c +++ b/net/tap.c @@ -32,6 +32,7 @@ #include #include +#include "net/eth.h" #include "net/net.h" #include "clients.h" #include "monitor/monitor.h" @@ -189,6 +190,7 @@ static void tap_send(void *opaque) while (true) { uint8_t *buf = s->buf; + uint8_t min_buf[ETH_ZLEN]; size = tap_read_packet(s->fd, s->buf, sizeof(s->buf)); if (size <= 0) { @@ -200,6 +202,16 @@ static void tap_send(void *opaque) size -= s->host_vnet_hdr_len; } + if (!s->nc.peer->do_not_pad) { + /* Pad to minimum Ethernet frame length */ + if (size < ETH_ZLEN) { + memcpy(min_buf, buf, size); + memset(&min_buf[size], 0, ETH_ZLEN - size); + buf = min_buf; + size = ETH_ZLEN; + } + } + size = qemu_send_packet_async(&s->nc, buf, size, tap_send_completed); if (size == 0) { tap_read_poll(s, false); From patchwork Mon Mar 15 07:57:10 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 12138601 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5890DC433DB for ; Mon, 15 Mar 2021 08:01:43 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 05BBA64E0F for ; Mon, 15 Mar 2021 08:01:43 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 05BBA64E0F Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:46060 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lLiAY-0004ov-4e for qemu-devel@archiver.kernel.org; Mon, 15 Mar 2021 04:01:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43516) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lLi6m-00087s-9M for qemu-devel@nongnu.org; Mon, 15 Mar 2021 03:57:49 -0400 Received: from mail-pj1-x1033.google.com ([2607:f8b0:4864:20::1033]:38714) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lLi6i-0004JL-9f for qemu-devel@nongnu.org; Mon, 15 Mar 2021 03:57:47 -0400 Received: by mail-pj1-x1033.google.com with SMTP id q2-20020a17090a2e02b02900bee668844dso13895941pjd.3 for ; Mon, 15 Mar 2021 00:57:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=vD46lUZcLSAUQNgR7xLQ3d0V2UL3xUfjTmzNJ2lZFKU=; b=M27BxgQvH/qo62f3i+jehPGXea3s+N8FtdekLUkj0L+gcfelVfqnYBUU6hBnTKGRGK 49J2sMyvKj10N0pZTatvrXoUXnbEJZZ7gTQgSwwtbBrDxIE84JjCv+yv66vZ1am8DWpH jn4v2jD0IqREP7qbk0QHuTC0R1pCgbx9ZuRcJqJ2RHIz6YJg2q1OD9tSm8NSJPLMmnhB Qp3FWjDmJ4EucBXoVAIKEhuxr/eb0VXWSfpBla5f5QJ/QxhwF7H2hvk91nP72RVf19tX DN2sQxtw5LPf1uyEGWNZ8OSNSXzQ2AdnwTGS4KCY7ctLGQueSGJTJFHpG0hrT5pmx7F4 c14w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=vD46lUZcLSAUQNgR7xLQ3d0V2UL3xUfjTmzNJ2lZFKU=; b=HFxMXKY2RWHtQNo16Cel5prE749J2lRerr7hJGHcM6a1B/f6T/RW4j8Wva3C+QCWWY Y3JnkA8AsfKa+MLxqXUMVxYg3sSO0ZjTqJY/NMhk+RSJY3vjGiESeo9uG8lbG7hWAShN AbC67aPvUYufGf/bVyyjvWJVZBdPjj8rPxNp0g54jw+EBYxeeWSwcuAae8AwTDKbQo8Y WaiUGKrSOBOay2kjzKH+vbbijJy8VTa+sBCbpzp0M0NydjCU6PBj5FLVv3EJ1Bc/Ez/R N0hgTK+zB08EaAD3/kygco2J5GCvVOS+XaU30eL5RwMXwgbZQkf+S6QsLu2vGCqXQXBZ hClA== X-Gm-Message-State: AOAM532uQJKAF9uTcI8ktm1H9HLv61351576RLSPDii/dKP0T1KBFXpN 6hzgpYdPF8s+oVID6pKZ4Xs= X-Google-Smtp-Source: ABdhPJwBOW+oNPzCedUatvOFKbSO9oyK9zkdDwNEryDxxuxPzO+QorWBl4miInufgOM8eULvHNKl2A== X-Received: by 2002:a17:90a:f3cc:: with SMTP id ha12mr11377553pjb.180.1615795061225; Mon, 15 Mar 2021 00:57:41 -0700 (PDT) Received: from i9-aorus-gtx1080.localdomain (144.168.56.201.16clouds.com. [144.168.56.201]) by smtp.gmail.com with ESMTPSA id y9sm10166745pja.50.2021.03.15.00.57.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Mar 2021 00:57:40 -0700 (PDT) From: Bin Meng To: Jason Wang , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Peter Maydell , qemu-devel@nongnu.org Subject: [PATCH v2 05/13] hw/net: virtio-net: Initialize nc->do_not_pad to true Date: Mon, 15 Mar 2021 15:57:10 +0800 Message-Id: <20210315075718.5402-6-bmeng.cn@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210315075718.5402-1-bmeng.cn@gmail.com> References: <20210315075718.5402-1-bmeng.cn@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::1033; envelope-from=bmeng.cn@gmail.com; helo=mail-pj1-x1033.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Bin Meng Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" For virtio-net, there is no need to pad the Ethernet frame size to 60 bytes before sending to it. Signed-off-by: Bin Meng --- hw/net/virtio-net.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 96a3cc8357..66b9ff4511 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -3314,6 +3314,10 @@ static void virtio_net_device_realize(DeviceState *dev, Error **errp) object_get_typename(OBJECT(dev)), dev->id, n); } + for (i = 0; i < n->max_queues; i++) { + n->nic->ncs[i].do_not_pad = true; + } + peer_test_vnet_hdr(n); if (peer_has_vnet_hdr(n)) { for (i = 0; i < n->max_queues; i++) { From patchwork Mon Mar 15 07:57:11 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 12138611 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6CF83C433E6 for ; Mon, 15 Mar 2021 08:03:48 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 033E064E13 for ; Mon, 15 Mar 2021 08:03:47 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 033E064E13 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:53724 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lLiCZ-000853-2M for qemu-devel@archiver.kernel.org; Mon, 15 Mar 2021 04:03:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43518) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lLi6m-00088X-Q2 for qemu-devel@nongnu.org; Mon, 15 Mar 2021 03:57:49 -0400 Received: from mail-pj1-x102f.google.com ([2607:f8b0:4864:20::102f]:42895) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lLi6j-0004K3-NN for qemu-devel@nongnu.org; Mon, 15 Mar 2021 03:57:48 -0400 Received: by mail-pj1-x102f.google.com with SMTP id j6-20020a17090adc86b02900cbfe6f2c96so14295161pjv.1 for ; Mon, 15 Mar 2021 00:57:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=rD8kvXiw+ffXZREcGsUmA2AFhuGn9ko43nXEZ/qd8GM=; b=IDtxp6iZbsQX1SlRezpMIAe52cJ3J5ZLhm5LkMQf21LLvIRUSXqIQ1Tu+cEWj+UoMW yELvpvlDj6yWkgP7Ldh2aZ7bTgxwpMZ5Q1XmdBr/03LoeO4jKhYww8zDBZs6JkuJdGPZ 8A+gayT82wECYhw5HpB80B/tPekBN6hKHo715SHWrjt5yQZ0NnoDYWPptUqNZGUhsAlw 09+UeYlW6LsAEPWQ1vQW51szYeOGi26LDC6xlA3Bk0xgaxMXFmpKz4WArs6/d4m4wO5u DrgnVo3xM+fVcMkNBrIGEguJixz73MsvttUFVy7Q9LP343G0yZMWEkPcpQXG+5w+OpQV N3oA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=rD8kvXiw+ffXZREcGsUmA2AFhuGn9ko43nXEZ/qd8GM=; b=CelAz/BohAICNzD9UNVgpkmx6toY0cKsTNYQc+++uct+bwTmz5rbbv/X0UeiMRjZMr u5Vbh4L7NS9ePOQN9qrYWAQcm91zDxJiFFQdyL07OsB7Sp9B4w5yHL+zicdfYmsLbqAA EyTWzEBx2iQOieHzh4xODnP+A0Pu0uIlTHCHghWsblOqUryJhWvbRIPF8Z2uGGL7E6Fk E5onKYjLLq65f5xzgsfDeFIi4hh9URHGY9LF3VlnvnhU+A8jVcpPiXODo3SwIpPcr6GA bmxfZ/8oLtJwYX3FyUsKBKwf5WEFrjQuqXzAzgFiAiNKyBln3MG7ZGzn2ax8KabAQbhE V/kw== X-Gm-Message-State: AOAM533xQVIldtFHtCuzN4NCLrp8K3cHgFFWKJ2lrWRHGyfVw+jrTxKK H33sT5FZsMbopGFtq6e7Fr0bvCEztZE= X-Google-Smtp-Source: ABdhPJwn9PpdjS5ZmDP4VyCV77i8NFzHgGCI1uhF94j/S1BRJC3C7dJz2SqSfnoLVXpbdRgakdZdxQ== X-Received: by 2002:a17:90a:bf15:: with SMTP id c21mr11476325pjs.160.1615795063430; Mon, 15 Mar 2021 00:57:43 -0700 (PDT) Received: from i9-aorus-gtx1080.localdomain (144.168.56.201.16clouds.com. [144.168.56.201]) by smtp.gmail.com with ESMTPSA id y9sm10166745pja.50.2021.03.15.00.57.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Mar 2021 00:57:43 -0700 (PDT) From: Bin Meng To: Jason Wang , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Peter Maydell , qemu-devel@nongnu.org Subject: [PATCH v2 06/13] hw/net: e1000: Remove the logic of padding short frames in the receive path Date: Mon, 15 Mar 2021 15:57:11 +0800 Message-Id: <20210315075718.5402-7-bmeng.cn@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210315075718.5402-1-bmeng.cn@gmail.com> References: <20210315075718.5402-1-bmeng.cn@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::102f; envelope-from=bmeng.cn@gmail.com; helo=mail-pj1-x102f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Bin Meng Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Now that we have implemented unified short frames padding in the QEMU networking codes, remove the same logic in the NIC codes. This actually reverts commit 78aeb23eded2d0b765bf9145c71f80025b568acd. Signed-off-by: Bin Meng --- hw/net/e1000.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/hw/net/e1000.c b/hw/net/e1000.c index d8da2f6528..a53ba9052b 100644 --- a/hw/net/e1000.c +++ b/hw/net/e1000.c @@ -882,7 +882,6 @@ e1000_receive_iov(NetClientState *nc, const struct iovec *iov, int iovcnt) uint16_t vlan_special = 0; uint8_t vlan_status = 0; uint8_t min_buf[MIN_BUF_SIZE]; - struct iovec min_iov; uint8_t *filter_buf = iov->iov_base; size_t size = iov_size(iov, iovcnt); size_t iov_ofs = 0; @@ -898,15 +897,7 @@ e1000_receive_iov(NetClientState *nc, const struct iovec *iov, int iovcnt) return 0; } - /* Pad to minimum Ethernet frame length */ - if (size < sizeof(min_buf)) { - iov_to_buf(iov, iovcnt, 0, min_buf, size); - memset(&min_buf[size], 0, sizeof(min_buf) - size); - min_iov.iov_base = filter_buf = min_buf; - min_iov.iov_len = size = sizeof(min_buf); - iovcnt = 1; - iov = &min_iov; - } else if (iov->iov_len < MAXIMUM_ETHERNET_HDR_LEN) { + if (iov->iov_len < MAXIMUM_ETHERNET_HDR_LEN) { /* This is very unlikely, but may happen. */ iov_to_buf(iov, iovcnt, 0, min_buf, MAXIMUM_ETHERNET_HDR_LEN); filter_buf = min_buf; From patchwork Mon Mar 15 07:57:12 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 12138609 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D9EB3C433E0 for ; Mon, 15 Mar 2021 08:03:47 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 65E1464E38 for ; Mon, 15 Mar 2021 08:03:47 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 65E1464E38 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:53682 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lLiCY-000844-G8 for qemu-devel@archiver.kernel.org; Mon, 15 Mar 2021 04:03:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43522) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lLi6o-00089I-3t for qemu-devel@nongnu.org; Mon, 15 Mar 2021 03:57:50 -0400 Received: from mail-pj1-x1033.google.com ([2607:f8b0:4864:20::1033]:44622) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lLi6l-0004KO-1b for qemu-devel@nongnu.org; Mon, 15 Mar 2021 03:57:49 -0400 Received: by mail-pj1-x1033.google.com with SMTP id kk2-20020a17090b4a02b02900c777aa746fso14283446pjb.3 for ; Mon, 15 Mar 2021 00:57:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=T0cJfk/MmMGM7/om0AP3Z+sMMMYzHl8dqaYyD6OBCYw=; b=Kbac9aeoEJQ3kY7jxRfwxtncdFiwyP02r/nU3Qnq3eU72IJDbVBOEjgAEbLFkQ4Tp6 cq3FLrSw2bMIBsx3cP2uJnuGFRhjkyEhsYM2g6am/8CcpL9pdppZH964HbsTlC4oNgdp V85Y0Zht2/s2JU1dOwhQgtOrnSO+pNFswdavPoNnEZjdLthvYoNXImQWSRr59HBqkXr9 kUWAWFOr5dnSKc31skwJ6kbs/A+WLo5TmAl27nD+4e8amvGifhdPw53wPCIJKx31TGEz lDLDiH0Nrst2f72ytMuY7Y5oF4B1bqqjv7UrRXHRrxLBr7IfZ3N2oiaqUf6yiy0/QnOd VwPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=T0cJfk/MmMGM7/om0AP3Z+sMMMYzHl8dqaYyD6OBCYw=; b=e7pbQ2wQ31+n3Yyi33w/OQCd8tKr5mUrGcN4ODJL6j2Jxxvjdk8xSCQZabLQyJqUhH upTXtKb/LHwpw/+hUWT6jpubc7Rc5DOQH++ZQiQ/jwi9kYwhWO/bK6pr85X3uSQ9lGFd zMSpmadwBFOg9lQ5Qy6pMkcyd4meLHQnDY2a0T+Qpxeosg1wdN+emEa4FXgXBOEKIXUy f2BptUjc9RW4dyV29PY9jpCxKadC/Tu6c8P3hNYuyXs1wK1zLs+CbfFH3wTl9tCF+Ax3 EvzfNwJK9sqrbNy3i3VBNmFRTs5kb0m6tOqBU30VOdeWJGdG1SBpz/PATAAaC9bRXfGY 0UTQ== X-Gm-Message-State: AOAM532U0OWxR6Xxm3WCxuJiADNtwom3As+IG5Yr3nwtrKILydPdKISe WEdCBVrMMpr1tZgqoDznKtE= X-Google-Smtp-Source: ABdhPJxAOIOQo5jm2Zq78hKZHOp159VBv3xO8ZEDiIrrT5463jKcxhslVJDS2m0R24yzdBh7Cd1QFw== X-Received: by 2002:a17:902:e54b:b029:e6:b39f:63ab with SMTP id n11-20020a170902e54bb02900e6b39f63abmr3767372plf.55.1615795065682; Mon, 15 Mar 2021 00:57:45 -0700 (PDT) Received: from i9-aorus-gtx1080.localdomain (144.168.56.201.16clouds.com. [144.168.56.201]) by smtp.gmail.com with ESMTPSA id y9sm10166745pja.50.2021.03.15.00.57.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Mar 2021 00:57:45 -0700 (PDT) From: Bin Meng To: Jason Wang , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Peter Maydell , qemu-devel@nongnu.org Subject: [PATCH v2 07/13] hw/net: vmxnet3: Remove the logic of padding short frames in the receive path Date: Mon, 15 Mar 2021 15:57:12 +0800 Message-Id: <20210315075718.5402-8-bmeng.cn@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210315075718.5402-1-bmeng.cn@gmail.com> References: <20210315075718.5402-1-bmeng.cn@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::1033; envelope-from=bmeng.cn@gmail.com; helo=mail-pj1-x1033.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Bin Meng Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Now that we have implemented unified short frames padding in the QEMU networking codes, remove the same logic in the NIC codes. This actually reverts commit 40a87c6c9b11ef9c14e0301f76abf0eb2582f08e. Signed-off-by: Bin Meng --- hw/net/vmxnet3.c | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c index eff299f629..d993cce097 100644 --- a/hw/net/vmxnet3.c +++ b/hw/net/vmxnet3.c @@ -39,7 +39,6 @@ #define PCI_DEVICE_ID_VMWARE_VMXNET3_REVISION 0x1 #define VMXNET3_MSIX_BAR_SIZE 0x2000 -#define MIN_BUF_SIZE 60 /* Compatibility flags for migration */ #define VMXNET3_COMPAT_FLAG_OLD_MSI_OFFSETS_BIT 0 @@ -1951,7 +1950,6 @@ vmxnet3_receive(NetClientState *nc, const uint8_t *buf, size_t size) { VMXNET3State *s = qemu_get_nic_opaque(nc); size_t bytes_indicated; - uint8_t min_buf[MIN_BUF_SIZE]; if (!vmxnet3_can_receive(nc)) { VMW_PKPRN("Cannot receive now"); @@ -1964,14 +1962,6 @@ vmxnet3_receive(NetClientState *nc, const uint8_t *buf, size_t size) size -= sizeof(struct virtio_net_hdr); } - /* Pad to minimum Ethernet frame length */ - if (size < sizeof(min_buf)) { - memcpy(min_buf, buf, size); - memset(&min_buf[size], 0, sizeof(min_buf) - size); - buf = min_buf; - size = sizeof(min_buf); - } - net_rx_pkt_set_packet_type(s->rx_pkt, get_eth_packet_type(PKT_GET_ETH_HDR(buf))); From patchwork Mon Mar 15 07:57:13 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 12138619 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 945E2C433E6 for ; Mon, 15 Mar 2021 08:07:46 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2E39A64E12 for ; Mon, 15 Mar 2021 08:07:46 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2E39A64E12 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:60130 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lLiGP-000323-6C for qemu-devel@archiver.kernel.org; Mon, 15 Mar 2021 04:07:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43542) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lLi6q-0008FV-Kn for qemu-devel@nongnu.org; Mon, 15 Mar 2021 03:57:52 -0400 Received: from mail-pj1-x1034.google.com ([2607:f8b0:4864:20::1034]:44623) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lLi6n-0004M8-QB for qemu-devel@nongnu.org; Mon, 15 Mar 2021 03:57:52 -0400 Received: by mail-pj1-x1034.google.com with SMTP id kk2-20020a17090b4a02b02900c777aa746fso14283482pjb.3 for ; Mon, 15 Mar 2021 00:57:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=jKGUAxYfgStlOjKa9CDTGixVmDCzAwr3my9wLQMl3fc=; b=YeklNh3EYLwCZRs/fhURm9HffdTeQFtVBK6ThD4yJokgNQadDY1Sl35V3KjbSMKzry 15W65Yjm6KTIAJMGnnquVDThM5fOfunA5cmVbXcXrYGpPcNvE+pXl5DXZ/gnqvvql35I f+22q4rPvaVFT3KXMhEPueIj+gMz/Nyu3mo9axhDjpxeSOpdesX6fRD29pSVj5YbUgtD vAURk0FWd04r0FMYu7fZ8iO1C8lLipEm1lDUsr92mGGU8+shoj/2iN0X451rdA/ImjUD EYJ/LeUi66Ymmc0+uKZPLk4JIetA6WJ8lv7wKIDpbmFrQLI2iOi9oq9ICwIq1EI6H8YV xgOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=jKGUAxYfgStlOjKa9CDTGixVmDCzAwr3my9wLQMl3fc=; b=PFH73SnSAj/8moIWHRzJ7/9ssWq+Xw2zIZmsaocHULzO2YGxkDEe79Fpzhxh+qZt6l 2tIX9A4offEFFta+6TL2CWERF6g0VscrXh6gNqUWalPHshI+8dowbAfLEsURsyyh7XPe QpIUwYR/HLlHkJLIWJmbW/JjFEJjbdHFgDYawtomcwKEAQV3/CtnEY+umNU8QfQp2F6j 1RZB8E2fQZrcNZ5H2MPzZRT5nY6REzeDIc3RGiKF7YFo1LfTtPvoxqNcUESozoM/ZXLw qb9YwPV8vvL1NEus0MwvxgpNSw9W0jg52kggtk+bUSe5amQWCUdXDaUl5eWbAKZ+ZSQ2 FgAQ== X-Gm-Message-State: AOAM531u6ar6z29CzMX8po43IIEVyEh+krgtDkiH4kP1tKsCCg80Dfh1 AsM4M5MB+0BXmwU+ZDnLfIs= X-Google-Smtp-Source: ABdhPJx0pT796fWVL5YmX63UGIXKH0V/o/svyTlEn8RT0NBcn3QELr9uuO65xn88aV8Vp28YN1ctfw== X-Received: by 2002:a17:90a:f2d4:: with SMTP id gt20mr11644603pjb.212.1615795067877; Mon, 15 Mar 2021 00:57:47 -0700 (PDT) Received: from i9-aorus-gtx1080.localdomain (144.168.56.201.16clouds.com. [144.168.56.201]) by smtp.gmail.com with ESMTPSA id y9sm10166745pja.50.2021.03.15.00.57.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Mar 2021 00:57:47 -0700 (PDT) From: Bin Meng To: Jason Wang , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Peter Maydell , qemu-devel@nongnu.org Subject: [PATCH v2 08/13] hw/net: i82596: Remove the logic of padding short frames in the receive path Date: Mon, 15 Mar 2021 15:57:13 +0800 Message-Id: <20210315075718.5402-9-bmeng.cn@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210315075718.5402-1-bmeng.cn@gmail.com> References: <20210315075718.5402-1-bmeng.cn@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::1034; envelope-from=bmeng.cn@gmail.com; helo=mail-pj1-x1034.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Bin Meng Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Now that we have implemented unified short frames padding in the QEMU networking codes, remove the same logic in the NIC codes. Signed-off-by: Bin Meng --- hw/net/i82596.c | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/hw/net/i82596.c b/hw/net/i82596.c index 055c3a1470..1eca2e2d81 100644 --- a/hw/net/i82596.c +++ b/hw/net/i82596.c @@ -73,10 +73,6 @@ enum commands { #define I596_EOF 0x8000 #define SIZE_MASK 0x3fff -#define ETHER_TYPE_LEN 2 -#define VLAN_TCI_LEN 2 -#define VLAN_HLEN (ETHER_TYPE_LEN + VLAN_TCI_LEN) - /* various flags in the chip config registers */ #define I596_PREFETCH (s->config[0] & 0x80) #define I596_PROMISC (s->config[8] & 0x01) @@ -489,8 +485,6 @@ bool i82596_can_receive(NetClientState *nc) return true; } -#define MIN_BUF_SIZE 60 - ssize_t i82596_receive(NetClientState *nc, const uint8_t *buf, size_t sz) { I82596State *s = qemu_get_nic_opaque(nc); @@ -501,7 +495,6 @@ ssize_t i82596_receive(NetClientState *nc, const uint8_t *buf, size_t sz) size_t bufsz = sz; /* length of data in buf */ uint32_t crc; uint8_t *crc_ptr; - uint8_t buf1[MIN_BUF_SIZE + VLAN_HLEN]; static const uint8_t broadcast_macaddr[6] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; @@ -584,17 +577,6 @@ ssize_t i82596_receive(NetClientState *nc, const uint8_t *buf, size_t sz) } } - /* if too small buffer, then expand it */ - if (len < MIN_BUF_SIZE + VLAN_HLEN) { - memcpy(buf1, buf, len); - memset(buf1 + len, 0, MIN_BUF_SIZE + VLAN_HLEN - len); - buf = buf1; - if (len < MIN_BUF_SIZE) { - len = MIN_BUF_SIZE; - } - bufsz = len; - } - /* Calculate the ethernet checksum (4 bytes) */ len += 4; crc = cpu_to_be32(crc32(~0, buf, sz)); From patchwork Mon Mar 15 07:57:14 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 12138597 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1ADCDC433E0 for ; Mon, 15 Mar 2021 07:59:12 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 80A5964E0F for ; Mon, 15 Mar 2021 07:59:11 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 80A5964E0F Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:38208 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lLi86-0001Wo-Bo for qemu-devel@archiver.kernel.org; Mon, 15 Mar 2021 03:59:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43544) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lLi6r-0008Gj-60 for qemu-devel@nongnu.org; Mon, 15 Mar 2021 03:57:53 -0400 Received: from mail-pl1-x62b.google.com ([2607:f8b0:4864:20::62b]:38106) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lLi6p-0004MN-G9 for qemu-devel@nongnu.org; Mon, 15 Mar 2021 03:57:52 -0400 Received: by mail-pl1-x62b.google.com with SMTP id s7so14881686plg.5 for ; Mon, 15 Mar 2021 00:57:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=y9+MuFpamjdnFK8s8pt6prXDFanBeSufK+kJJFQbChg=; b=Bme91Km8BXw9+OoB6VbonemC4ddaoroZE4OEFcrAmFo2cdsZxWTZ5GWmgvm9heQa4j MBjgsu/wbZMqVHP9KGiI/lAjsAYmvxMtip61UZcK6KgX1kyJrfsODCduB6p4QjECrTSU 8Gqjrt3gHlHR1IGLt2Hltv1yVeTXSZx1BPm6ts64K8FmacG5Uguhi38qpq9sMj4eaCEe KjL9f6VnNKD6MvAkubFYu7VFH1pEi5x7N4lmmFyJPQdB8JZVAmHuvsYXk8rRSdlnP5yE d7kveddFALl02ZIdKwzhJp1/XtV/fqxaIY4mYmLn3O6dlFL+PrYNdUETHg0oDUmx49v1 b/xA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=y9+MuFpamjdnFK8s8pt6prXDFanBeSufK+kJJFQbChg=; b=lxRYNNJA3YHV86aHaAKgOKOiohhi9XJ1cY4a1oqxXtbZ+ajpW/0NH9I9NDRVFu55E5 6YVpKJtjLiSecWYPXVgTybcUehj845YEdd6aE5ikP1ED6umTXKR095Co1Rp9pC+Ermwo XCfjMrd4p88Sx9wH+Wf/MuZ+CugUgBQMPiNKFrt+w/kV6Kl4FlBpb3TC3dhqMKMlJA6q c3H8cjNR4mmRQHoBy54qzVHKiTvbdl0XIV7+YAzMNaaQ2JbUG5ToiExOHzWPZr6PronC v7cigb8Zymu8rh5vT3dJ+FBHeoCuT/a9rCZT5EHfw9rfAFIN8RFB7nUCwHMWUZBKrruC v/Vg== X-Gm-Message-State: AOAM533wypN0bfsoDI31ozUjX/O/O1AFrNd4HhDvM8UsbTAkD6cEk7Gz +e/flrnJRs328v/j5caJOSG6rfQq0LE= X-Google-Smtp-Source: ABdhPJyzu2qI68W17cBfN/KjVhX9H+EZu/Oa5m2aSSemKuIuvyOokDyWRvZTqswO68HQPSSsPKzrHw== X-Received: by 2002:a17:90a:bf04:: with SMTP id c4mr11403590pjs.170.1615795070284; Mon, 15 Mar 2021 00:57:50 -0700 (PDT) Received: from i9-aorus-gtx1080.localdomain (144.168.56.201.16clouds.com. [144.168.56.201]) by smtp.gmail.com with ESMTPSA id y9sm10166745pja.50.2021.03.15.00.57.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Mar 2021 00:57:49 -0700 (PDT) From: Bin Meng To: Jason Wang , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Peter Maydell , qemu-devel@nongnu.org Subject: [PATCH v2 09/13] hw/net: ne2000: Remove the logic of padding short frames in the receive path Date: Mon, 15 Mar 2021 15:57:14 +0800 Message-Id: <20210315075718.5402-10-bmeng.cn@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210315075718.5402-1-bmeng.cn@gmail.com> References: <20210315075718.5402-1-bmeng.cn@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::62b; envelope-from=bmeng.cn@gmail.com; helo=mail-pl1-x62b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Bin Meng Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Now that we have implemented unified short frames padding in the QEMU networking codes, remove the same logic in the NIC codes. Signed-off-by: Bin Meng --- hw/net/ne2000.c | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/hw/net/ne2000.c b/hw/net/ne2000.c index 6c17ee1ae2..b0a120ece6 100644 --- a/hw/net/ne2000.c +++ b/hw/net/ne2000.c @@ -167,15 +167,12 @@ static int ne2000_buffer_full(NE2000State *s) return 0; } -#define MIN_BUF_SIZE 60 - ssize_t ne2000_receive(NetClientState *nc, const uint8_t *buf, size_t size_) { NE2000State *s = qemu_get_nic_opaque(nc); size_t size = size_; uint8_t *p; unsigned int total_len, next, avail, len, index, mcast_idx; - uint8_t buf1[60]; static const uint8_t broadcast_macaddr[6] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; @@ -213,15 +210,6 @@ ssize_t ne2000_receive(NetClientState *nc, const uint8_t *buf, size_t size_) } } - - /* if too small buffer, then expand it */ - if (size < MIN_BUF_SIZE) { - memcpy(buf1, buf, size); - memset(buf1 + size, 0, MIN_BUF_SIZE - size); - buf = buf1; - size = MIN_BUF_SIZE; - } - index = s->curpag << 8; if (index >= NE2000_PMEM_END) { index = s->start; From patchwork Mon Mar 15 07:57:15 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 12138605 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 885E8C433E0 for ; Mon, 15 Mar 2021 08:01:53 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3387564E0F for ; Mon, 15 Mar 2021 08:01:53 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3387564E0F Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:46734 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lLiAi-000572-8W for qemu-devel@archiver.kernel.org; Mon, 15 Mar 2021 04:01:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43580) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lLi6t-0008Mw-QG for qemu-devel@nongnu.org; Mon, 15 Mar 2021 03:57:55 -0400 Received: from mail-pj1-x1033.google.com ([2607:f8b0:4864:20::1033]:53151) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lLi6r-0004OM-RT for qemu-devel@nongnu.org; Mon, 15 Mar 2021 03:57:55 -0400 Received: by mail-pj1-x1033.google.com with SMTP id ha17so7578146pjb.2 for ; Mon, 15 Mar 2021 00:57:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=/mOKBGRUJ4y+tPw9lpl+OkfuSsuw7sR8Re9xfC+JUDo=; b=f6wO+Dxym7bumpUHmqAApqemSCKw31nOG1D9thh2U6kGpgAi3GDrUkX8N2cvtXvR4O qvt34gBI/qELH+irkqcLYSyeVrw0A4ghZYLpdX/vNUMun6VLz11qqMDAzVCB9vGZOgoU a+jxa/TD5A6+ZdIxrCsLWlI2t0oB4//gNClbC2v5mjygLMGL244MEqgk4IBkq2AGXO1x JNw7V8+UrneAdtRDXXXF99+knQtj71nrAw680uKLRO7f79xI8rXib6OANYHYWRTy2zDM rB3sOrqSMFjtNG22gDf1uNrUzzN4tttyKaA+ZzKedU0ru6peAba68hISHF6ye8v244py 6zCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=/mOKBGRUJ4y+tPw9lpl+OkfuSsuw7sR8Re9xfC+JUDo=; b=V5UeVpqo6HtRIlt9YDANdthnVTnv08mXcm6pAw73+DVpwUouI9ibtG4FVNO4eBD6aE eCnvFcYY8f7GRtJr2B1xRjemZRxq1JOU82dm0kNGoxigDuTGPLg7G1GeLge5AfkH8srX 5OJNWoAPuqIK2+ErtH4bN4BGhRTLHS2C7GYmO0AmsT0mDrJVWOzv/2PeHcux3dioHXhv 3I0A2Ndb+2v2TsSWQzIRTSfPbAwstjT2LwkNboUxs3YDZYlItzopHZ7D23J8cs1GVtNp Ec4dBDxsbbfmE4E0wbd8+ORqULiT8BPNKZUmMRad5zi6KBH9yHyOxw44Wet0qH98QrZ+ U83w== X-Gm-Message-State: AOAM533k86o9ofHkRaKpeX/xd7rs/WbejAuNL6A8V0cdg9Xs4PhE4C1p K87BFsND5EoZh3qv4zGdzJM= X-Google-Smtp-Source: ABdhPJy6FSbHaCI/W+NWKuefF7Lh+/5V2HLL3m2o4J8RjebKJUsRQ4f0lJ4CXsOvQ+vLb+N4XkOGRQ== X-Received: by 2002:a17:902:6541:b029:e6:27a4:80fb with SMTP id d1-20020a1709026541b02900e627a480fbmr10139807pln.15.1615795072628; Mon, 15 Mar 2021 00:57:52 -0700 (PDT) Received: from i9-aorus-gtx1080.localdomain (144.168.56.201.16clouds.com. [144.168.56.201]) by smtp.gmail.com with ESMTPSA id y9sm10166745pja.50.2021.03.15.00.57.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Mar 2021 00:57:52 -0700 (PDT) From: Bin Meng To: Jason Wang , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Peter Maydell , qemu-devel@nongnu.org Subject: [PATCH v2 10/13] hw/net: pcnet: Remove the logic of padding short frames in the receive path Date: Mon, 15 Mar 2021 15:57:15 +0800 Message-Id: <20210315075718.5402-11-bmeng.cn@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210315075718.5402-1-bmeng.cn@gmail.com> References: <20210315075718.5402-1-bmeng.cn@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::1033; envelope-from=bmeng.cn@gmail.com; helo=mail-pj1-x1033.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Bin Meng Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Now that we have implemented unified short frames padding in the QEMU networking codes, remove the same logic in the NIC codes. Signed-off-by: Bin Meng --- hw/net/pcnet.c | 9 --------- 1 file changed, 9 deletions(-) diff --git a/hw/net/pcnet.c b/hw/net/pcnet.c index f3f18d8598..16330335cd 100644 --- a/hw/net/pcnet.c +++ b/hw/net/pcnet.c @@ -987,7 +987,6 @@ ssize_t pcnet_receive(NetClientState *nc, const uint8_t *buf, size_t size_) { PCNetState *s = qemu_get_nic_opaque(nc); int is_padr = 0, is_bcast = 0, is_ladr = 0; - uint8_t buf1[60]; int remaining; int crc_err = 0; size_t size = size_; @@ -1000,14 +999,6 @@ ssize_t pcnet_receive(NetClientState *nc, const uint8_t *buf, size_t size_) printf("pcnet_receive size=%zu\n", size); #endif - /* if too small buffer, then expand it */ - if (size < MIN_BUF_SIZE) { - memcpy(buf1, buf, size); - memset(buf1 + size, 0, MIN_BUF_SIZE - size); - buf = buf1; - size = MIN_BUF_SIZE; - } - if (CSR_PROM(s) || (is_padr=padr_match(s, buf, size)) || (is_bcast=padr_bcast(s, buf, size)) From patchwork Mon Mar 15 07:57:16 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 12138613 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 215A1C433DB for ; Mon, 15 Mar 2021 08:06:52 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C4CC064E38 for ; Mon, 15 Mar 2021 08:06:51 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C4CC064E38 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:58632 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lLiFW-0002II-UR for qemu-devel@archiver.kernel.org; Mon, 15 Mar 2021 04:06:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43602) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lLi6v-0008SI-RN for qemu-devel@nongnu.org; Mon, 15 Mar 2021 03:57:57 -0400 Received: from mail-pj1-x102c.google.com ([2607:f8b0:4864:20::102c]:56221) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lLi6u-0004Py-2R for qemu-devel@nongnu.org; Mon, 15 Mar 2021 03:57:57 -0400 Received: by mail-pj1-x102c.google.com with SMTP id bt4so8334961pjb.5 for ; Mon, 15 Mar 2021 00:57:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=UdmbmVq7ujOmv45uN63XJuQpkEbRlXv7rPJRu2EmGJc=; b=S/oj/H4305PKA/EMLLP53N5zZswVr7gXAZRBDkAVh/AgYDLp3X4R+hBjRLxBjnZdcZ dulP58G6zwsStttf+q+8TUdc3yFQ94U2/DgUICc6pi5BPfX81YM2JMA6CcA8bpf9v8Zd KccwuPZRIpNk5X58LTcuNQ0hJ/43YFghrrdXDOnYFdAUapaD4QsTYvbafBTHlomqUqNU n+tfi/sySIc3zS+PFVt2pRzmtg8mtbVFGfl68HT9QBRGyhgH0DxQeEdfhZrM01D8v43I fuRUzxwVdCGlhCfy6ZztBLmxfZIMTzOSSKYEbDetuKwd4S9UBniMwFBjw47BzGi1KyGP 4FIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=UdmbmVq7ujOmv45uN63XJuQpkEbRlXv7rPJRu2EmGJc=; b=C7/QcFKV8yG/dHZ8LvBEYindNhmY4J9Axe1LN/S7rHJUXLbUknEfnS8fKdy9VqNG0B GoC6JT8B4ZMu/BkNAIE6qgGPVdejyMvfdSEOQRu+usy+AL90GoMckmYCzustad5VDTHy jyO6FObVAvCAX4BRicpPUyMhHRY8OQS3NMYY/4QdQki49z7nKxuLByDbkSatF6gB0a6T WkHrgeeEBop+nZC7T4Y+jtxhbDBXKjiEl9klYbLBN7wLwmLT7AKb2TuuQD9X8swrGsR+ xg4RUrN8xGZRJQ8ls/HtV3AkR8Gyt9t+nFpcLj0yuPXzK6pHSvUWpyCs6E23Cts3Zpwx GS7g== X-Gm-Message-State: AOAM533pYYUMlgysRpUgVLV01puhFusWcluMVr56B+bixIolNJQadiMU giFf6JBPed+buoyLn3T+oTs= X-Google-Smtp-Source: ABdhPJx/JiZWWVGE8kowdyvY7dZpYsBOOh9Dbah1Bd1B7+zLj5+JtdCCY3OcTDVn/L10dkjMYiv+Og== X-Received: by 2002:a17:902:c083:b029:e4:84c5:6ac8 with SMTP id j3-20020a170902c083b02900e484c56ac8mr10440074pld.71.1615795074867; Mon, 15 Mar 2021 00:57:54 -0700 (PDT) Received: from i9-aorus-gtx1080.localdomain (144.168.56.201.16clouds.com. [144.168.56.201]) by smtp.gmail.com with ESMTPSA id y9sm10166745pja.50.2021.03.15.00.57.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Mar 2021 00:57:54 -0700 (PDT) From: Bin Meng To: Jason Wang , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Peter Maydell , qemu-devel@nongnu.org Subject: [PATCH v2 11/13] hw/net: rtl8139: Remove the logic of padding short frames in the receive path Date: Mon, 15 Mar 2021 15:57:16 +0800 Message-Id: <20210315075718.5402-12-bmeng.cn@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210315075718.5402-1-bmeng.cn@gmail.com> References: <20210315075718.5402-1-bmeng.cn@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::102c; envelope-from=bmeng.cn@gmail.com; helo=mail-pj1-x102c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Bin Meng Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Now that we have implemented unified short frames padding in the QEMU networking codes, remove the same logic in the NIC codes. Signed-off-by: Bin Meng --- hw/net/rtl8139.c | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/hw/net/rtl8139.c b/hw/net/rtl8139.c index 4675ac878e..cbfe29a286 100644 --- a/hw/net/rtl8139.c +++ b/hw/net/rtl8139.c @@ -827,7 +827,6 @@ static ssize_t rtl8139_do_receive(NetClientState *nc, const uint8_t *buf, size_t uint32_t packet_header = 0; - uint8_t buf1[MIN_BUF_SIZE + VLAN_HLEN]; static const uint8_t broadcast_macaddr[6] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; @@ -939,17 +938,6 @@ static ssize_t rtl8139_do_receive(NetClientState *nc, const uint8_t *buf, size_t } } - /* if too small buffer, then expand it - * Include some tailroom in case a vlan tag is later removed. */ - if (size < MIN_BUF_SIZE + VLAN_HLEN) { - memcpy(buf1, buf, size); - memset(buf1 + size, 0, MIN_BUF_SIZE + VLAN_HLEN - size); - buf = buf1; - if (size < MIN_BUF_SIZE) { - size = MIN_BUF_SIZE; - } - } - if (rtl8139_cp_receiver_enabled(s)) { if (!rtl8139_cp_rx_valid(s)) { From patchwork Mon Mar 15 07:57:17 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 12138621 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C4D62C433DB for ; Mon, 15 Mar 2021 08:09:37 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 39E6764E38 for ; Mon, 15 Mar 2021 08:09:37 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 39E6764E38 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:36708 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lLiIC-0005PB-Di for qemu-devel@archiver.kernel.org; Mon, 15 Mar 2021 04:09:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43620) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lLi6y-00005u-0y for qemu-devel@nongnu.org; Mon, 15 Mar 2021 03:58:00 -0400 Received: from mail-pg1-x536.google.com ([2607:f8b0:4864:20::536]:34944) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lLi6w-0004Qp-AJ for qemu-devel@nongnu.org; Mon, 15 Mar 2021 03:57:59 -0400 Received: by mail-pg1-x536.google.com with SMTP id v14so13051585pgq.2 for ; Mon, 15 Mar 2021 00:57:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=QcEF78pFDQdH5vJ2d7Y7KIq3IgJO2ibE3qMPR9Ev0r8=; b=Vr+ZpSFYeS0aUzGTSWl2lUA8I6tepSPe/BxJ7snwmaPS9ggy1pQfyAl3dGZSMm0oZL 3rxDxYeFai3s2PhXf7Ny9TwTJR+4uJf366Wa2wG62U6ITtpqzXa4dmDDryYVsz5khn0E mSFb9Dq9EGbxKxng0CsIW6CkGLFIROvxBfdtotQ03BJu2raL+liex1k7flfZ0UHWjkc3 nVXfLSaOibDhMF4rojWdKGVQ8HxQS3jEaesNBL6j6GDepoy5ZqtYSPHvRky1aCniIITt 27YhdyEl8bWB/xiBbEytM1VVLlp14+idDfSBXHIqGLFUxFyioszsB+w+PbNhSQ/k/xyl 6cUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=QcEF78pFDQdH5vJ2d7Y7KIq3IgJO2ibE3qMPR9Ev0r8=; b=uRvRqrXdjyVO7QVLlL9eUgYiS9ZzvABp+Dy64amEUIVzmrmdm48UEFWCFTWx7XP7Ka 0B23bvBb7X9KoyZAhd7KA8J5BpD1xz5xlMse2nQeePKeljZ6hwff/S60fr0E4G227FHC 4d6zvOMW9fP4OUNitdxsM9X2VUWPZgizad2uThg/V71SoaoyQvMlHUTGdNyViHaxSrhz 402KJMBMICHCaaaC/dI04UdO0250lH5eq6XdjEtX2q6mKZhuxJX26nygFTFDFoMZbDgt sLHFvMknfi9vLrmxHchZeIqpvyuPk/WvpBfCKMq0OZUkj6iLV8JWusA8Jido8CrGWifu 5vQg== X-Gm-Message-State: AOAM530QwAag5eW0gzbhvuFnL7CcBNyBkK1Tlb+avRdy3vWNTwgnBL43 97obHbX4TG+AypG8uyH+piI= X-Google-Smtp-Source: ABdhPJwoG2v6+8M4Rywofdpq1etz1UcFu927sgvB+2xUwmyHTEjTv0r9ZQ+o4jh5QboWZcUyq+oBPg== X-Received: by 2002:a63:1119:: with SMTP id g25mr21669565pgl.162.1615795077024; Mon, 15 Mar 2021 00:57:57 -0700 (PDT) Received: from i9-aorus-gtx1080.localdomain (144.168.56.201.16clouds.com. [144.168.56.201]) by smtp.gmail.com with ESMTPSA id y9sm10166745pja.50.2021.03.15.00.57.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Mar 2021 00:57:56 -0700 (PDT) From: Bin Meng To: Jason Wang , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Peter Maydell , qemu-devel@nongnu.org Subject: [PATCH v2 12/13] hw/net: sungem: Remove the logic of padding short frames in the receive path Date: Mon, 15 Mar 2021 15:57:17 +0800 Message-Id: <20210315075718.5402-13-bmeng.cn@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210315075718.5402-1-bmeng.cn@gmail.com> References: <20210315075718.5402-1-bmeng.cn@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::536; envelope-from=bmeng.cn@gmail.com; helo=mail-pg1-x536.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Bin Meng Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Now that we have implemented unified short frames padding in the QEMU networking codes, remove the same logic in the NIC codes. Signed-off-by: Bin Meng --- hw/net/sungem.c | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/hw/net/sungem.c b/hw/net/sungem.c index 33c3722df6..3fa83168db 100644 --- a/hw/net/sungem.c +++ b/hw/net/sungem.c @@ -550,7 +550,6 @@ static ssize_t sungem_receive(NetClientState *nc, const uint8_t *buf, PCIDevice *d = PCI_DEVICE(s); uint32_t mac_crc, done, kick, max_fsize; uint32_t fcs_size, ints, rxdma_cfg, rxmac_cfg, csum, coff; - uint8_t smallbuf[60]; struct gem_rxd desc; uint64_t dbase, baddr; unsigned int rx_cond; @@ -584,19 +583,6 @@ static ssize_t sungem_receive(NetClientState *nc, const uint8_t *buf, return size; } - /* We don't drop too small frames since we get them in qemu, we pad - * them instead. We should probably use the min frame size register - * but I don't want to use a variable size staging buffer and I - * know both MacOS and Linux use the default 64 anyway. We use 60 - * here to account for the non-existent FCS. - */ - if (size < 60) { - memcpy(smallbuf, buf, size); - memset(&smallbuf[size], 0, 60 - size); - buf = smallbuf; - size = 60; - } - /* Get MAC crc */ mac_crc = net_crc32_le(buf, ETH_ALEN); From patchwork Mon Mar 15 07:57:18 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 12138623 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E36BEC433DB for ; Mon, 15 Mar 2021 08:12:07 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 622E064DD7 for ; Mon, 15 Mar 2021 08:12:07 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 622E064DD7 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:41426 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lLiKc-00080u-8q for qemu-devel@archiver.kernel.org; Mon, 15 Mar 2021 04:12:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43644) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lLi70-0000Bv-1G for qemu-devel@nongnu.org; Mon, 15 Mar 2021 03:58:02 -0400 Received: from mail-pf1-x42e.google.com ([2607:f8b0:4864:20::42e]:45241) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lLi6y-0004Se-Dp for qemu-devel@nongnu.org; Mon, 15 Mar 2021 03:58:01 -0400 Received: by mail-pf1-x42e.google.com with SMTP id c17so2457036pfv.12 for ; Mon, 15 Mar 2021 00:58:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=fU7lzk4cL2UJ9KA60ejfSNAzKPvIxCcO762dyv14Ezc=; b=MCypLDI6EGcZqMYRtVWQsQ0C7+b25VCIjdhikeYQRE+AedbSK2TS8jkQNE8CpR/dDN TCi7s6hn60+wXAJMwF1GKWBuRVOU0RylCXoD8dNP7gTq11YTXvfvvFEz8W49v06zBQ4X IciJhapWXBHsNY63/ro3/NWEV1H6k+mD646kV+1h9dSBHJvj/HNes4rwdRZJfFEdc/y7 Ovomx3FHk22irqws81HpCpEZQ3gqUEfpXgI/uozaCPmSzQIBb59j2jUpDxKYRs+0ZE+0 K1Xqr1ypfZL6qubjrrtcA8zSQGQWulTFC77JP6eA6oeL6OgtUgio5uPRxZ2MkH8k+NyN Waiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=fU7lzk4cL2UJ9KA60ejfSNAzKPvIxCcO762dyv14Ezc=; b=P+0Nmq3vMoXtI0gFuBzcWnQUqBEdpNE+HxYsELn8ngmuboJEK8PAa1T8aNZLxg4/x/ 75GmzDczl6Lf1Jdl/jANsFjtCseG/YNSj0QfzLfTuMvJ/w4azwAeqOm1ZEfHwyjFwm4g sc+jWoh+SMv97HLQ59JP7PmluDLcszPqeO9B3fLSsr36TrypgjFMkE327tCbPUzerhmN uUE7TKY0dorcH9++49sx2WN1jHadOOrLXsR/tG63CcaoKgAyCA7WBdOcjkbcjr7Ictdz sGYUSBgl22MoB/eA7XVVIJIfAP/3N7CJDTtERocplNjqeUjErsP9pQWWGPEvqPMcJT3g 4b+Q== X-Gm-Message-State: AOAM532epBwngq8akqQR/Q8JvwpCWFMVSZKP3sugrzPz1RDyztKxoY/C rPRsErYf/5/jxIorNbF8axw= X-Google-Smtp-Source: ABdhPJyUw8m37SY+VO2qHLq/yziuB0/w0QPCDPyK208BjHlyMnlv3O7wF2qn0MsKGYzZK+pC0IHNlg== X-Received: by 2002:a65:498b:: with SMTP id r11mr21098009pgs.364.1615795079197; Mon, 15 Mar 2021 00:57:59 -0700 (PDT) Received: from i9-aorus-gtx1080.localdomain (144.168.56.201.16clouds.com. [144.168.56.201]) by smtp.gmail.com with ESMTPSA id y9sm10166745pja.50.2021.03.15.00.57.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Mar 2021 00:57:58 -0700 (PDT) From: Bin Meng To: Jason Wang , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Peter Maydell , qemu-devel@nongnu.org Subject: [PATCH v2 13/13] hw/net: sunhme: Remove the logic of padding short frames in the receive path Date: Mon, 15 Mar 2021 15:57:18 +0800 Message-Id: <20210315075718.5402-14-bmeng.cn@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210315075718.5402-1-bmeng.cn@gmail.com> References: <20210315075718.5402-1-bmeng.cn@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::42e; envelope-from=bmeng.cn@gmail.com; helo=mail-pf1-x42e.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Bin Meng Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Now that we have implemented unified short frames padding in the QEMU networking codes, remove the same logic in the NIC codes. Signed-off-by: Bin Meng --- hw/net/sunhme.c | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/hw/net/sunhme.c b/hw/net/sunhme.c index fc34905f87..6971796e57 100644 --- a/hw/net/sunhme.c +++ b/hw/net/sunhme.c @@ -714,8 +714,6 @@ static inline void sunhme_set_rx_ring_nr(SunHMEState *s, int i) s->erxregs[HME_ERXI_RING >> 2] = ring; } -#define MIN_BUF_SIZE 60 - static ssize_t sunhme_receive(NetClientState *nc, const uint8_t *buf, size_t size) { @@ -724,7 +722,6 @@ static ssize_t sunhme_receive(NetClientState *nc, const uint8_t *buf, dma_addr_t rb, addr; uint32_t intstatus, status, buffer, buffersize, sum; uint16_t csum; - uint8_t buf1[60]; int nr, cr, len, rxoffset, csum_offset; trace_sunhme_rx_incoming(size); @@ -775,14 +772,6 @@ static ssize_t sunhme_receive(NetClientState *nc, const uint8_t *buf, trace_sunhme_rx_filter_accept(); - /* If too small buffer, then expand it */ - if (size < MIN_BUF_SIZE) { - memcpy(buf1, buf, size); - memset(buf1 + size, 0, MIN_BUF_SIZE - size); - buf = buf1; - size = MIN_BUF_SIZE; - } - rb = s->erxregs[HME_ERXI_RING >> 2] & HME_ERXI_RING_ADDR; nr = sunhme_get_rx_ring_count(s); cr = sunhme_get_rx_ring_nr(s);