From patchwork Tue Mar 16 08:12:42 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 12141419 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 5C6C8C433E0 for ; Tue, 16 Mar 2021 08:17:32 +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 EF8EE64FD1 for ; Tue, 16 Mar 2021 08:17:31 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EF8EE64FD1 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]:52974 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lM4tP-0000Ll-1K for qemu-devel@archiver.kernel.org; Tue, 16 Mar 2021 04:17:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39410) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lM4pF-0001uU-VC for qemu-devel@nongnu.org; Tue, 16 Mar 2021 04:13:14 -0400 Received: from mail-ed1-x533.google.com ([2a00:1450:4864:20::533]:36841) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lM4pB-0007hV-Lt for qemu-devel@nongnu.org; Tue, 16 Mar 2021 04:13:12 -0400 Received: by mail-ed1-x533.google.com with SMTP id o19so20406933edc.3 for ; Tue, 16 Mar 2021 01:13:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=3hRQIzOfytOYJWvVekpNIWUn2VnZLGjGX2HfaABKibQ=; b=PeBrt9h0QmTUOfa824GK7TPCApaT+jhmA1S+8mH7TdhwgI+MD9/lsOumqZrqFtftY7 8DuI7Y29S0n1Gtn8bohyB/wZfmcyUwPp7UgGBZXOvudU6kEcQXc4q7ICgtaYqse/qNeJ USr5cHgoUAP3+18u4Np1QFGheOjn3/Nzh1HKltQ5/N8AsGkNBqs4dsPOR5N9X2wTWo84 tBkZGY9nuf7D7zVQu6ZyFL4K8lsCH3XBXNE0k0qlnE1MFgi94h0uLO9h5cql/ZH5RP9E k9xcy1M+BfxEHEqZAQZLaZfazFcGOxqD4MnIqwj66I3ZS4JhITZ9MpcCiAveaBEfq22G Q3Dw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=3hRQIzOfytOYJWvVekpNIWUn2VnZLGjGX2HfaABKibQ=; b=OUk7Po5K0aObZMV1bfLIAEHYlE3X//PQ3A1JREDRTpdJcAIpw+jCD80a95WeocE316 Zc0QVjn2p748NykSS0DJQsB/wX2MTIaR3O59S8p98yPFFfgH4aeiHVGpp5BjT1Loifym 7U5+zJEn7Y1Lrlrn9Abvvf5Ogg2sYIG2yynCVbg0IvqHUwtJ0Bam58o5wiw+tTfiKtVQ R/hyrxEcgnIThL0Pc5y3gjIBuXACgIfKkbJxVA8+9KazefXRj6ZQKuLaeB6L1v5ka8XC Ng2fFd9ILZ73CvN//Bvf7FZ/ywZgGSpaPbo77Lua8fVz8c0yrfhfx7dOLD3ZjGB09O/o 6v8A== X-Gm-Message-State: AOAM531d2vKIDxhNVupiBIBIE+5v0RYw/crbXSDKEbVzuk9gehS1zCdE y1oHfA5yYqkKo3CDeXdfp3g= X-Google-Smtp-Source: ABdhPJy0YHf39jQb5062hmLbsMdxa0/0TcIAMpDCIzrXFe035evrAe/kI9IhxTIrLMslvfV+ijUlcQ== X-Received: by 2002:a05:6402:30a5:: with SMTP id df5mr34944836edb.24.1615882388096; Tue, 16 Mar 2021 01:13:08 -0700 (PDT) Received: from pek-vx-bsp9.wrs.com (ec2-44-242-66-180.us-west-2.compute.amazonaws.com. [44.242.66.180]) by smtp.gmail.com with ESMTPSA id a17sm5620333ejf.20.2021.03.16.01.13.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Mar 2021 01:13:07 -0700 (PDT) From: Bin Meng To: Jason Wang , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Peter Maydell , qemu-devel@nongnu.org Subject: [PATCH v3 01/13] net: eth: Add a helper to pad a short ethernet frame Date: Tue, 16 Mar 2021 16:12:42 +0800 Message-Id: <20210316081254.72684-2-bmeng.cn@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210316081254.72684-1-bmeng.cn@gmail.com> References: <20210316081254.72684-1-bmeng.cn@gmail.com> Received-SPF: pass client-ip=2a00:1450:4864:20::533; envelope-from=bmeng.cn@gmail.com; helo=mail-ed1-x533.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: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Add a helper to pad a short ethernet frame to the minimum required length, which can be used by backend codes. Signed-off-by: Bin Meng --- Changes in v3: - use 'without' instead of 'sans' - add a helper to pad short frames include/net/eth.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/include/net/eth.h b/include/net/eth.h index 0671be6916..bc064f8e52 100644 --- a/include/net/eth.h +++ b/include/net/eth.h @@ -31,6 +31,31 @@ #define ETH_ALEN 6 #define ETH_HLEN 14 +#define ETH_ZLEN 60 /* Min. octets in frame without FCS */ + +/** + * pad_short_frame - pad a short frame to the minimum ethernet frame length + * + * If the ethernet frame size is shorter than 60 bytes, it will be padded to + * 60 bytes at the address @min_pkt. + * + * @min_pkt: buffer address to hold the padded frame + * @pkt: address to hold the original ethernet frame + * @size: size of the original ethernet frame + * @return true if the frame is padded, otherwise false + */ +static inline bool pad_short_frame(uint8_t *min_pkt, const uint8_t *pkt, + int size) +{ + if (size < ETH_ZLEN) { + /* pad to minimum ethernet frame length */ + memcpy(min_pkt, pkt, size); + memset(&min_pkt[size], 0, ETH_ZLEN - size); + return true; + } + + return false; +} struct eth_header { uint8_t h_dest[ETH_ALEN]; /* destination eth addr */ From patchwork Tue Mar 16 08:12:43 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 12141407 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 9728FC433E6 for ; Tue, 16 Mar 2021 08:14:33 +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 3991B64FD1 for ; Tue, 16 Mar 2021 08:14:33 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3991B64FD1 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]:40892 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lM4qW-0003oK-9r for qemu-devel@archiver.kernel.org; Tue, 16 Mar 2021 04:14:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39486) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lM4pM-0001zG-5s for qemu-devel@nongnu.org; Tue, 16 Mar 2021 04:13:20 -0400 Received: from mail-ej1-x62d.google.com ([2a00:1450:4864:20::62d]:42774) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lM4pG-0007is-66 for qemu-devel@nongnu.org; Tue, 16 Mar 2021 04:13:19 -0400 Received: by mail-ej1-x62d.google.com with SMTP id c10so70527873ejx.9 for ; Tue, 16 Mar 2021 01:13:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=zFD0OwTu4zg933ZUYHx0OWDYQrleMrwwHf8amxbXto8=; b=TjXAtEIezL69YD/82/M4vL/KKwrqA3Q6uVGD+2Lq0kBKycszUG+9GgVQp0Mq3JYjC5 S1BrnKo/CH3Mp4kCnoR8L+phq470SYBuReqGBUL2KVDtO9snLEEVn6LobL0ZkggBXNnt Ul3z3KTD3+QYnFvThMrF1KgTbDUafFwQOa6xEjOnI559bw0nryZM8tbvFTFp6QEgAyvW 3XIZQYdXfuBPS5ayu/k0SZk8oN2gbMm0qg4d9NDR8x47SpoAzSJFR2InQc3HHOKHc+yp uhqIzbngx8GdVgc8SHwBFt3gJjuBQRlDSvpip4tdQCZ+eQeTvLPnzUR2YoMUkY80Z1yJ A5tQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=zFD0OwTu4zg933ZUYHx0OWDYQrleMrwwHf8amxbXto8=; b=gG8d44CGJZ9dKQMbw+jmMYYYOmJcDxo6VldJynIjNg1et2PZ5vDm5UK9Ekw0naSE+B 818F6AgtCvIYxnaVgLqmUONvtiIpBqQIZkEYdAYh3+2jua0X87J38xXSgYMz3r65serd l1qTDWx/KMLV/qBeButlXcwOILubXweRtYpnUUL47XBPIZKePbLGr0C2n8UWMg8RutTu NgOOBsAGA9ElQRsvzAkII322I9wZROk+PoV6EdN2R7BWpa0f+vEmbUZSp5ZkKVV3ZlPv kOy3OCMQ+AuhHvsDBMOrFzn4gKdZSXFB4yNCc8RBL3Ba3uisgmIA6QU39IQD0FdnOsJN ai7g== X-Gm-Message-State: AOAM532t15kmjnZHvcnD4dtcKOxvlucL8cbM8W5pROcxy5wcsFBSl34w cCLSwK5XJGznn0t+xPJz/1/7/G6A+E4= X-Google-Smtp-Source: ABdhPJzpqrzTySRm1UB4njLSouWTnq8IxOFiDdD5G7DaKMz/VjzNhChC95gZtp5B6Q9S5S30yvfmDg== X-Received: by 2002:a17:906:d291:: with SMTP id ay17mr27819729ejb.308.1615882391578; Tue, 16 Mar 2021 01:13:11 -0700 (PDT) Received: from pek-vx-bsp9.wrs.com (ec2-44-242-66-180.us-west-2.compute.amazonaws.com. [44.242.66.180]) by smtp.gmail.com with ESMTPSA id a17sm5620333ejf.20.2021.03.16.01.13.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Mar 2021 01:13:11 -0700 (PDT) From: Bin Meng To: Jason Wang , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Peter Maydell , qemu-devel@nongnu.org Subject: [PATCH v3 02/13] net: Add a 'do_not_pad" to NetClientState Date: Tue, 16 Mar 2021 16:12:43 +0800 Message-Id: <20210316081254.72684-3-bmeng.cn@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210316081254.72684-1-bmeng.cn@gmail.com> References: <20210316081254.72684-1-bmeng.cn@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::62d; envelope-from=bmeng.cn@gmail.com; helo=mail-ej1-x62d.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: , 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é --- Changes in v3: - add a comment to 'do_not_pad' include/net/net.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/net/net.h b/include/net/net.h index 919facaad2..f944731c18 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; /* do not pad to the minimum ethernet frame length */ QTAILQ_HEAD(, NetFilterState) filters; }; From patchwork Tue Mar 16 08:12:44 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 12141409 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 2677BC433DB for ; Tue, 16 Mar 2021 08:14:49 +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 A9F2E64FD1 for ; Tue, 16 Mar 2021 08:14:48 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A9F2E64FD1 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]:41922 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lM4ql-0004DZ-P6 for qemu-devel@archiver.kernel.org; Tue, 16 Mar 2021 04:14:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39478) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lM4pL-0001yP-Q9 for qemu-devel@nongnu.org; Tue, 16 Mar 2021 04:13:19 -0400 Received: from mail-ej1-x62e.google.com ([2a00:1450:4864:20::62e]:40705) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lM4pJ-0007kA-6P for qemu-devel@nongnu.org; Tue, 16 Mar 2021 04:13:19 -0400 Received: by mail-ej1-x62e.google.com with SMTP id ci14so70454104ejc.7 for ; Tue, 16 Mar 2021 01:13:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=EvxFf3WBo9tH1ZnVpWzayiw+8oX0XTNgDqvwoPFMymg=; b=udz+Ve9i2RI41/tO+ibxQc94qD33cboNhKOHJq2WGRnWuunUq0sGr7d1wsQHN7lz8N nWgUAn5/Fg1C56QwR6ILTRQ0ooqfcdcHSL+YqzxWu/2BXzUH9zd5dsLuPGhwqxg8+s23 KYz7xnI7CW+5cIIRkuxTr+GR+iumLilegcq9CtXb8wR0zLJ5mi1ObhkH/HVG7tIum9KS uFuk/XEkMXBq1zc1kxp1Tvuct3GjbcGa2WnTCAJYYFfSVZmoTFEYo4PTRubfnRKidiJD 8Yt48d3wdqHdeAWglY+qndE4KP498uoP4PS5U8YQQrGt3nrBiPpO2qUKd3wgfa9EGBVc ceow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=EvxFf3WBo9tH1ZnVpWzayiw+8oX0XTNgDqvwoPFMymg=; b=mQxeLr784fjAhigbWXrNHGuN3JaEd6CciHRwogSRMAJslV685hWvVqluymmQpAUOF0 v+ku6WB+XuBcfzOJo4FAVlxjFgrkTOCX/4YfTHnbbx6JnB9HwzgbjTOp2vTBPxtRXc+k yVNFDlj3WviwykUoMzDORYpkxsLtggweiCz/kNQoJTAvkqiNBUJz0T0lwK6RhHh5z99T lGififti+0Ua9ku/UykWRe7VdUOoPw02W6GRs59+852MUwsT/KOw378SYAgGZ/YNrEm0 CuVpIklkDRCyDcR6NjF49YVGVaStXMpwM9PSiHb0PKwXjstQC27WU7jhFaRoit/EHjxa KaFQ== X-Gm-Message-State: AOAM531PnMiURC8HRZJbq1TqK8bTAB7J/c/OpWDY7AUSKeGfiwTfR4CF G3uMnAVV3CFH2cotqOVTNaE= X-Google-Smtp-Source: ABdhPJwfB2zFa6p6GaWW/OOTBsCMIkoGuE4S9YjLs5G+zNGm+jEpFkk6/FjqlBtl3Zt03QjGBdClxw== X-Received: by 2002:a17:907:76b3:: with SMTP id jw19mr27888212ejc.202.1615882395567; Tue, 16 Mar 2021 01:13:15 -0700 (PDT) Received: from pek-vx-bsp9.wrs.com (ec2-44-242-66-180.us-west-2.compute.amazonaws.com. [44.242.66.180]) by smtp.gmail.com with ESMTPSA id a17sm5620333ejf.20.2021.03.16.01.13.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Mar 2021 01:13:15 -0700 (PDT) From: Bin Meng To: Jason Wang , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Peter Maydell , qemu-devel@nongnu.org Subject: [PATCH v3 03/13] net: slirp: Pad short frames to minimum size before send Date: Tue, 16 Mar 2021 16:12:44 +0800 Message-Id: <20210316081254.72684-4-bmeng.cn@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210316081254.72684-1-bmeng.cn@gmail.com> References: <20210316081254.72684-1-bmeng.cn@gmail.com> Received-SPF: pass client-ip=2a00:1450:4864:20::62e; envelope-from=bmeng.cn@gmail.com; helo=mail-ej1-x62e.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: , 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 like SLiRP/TAP, we change to pad short frames before sending it out to the other end, if the other end does not forbid it via the nc->do_not_pad flag. This ensures a backend as an Ethernet sender does not violate the spec. But with this change, the behavior of dropping short frames from SLiRP/TAP interfaces 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 is still supported and short frames can still pass through SLiRP/TAP. 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 --- Changes in v3: - use the pad_short_frame() helper for slirp net/slirp.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/net/slirp.c b/net/slirp.c index be914c0be0..62a54d45dc 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,14 @@ static ssize_t net_slirp_send_packet(const void *pkt, size_t pkt_len, void *opaque) { SlirpState *s = opaque; + uint8_t min_pkt[ETH_ZLEN]; + + if (!s->nc.peer->do_not_pad) { + if (pad_short_frame(min_pkt, pkt, pkt_len)) { + pkt = min_pkt; + pkt_len = ETH_ZLEN; + } + } return qemu_send_packet(&s->nc, pkt, pkt_len); } From patchwork Tue Mar 16 08:12:45 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 12141411 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 4EDB8C433DB for ; Tue, 16 Mar 2021 08:16:28 +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 DB6E464FD1 for ; Tue, 16 Mar 2021 08:16:27 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DB6E464FD1 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]:48918 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lM4sM-000734-Mt for qemu-devel@archiver.kernel.org; Tue, 16 Mar 2021 04:16:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39498) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lM4pO-00023v-E7 for qemu-devel@nongnu.org; Tue, 16 Mar 2021 04:13:22 -0400 Received: from mail-ej1-x633.google.com ([2a00:1450:4864:20::633]:36096) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lM4pM-0007mP-Ml for qemu-devel@nongnu.org; Tue, 16 Mar 2021 04:13:22 -0400 Received: by mail-ej1-x633.google.com with SMTP id e19so70701500ejt.3 for ; Tue, 16 Mar 2021 01:13:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=9ZQ6AOd1nro/moZocOdsvBQpIZ609NYlDfUQCOQCk48=; b=OHGwo+SPUr4fnedP77sbQ+kKFi3+5N1HzSbQJ/0VKHpqN7m8QcMoWlpR5zlsLc6Q/3 8/YaOimYxwqvP5RgNJQouKaUk1Z5BcPmtbObih/uFQna+FScmk3riEHm228qn4pnriob ACdWGXTBNZSO23EnsLLjW8DJ8vJv21SbbvXD/HZzn95EBQqia5xkJN+/QvVfposfcuOJ 0hrejphNO1MdZgajSU5/0pQ3uNHpYM2CvaM65Nqj1iy9kBR2K1wFYcDy5KrwRtsvMbAh 6ZW7CALDVHP+1mIApPYkq3OT2jx0N8jQpuhxRAd3pXoUjWdbViQLJRiWMOjgixS7g/0l usnQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=9ZQ6AOd1nro/moZocOdsvBQpIZ609NYlDfUQCOQCk48=; b=eIB6g8h1ueLLgEI8yhbn8gVjc/whDpBNo2kX3HtZKs8NCQueiXK2AsrtJmJpqGtdoA jf7lHMNfQCY/sDFmZMQApuVrJipgiSWfPCVLWCsEnptKozApXzIjhYvMKmoolZh1gbec 6oGnPfIB0EnVb14uMHuuziHnUWJAqvemAagXQJr08bAwD+YoQHbNoagXCjpQognftpF1 gehQTmBy0ss0gDpCe+3RYy6n5k7i3L6ijjBQ/GVB5q0T1ZYQWCjfkDAu0WII/yYMzXFJ KREmtwsckK4tVNrLupNlSMjUq9juCon0UJT/xesCVbSvV94gNC9JM+IxMflEAUEy2AQx SMZQ== X-Gm-Message-State: AOAM533bbxOoMyeHuOsYv9KDGC8h9zcY+V+YFRhMv5+xwAi/FJlTn9up nJ3spyL/EqrIgfXIr5PAo7k= X-Google-Smtp-Source: ABdhPJymblS7j+1W7dDToE9CqFPbb0Gd0563e/GbYsSoJhI4caCAbrt0BBhTOt3EB6Jj1mMaGk64IA== X-Received: by 2002:a17:906:f6ce:: with SMTP id jo14mr28625514ejb.476.1615882399274; Tue, 16 Mar 2021 01:13:19 -0700 (PDT) Received: from pek-vx-bsp9.wrs.com (ec2-44-242-66-180.us-west-2.compute.amazonaws.com. [44.242.66.180]) by smtp.gmail.com with ESMTPSA id a17sm5620333ejf.20.2021.03.16.01.13.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Mar 2021 01:13:18 -0700 (PDT) From: Bin Meng To: Jason Wang , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Peter Maydell , qemu-devel@nongnu.org Subject: [PATCH v3 04/13] net: tap: Pad short frames to minimum size before send Date: Tue, 16 Mar 2021 16:12:45 +0800 Message-Id: <20210316081254.72684-5-bmeng.cn@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210316081254.72684-1-bmeng.cn@gmail.com> References: <20210316081254.72684-1-bmeng.cn@gmail.com> Received-SPF: pass client-ip=2a00:1450:4864:20::633; envelope-from=bmeng.cn@gmail.com; helo=mail-ej1-x633.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: , 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 --- Changes in v3: - use the pad_short_frame() helper for tap net/tap-win32.c | 9 +++++++++ net/tap.c | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/net/tap-win32.c b/net/tap-win32.c index 2b5dcda36e..e044a5ca35 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,17 @@ static void tap_win32_send(void *opaque) uint8_t *buf; int max_size = 4096; int size; + uint8_t min_pkt[ETH_ZLEN]; size = tap_win32_read(s->handle, &buf, max_size); if (size > 0) { + if (!s->nc.peer->do_not_pad) { + if (pad_short_frame(min_pkt, buf, size)) { + buf = min_pkt; + 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..aa69cf1c73 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_pkt[ETH_ZLEN]; size = tap_read_packet(s->fd, s->buf, sizeof(s->buf)); if (size <= 0) { @@ -200,6 +202,13 @@ static void tap_send(void *opaque) size -= s->host_vnet_hdr_len; } + if (!s->nc.peer->do_not_pad) { + if (pad_short_frame(min_pkt, buf, size)) { + buf = min_pkt; + 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 Tue Mar 16 08:12:46 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 12141413 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 422AAC433DB for ; Tue, 16 Mar 2021 08:16:33 +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 EC31C64FD1 for ; Tue, 16 Mar 2021 08:16:32 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EC31C64FD1 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]:49436 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lM4sR-0007GI-NR for qemu-devel@archiver.kernel.org; Tue, 16 Mar 2021 04:16:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39522) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lM4pR-0002B2-Hi for qemu-devel@nongnu.org; Tue, 16 Mar 2021 04:13:25 -0400 Received: from mail-ej1-x62a.google.com ([2a00:1450:4864:20::62a]:38723) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lM4pP-0007oX-So for qemu-devel@nongnu.org; Tue, 16 Mar 2021 04:13:25 -0400 Received: by mail-ej1-x62a.google.com with SMTP id mj10so70622120ejb.5 for ; Tue, 16 Mar 2021 01:13:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=p/MLTxeMfbETxV9ik8tSzu3enBcQaEzeh7XBZdElKyw=; b=DosBdXAbRLpVXIbvw3f35QjOeBFpNLrn1UCxJlEpR7TK9DgzCxH8xQNomb3v7UNymm hBT/vVrCaA6ZuLu/kfKa4njoSbmKL2YhHkJoAJdJ/6vzTGnQhnC107Yn9Abolgtqcqxj nyi2I2JtMFDtG+uiG8InMAH8ZbKHoKQ0MR1UtWZgpOoueISgEv7csuiuCITa3GOyt9Za vztF9J0iOEhbOeVMFlU6z5vhQq9iAQ+8P82PB1YMGI/quJjzUFqk7BItQcuqWJ4tah9i pR/IsPW8eUgEPOni9QvjLlA6UGHCrv/BpPZackmbzthNfGDanmzVMNiDaH5lzPGz+dyb cipw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=p/MLTxeMfbETxV9ik8tSzu3enBcQaEzeh7XBZdElKyw=; b=LlUlKmq8S3BaO7yFMpFeD3mtALjZc5AAV2pOWgxaVvEtk5diebN5g9uFwPhvjdRIK1 bFuN5nmHLo3Q6LLFkTQ86XjDx5pfrlUPNzOIBJ6e5S9hlNRh+TXn1qhFdA6TWXG4+356 Yf8M2rMz/3PFP0vN67jnkM5U0Tdc10Avy80uctu3XE6jrr6n7f8VRT9X1ttsZrcwJmHI Z2XXMgtr5P32aJ8wudSDkTUeNcg5C2Bt/8SmdvRqwkxNEAbtwlDANRjuKwDpTdGEoZPL IRtygFzxtbflN89g+cvfSkzGzkUmbWzoDvoqpkqIpk0Tmvg4cPOq3zqit1vd/pr1M+ce TGpQ== X-Gm-Message-State: AOAM530pjMHHvkuSlfWdnogaNN/KFnUHwxabg5B02fcL2DL2ZU835+Yy A6Lc5t5fIvmAp8dft9jdLeQ= X-Google-Smtp-Source: ABdhPJwihCZznnU86yDZyNG1aqxXbaC8fKB+7RjaUzCEHxiwnCaBOQfad4jIb3FH0UqX/916F3P5zw== X-Received: by 2002:a17:906:a049:: with SMTP id bg9mr28326174ejb.186.1615882402677; Tue, 16 Mar 2021 01:13:22 -0700 (PDT) Received: from pek-vx-bsp9.wrs.com (ec2-44-242-66-180.us-west-2.compute.amazonaws.com. [44.242.66.180]) by smtp.gmail.com with ESMTPSA id a17sm5620333ejf.20.2021.03.16.01.13.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Mar 2021 01:13:22 -0700 (PDT) From: Bin Meng To: Jason Wang , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Peter Maydell , qemu-devel@nongnu.org Subject: [PATCH v3 05/13] hw/net: virtio-net: Initialize nc->do_not_pad to true Date: Tue, 16 Mar 2021 16:12:46 +0800 Message-Id: <20210316081254.72684-6-bmeng.cn@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210316081254.72684-1-bmeng.cn@gmail.com> References: <20210316081254.72684-1-bmeng.cn@gmail.com> Received-SPF: pass client-ip=2a00:1450:4864:20::62a; envelope-from=bmeng.cn@gmail.com; helo=mail-ej1-x62a.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: , 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 --- (no changes since v1) 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 Tue Mar 16 08:12:47 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 12141421 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 65C0CC43381 for ; Tue, 16 Mar 2021 08:18:23 +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 0B37F65014 for ; Tue, 16 Mar 2021 08:18:23 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0B37F65014 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]:57450 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lM4uE-0002Ak-2J for qemu-devel@archiver.kernel.org; Tue, 16 Mar 2021 04:18:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39550) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lM4pW-0002NH-EH for qemu-devel@nongnu.org; Tue, 16 Mar 2021 04:13:30 -0400 Received: from mail-ej1-x636.google.com ([2a00:1450:4864:20::636]:40715) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lM4pT-0007qZ-If for qemu-devel@nongnu.org; Tue, 16 Mar 2021 04:13:30 -0400 Received: by mail-ej1-x636.google.com with SMTP id ci14so70454805ejc.7 for ; Tue, 16 Mar 2021 01:13:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=1LO77muo6uGLWBQ/Q1tDDogiUiNfdS9t/fgLwmMmfXA=; b=bDdORKXo13XUbF+z//V7tp0ep5qiMpooFaIhljlbb1LCJJICEJYSiHddR8xQID5uc4 TFAl3SSsJLtvVBRyPQC6AaMFAcFpkgGUzTkaiMZKqKeDsvoVnY9PdTTQNoP8j4qS5qEx N0X2AsG7Hh/ieaM/veepI03TLi+AWEDwO6TJFgcaKI8eNjMEJ2rG0YFqj1XixNx1Wt/C XmYLUOtQJ/P+gT//Jr55HxWC7aWV2MArYgacWjvKmykTWI1cJ0spQdiNXTsurGGliV3T eXgoq9pNH+ZqJgPEoQajhKM1XHBEhYjau80ZvbMq6UARnrz6D82tppYo5byTN5smTyZG oaKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=1LO77muo6uGLWBQ/Q1tDDogiUiNfdS9t/fgLwmMmfXA=; b=D9C3IA5L8MeoTYXAaniqLygF7EWY+zKKShqwoId+XrMJPHnjHSAz9LBotuQ9prMIlg NcuOZD6Mce7heL+d7P82wKuOlYJ+YXAU3uv+Uv028uacluN8K1ohbBg2FugBhDepuceU TMsMbocVMI9sK0lupK7k0hR+9RXbex2S9Z2/LazuSIk26NM9z3nirkdYBN0aJcUUJeyM RoG3aml/8nwjGPcstWV59XyotiPr6W/n12qqkOwyZg3BQKb/Pv31VLxswSEk3jBWzNbg t5DW/pV4JJgvfg8cWVzZSe7iOpBY8Od+irlxdkJzxPoVQuFxwdd/5UffBpYw/caAKIy4 FDkQ== X-Gm-Message-State: AOAM533HMT3wh+RPCBx95XEP2mG8cUqOPb69ieNZOQbPiOvTE84hImai oeH5+lygqb57YCDY4QL0bBw= X-Google-Smtp-Source: ABdhPJyOVGYZNZNr5nOuPCqmuVNDC46BS9+QFEzk5W1+84YKG03vz525PZto3BJzUIXYCxtMm5lctQ== X-Received: by 2002:a17:907:76bb:: with SMTP id jw27mr28079290ejc.366.1615882406305; Tue, 16 Mar 2021 01:13:26 -0700 (PDT) Received: from pek-vx-bsp9.wrs.com (ec2-44-242-66-180.us-west-2.compute.amazonaws.com. [44.242.66.180]) by smtp.gmail.com with ESMTPSA id a17sm5620333ejf.20.2021.03.16.01.13.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Mar 2021 01:13:25 -0700 (PDT) From: Bin Meng To: Jason Wang , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Peter Maydell , qemu-devel@nongnu.org Subject: [PATCH v3 06/13] hw/net: e1000: Remove the logic of padding short frames in the receive path Date: Tue, 16 Mar 2021 16:12:47 +0800 Message-Id: <20210316081254.72684-7-bmeng.cn@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210316081254.72684-1-bmeng.cn@gmail.com> References: <20210316081254.72684-1-bmeng.cn@gmail.com> Received-SPF: pass client-ip=2a00:1450:4864:20::636; envelope-from=bmeng.cn@gmail.com; helo=mail-ej1-x636.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: , 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 --- (no changes since v1) 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 Tue Mar 16 08:12:48 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 12141423 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 287CCC433DB for ; Tue, 16 Mar 2021 08:18:28 +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 D067A64FD9 for ; Tue, 16 Mar 2021 08:18:27 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D067A64FD9 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]:58000 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lM4uI-0002Ny-Vy for qemu-devel@archiver.kernel.org; Tue, 16 Mar 2021 04:18:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39574) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lM4pY-0002T5-SN for qemu-devel@nongnu.org; Tue, 16 Mar 2021 04:13:33 -0400 Received: from mail-ed1-x535.google.com ([2a00:1450:4864:20::535]:43975) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lM4pX-0007sd-68 for qemu-devel@nongnu.org; Tue, 16 Mar 2021 04:13:32 -0400 Received: by mail-ed1-x535.google.com with SMTP id e7so20378290edu.10 for ; Tue, 16 Mar 2021 01:13:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=fYxXpZBSx/3UmjTv+pgNgyANPy1MdJ+W91DIofp+gdA=; b=O+x53o3xA61i5ErI0QZrdKPGWVyv/bKT+57fHZheOETDZ09T3dY5facDsNJsOr5jo6 fpcm08Q3oCAmpAavvJUKMhF8coPI9+LnYF2EPF+J6QJ+nvwYGnUVvAVqx36Rie8vmwjR EHkN/3zhLN85X9C7QQzWieMMxDYptj8kP3UvbkCt3LU3gmW8qPuynl3mXErJQb2CnYmB 4Ldwk2Pe944vDt/t5DELVpEDtqlPcY0IpqYz1P1A2lP679N3LfWDQiSLspMa+xHB9QG7 hzFFf61hhX0wnS4LlhiogNITfY9VGhHjNUbmd3A/Qv8DZfsSo3hqKFtlGQygWtUOgIfC //lQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=fYxXpZBSx/3UmjTv+pgNgyANPy1MdJ+W91DIofp+gdA=; b=GewLtFePoZfiFdVkfJcbwxnFFN4E0T3xPXuj2K3H+S8zzqXr8L1kvUkYD5eNXRWd84 0RXeGQblmS5aXDLKXztx15xMR5G3EKIsnAEIy7RgcEWA2LKk+NQHOjfDQImBbqf2yDYa 9fJ9H/gderZvrjuS45IqPHbe+TqV4PY76gx+oebuxQijvNwHUdnyjiJButFZ3CI6CU3k cyzU8S/99htP2aS3tpx/VNyuHMiYWNoisTP6GcPyVJHEY8+AUuoLL5K/7I+80hzGMimD c9ZOPJX7Qg5XwWLIAikzk7tuuM9GOq7z/AXWfeOP7ZKNvVdwpHGDHcYO09QUCFWKIZBv 3J8g== X-Gm-Message-State: AOAM530mxK2T8dV0p8U5XFmdV+NtvjAROCp1SlPo5JvE2QNhDSUdFGPR DtK2SrUXQICk4hyX2kfj6i0= X-Google-Smtp-Source: ABdhPJyvzTs1zfM8gG6cYx0Yy2ByW/xVTPUg69+LlZGZUkk3VWkk1AW1OGxMq0P1Van5oAsSQFxhjQ== X-Received: by 2002:aa7:c9c8:: with SMTP id i8mr34087745edt.193.1615882409968; Tue, 16 Mar 2021 01:13:29 -0700 (PDT) Received: from pek-vx-bsp9.wrs.com (ec2-44-242-66-180.us-west-2.compute.amazonaws.com. [44.242.66.180]) by smtp.gmail.com with ESMTPSA id a17sm5620333ejf.20.2021.03.16.01.13.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Mar 2021 01:13:29 -0700 (PDT) From: Bin Meng To: Jason Wang , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Peter Maydell , qemu-devel@nongnu.org Subject: [PATCH v3 07/13] hw/net: vmxnet3: Remove the logic of padding short frames in the receive path Date: Tue, 16 Mar 2021 16:12:48 +0800 Message-Id: <20210316081254.72684-8-bmeng.cn@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210316081254.72684-1-bmeng.cn@gmail.com> References: <20210316081254.72684-1-bmeng.cn@gmail.com> Received-SPF: pass client-ip=2a00:1450:4864:20::535; envelope-from=bmeng.cn@gmail.com; helo=mail-ed1-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: , 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 --- (no changes since v1) 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 Tue Mar 16 08:12:49 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 12141415 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 66711C433DB for ; Tue, 16 Mar 2021 08:16:45 +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 1EB5C64FCF for ; Tue, 16 Mar 2021 08:16:45 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1EB5C64FCF 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]:50538 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lM4se-0007jl-5T for qemu-devel@archiver.kernel.org; Tue, 16 Mar 2021 04:16:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39586) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lM4pc-0002Wf-T8 for qemu-devel@nongnu.org; Tue, 16 Mar 2021 04:13:37 -0400 Received: from mail-ed1-x52f.google.com ([2a00:1450:4864:20::52f]:43970) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lM4pa-0007v6-QO for qemu-devel@nongnu.org; Tue, 16 Mar 2021 04:13:36 -0400 Received: by mail-ed1-x52f.google.com with SMTP id e7so20378466edu.10 for ; Tue, 16 Mar 2021 01:13:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=6g2fqKS4zXXBGv4/b0aMoziWaN2OpwusnZLdMFaob9Y=; b=LnkF9+4KoT8onqkme3Uvc3XVPXxV9ImLtdoQ4JQEqzFHj5zrHA87q6Yi6vaW2dQ6MG frNq8z+MwQhHYkbFgsj6XyfknGBy1yGEeI+xaXaAtTuBdWJcfjxCD5Q4jMu0LOWSXRct pPU6X/gb22XNFbriJe3Pf1rrfoZf7nSgxt/6utI3QNY9dhXg/tzNreg3N1AUlDUltgHS N98U1Ffz+nMP16rcZkC6FFZtIffQsmK74jTdrPSjUU7ZuanzI8Lf7vg6f2T9y6JQe28k v276ai3QESFOCWQsEpUjTiWTstuIQUIwcRgCohekOf/l0gJnyN0LecD9IwHOPZwjoC7W IU5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=6g2fqKS4zXXBGv4/b0aMoziWaN2OpwusnZLdMFaob9Y=; b=bABtRQ2Pw0jXW53eNFUaRWYnoRWv8BH2yE2kZDDFfisZZcFy5hBbkTEeuzfKhz7Mx8 T7o0iayThAZihEq4le4yGgdjRIxI2OL6aMa7ZTgFhNhd61Euux46l6QJgJb9cW43Bk2n tUW8qxO62O6y07Hu+ZDvYohHy7jZCeL2d8fGZJGbIjrSXx0YgrwsAzvMsu6Uul1YqtWj 6BSl0Uq6VxjMroUIE9/Z2fXWsP/kig3Ctl1/lx37qARxW1oRl+acToSSL+JG/pOv2lKU 7k0qRwz05h7GxD5qKLYTZJ8uzPhCvxzaJavGZVwUcVu/S1BY8/OlLBo8cRpFRRL1g/+M Y3mg== X-Gm-Message-State: AOAM532vz/69/OxI0tYu5bqtbdHmox2C6EPh4wRnV6DgZLWiZAakmWVK mQQVtdNRe7Espgn3RzzLaSs= X-Google-Smtp-Source: ABdhPJxP2B+ksJEHTg7o307tRov/6YgCzVFrrHBekxCeo+Y4V4mRR2m2wGdkwBiLa0t4BTBhtdFEBQ== X-Received: by 2002:aa7:c804:: with SMTP id a4mr34046081edt.251.1615882413599; Tue, 16 Mar 2021 01:13:33 -0700 (PDT) Received: from pek-vx-bsp9.wrs.com (ec2-44-242-66-180.us-west-2.compute.amazonaws.com. [44.242.66.180]) by smtp.gmail.com with ESMTPSA id a17sm5620333ejf.20.2021.03.16.01.13.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Mar 2021 01:13:33 -0700 (PDT) From: Bin Meng To: Jason Wang , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Peter Maydell , qemu-devel@nongnu.org Subject: [PATCH v3 08/13] hw/net: i82596: Remove the logic of padding short frames in the receive path Date: Tue, 16 Mar 2021 16:12:49 +0800 Message-Id: <20210316081254.72684-9-bmeng.cn@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210316081254.72684-1-bmeng.cn@gmail.com> References: <20210316081254.72684-1-bmeng.cn@gmail.com> Received-SPF: pass client-ip=2a00:1450:4864:20::52f; envelope-from=bmeng.cn@gmail.com; helo=mail-ed1-x52f.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: , 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 --- (no changes since v1) 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 Tue Mar 16 08:12:50 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 12141425 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 51825C433E0 for ; Tue, 16 Mar 2021 08:20:23 +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 E9A5064FEA for ; Tue, 16 Mar 2021 08:20:22 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E9A5064FEA 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]:37834 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lM4wA-0005db-0d for qemu-devel@archiver.kernel.org; Tue, 16 Mar 2021 04:20:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39600) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lM4pg-0002ag-9R for qemu-devel@nongnu.org; Tue, 16 Mar 2021 04:13:40 -0400 Received: from mail-ej1-x634.google.com ([2a00:1450:4864:20::634]:37759) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lM4pe-0007wM-9O for qemu-devel@nongnu.org; Tue, 16 Mar 2021 04:13:39 -0400 Received: by mail-ej1-x634.google.com with SMTP id bm21so70596646ejb.4 for ; Tue, 16 Mar 2021 01:13:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=+3JML/eQ0iQLfY9F7pZALIkT5ONsUMtEeW41N50tDXU=; b=GylkHYzH8OgJ/wB9fPjQ8GE3IqpQtRe1akmFIO3jnpecfFTLRcOGDh2f+z9PkT7cgJ GHOwNYyaLu1hFPqLiOc3xKrLrpNoWRT2ejUegazEjWzhm1fVvaKl5wW4hele611L36W1 rOAH5BoEG2Ki6nVbkoHAV2M45+LFp2/B/RV4hyY7QjQ0TORF1T/wyCtrFD5hUbPiLuwd hIOU7EL/KxoK8d0HtmNCOXWrwrkk6W3zTVqa6PJSGUQO8gfgE5AR9SkNS71JbUA0be2M p3l4wlUNDHH44hjJxV6Xf6em0ne+Et3t6ciaBFYMhLiLFIGl9+THCrOFbCCQ0SOrhFLu fM0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=+3JML/eQ0iQLfY9F7pZALIkT5ONsUMtEeW41N50tDXU=; b=hskfpyDwHTlVEkSzeozmXGW9lhmBMMuosxpBr4rG+B3rlHXocVqrDG3cf/fNZfPDSC djMiPlyNhJwNOxBcqE/ypsRJ7zNn15Uyz4tRBnHn1qp6agUTQlu4zAejaOIXtytgfkKI B1nEm9a7d2Z+xguBvIfaSokRFPnuO8CJcHFyNx4Yrty4IKgLJJEyaw5Y+xfTpEoXR2ne V07jooppVr96fDbcBbGeWbq4zvgQH0blOzC7o0rumjUlfj/nYueEJpmX9Vqt19dxPdwx Pvxd6xt12FrBjclnkm4cifYzeVyCkL05ZWE3mMAAAog+nei3EW5IUNMeVh4WO2GUm8ps 5wTQ== X-Gm-Message-State: AOAM532rVheiVt+dSK67HRtyxXh7R+BEKgop/Do3wx63lhUxHzANLsxv m+Xp4oVr81neOYEH/yog720= X-Google-Smtp-Source: ABdhPJw7xMdrwRcSFqvIS2MWPwRxvHXC4UulBHlLuKYFi/YUEa1Oh8swHacMPYG7g4xP10mNJ9BpcQ== X-Received: by 2002:a17:906:fcd2:: with SMTP id qx18mr7370758ejb.327.1615882417032; Tue, 16 Mar 2021 01:13:37 -0700 (PDT) Received: from pek-vx-bsp9.wrs.com (ec2-44-242-66-180.us-west-2.compute.amazonaws.com. [44.242.66.180]) by smtp.gmail.com with ESMTPSA id a17sm5620333ejf.20.2021.03.16.01.13.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Mar 2021 01:13: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 v3 09/13] hw/net: ne2000: Remove the logic of padding short frames in the receive path Date: Tue, 16 Mar 2021 16:12:50 +0800 Message-Id: <20210316081254.72684-10-bmeng.cn@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210316081254.72684-1-bmeng.cn@gmail.com> References: <20210316081254.72684-1-bmeng.cn@gmail.com> Received-SPF: pass client-ip=2a00:1450:4864:20::634; envelope-from=bmeng.cn@gmail.com; helo=mail-ej1-x634.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: , 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 --- (no changes since v1) 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 Tue Mar 16 08:12:51 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 12141427 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 051CFC433DB for ; Tue, 16 Mar 2021 08:20:29 +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 9BC1A64FEA for ; Tue, 16 Mar 2021 08:20:28 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9BC1A64FEA 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]:38380 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lM4wF-0005qm-NN for qemu-devel@archiver.kernel.org; Tue, 16 Mar 2021 04:20:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39664) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lM4pk-0002dl-Q6 for qemu-devel@nongnu.org; Tue, 16 Mar 2021 04:13:46 -0400 Received: from mail-ed1-x52f.google.com ([2a00:1450:4864:20::52f]:39898) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lM4ph-0007yu-Py for qemu-devel@nongnu.org; Tue, 16 Mar 2021 04:13:44 -0400 Received: by mail-ed1-x52f.google.com with SMTP id bf3so20364592edb.6 for ; Tue, 16 Mar 2021 01:13:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=gFyCn7AAnq6rtrT5DhQ5aWP+2dV02IyJ8TpsxTaNTQs=; b=S1A7Bk2Y3BsukEMI7Rw7m0+LFk9sX3BGnpPTC8MP47XxWiFM9wi4soTi9OVkhOzuNk geh7Fcw3KGO66zvGK3SsUlJOCj5vT/UaNMCK9iY1jXcPHwias/nYtDj6uSf/z8W+Mrvj MsxhG6TXYifGz3o3nGOTaWytBIJ/7uJfwplcRun3w8v1HHQeldifpLQqAoxnS/nYOUvo mipoqZlkzdubG6HzY4r8+Bo2cSTgRbd2dJMHEpPqvW9kmOJMb7DxDS8P9Z5dXRTEspK0 0DfEg2drpmOyQkVBg+k404iegIGPGHK261ugeS7VV6FYGnsVe/zF6JYJlR3wiyV/safK KLLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=gFyCn7AAnq6rtrT5DhQ5aWP+2dV02IyJ8TpsxTaNTQs=; b=cyo0skVsHf0jRzLxrFyJHvdWbzM8ZcWJ+xC8uEHhXQE6UwQ9jT2pzCYZd1s7tRiEaw DzWsJ3F/0irmb9irdOUcjQzobHV1w1eMhy2bz2ZvRXtB1DRrPKyO9Twt5FzyRr6Xnkaf 2SKWtWlChip1c04WdEbmVq5t4PoVXPHhno/BnlB6+FfVTj/Vdoa9XgHIjYr2S5aqNF/E ySk6upvo60ecv7VzlwLf/dsk/e27lrzQ/Qqm5czxzlyMSlA0u3T3cd/HwferPdsdrMf4 +4rxHeYCAH1QPI9Yg19if8iT7M3HIAPLN86WcLsAKR22CLlRxXaav8GLTTkJgyfNdwdh oMdg== X-Gm-Message-State: AOAM531COoQPgyuwi6JUtQa7eBvqfvmgtKqgyhD6/KXZTWT9AABjOMGf keOm+SvSrdVaWI6Dd3oEc0Pjq1ekMYM= X-Google-Smtp-Source: ABdhPJwwQigPCUtcoRuN73hmOMIVrYwVZc+JUELmKAgtL5hBY74pbBJvgnfNIfusHxkvSVgwsda+GA== X-Received: by 2002:a05:6402:8c2:: with SMTP id d2mr35228060edz.4.1615882420569; Tue, 16 Mar 2021 01:13:40 -0700 (PDT) Received: from pek-vx-bsp9.wrs.com (ec2-44-242-66-180.us-west-2.compute.amazonaws.com. [44.242.66.180]) by smtp.gmail.com with ESMTPSA id a17sm5620333ejf.20.2021.03.16.01.13.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Mar 2021 01:13: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 v3 10/13] hw/net: pcnet: Remove the logic of padding short frames in the receive path Date: Tue, 16 Mar 2021 16:12:51 +0800 Message-Id: <20210316081254.72684-11-bmeng.cn@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210316081254.72684-1-bmeng.cn@gmail.com> References: <20210316081254.72684-1-bmeng.cn@gmail.com> Received-SPF: pass client-ip=2a00:1450:4864:20::52f; envelope-from=bmeng.cn@gmail.com; helo=mail-ed1-x52f.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: , 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 --- (no changes since v1) 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 Tue Mar 16 08:12:52 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 12141433 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 42CCDC433E6 for ; Tue, 16 Mar 2021 08:22:13 +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 C0F7964FEA for ; Tue, 16 Mar 2021 08:22:12 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C0F7964FEA 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]:46196 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lM4xv-0000gY-SX for qemu-devel@archiver.kernel.org; Tue, 16 Mar 2021 04:22:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39688) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lM4pn-0002g0-O4 for qemu-devel@nongnu.org; Tue, 16 Mar 2021 04:13:47 -0400 Received: from mail-ed1-x529.google.com ([2a00:1450:4864:20::529]:36838) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lM4pl-00080b-9e for qemu-devel@nongnu.org; Tue, 16 Mar 2021 04:13:47 -0400 Received: by mail-ed1-x529.google.com with SMTP id o19so20408679edc.3 for ; Tue, 16 Mar 2021 01:13:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=Qzbudw9LUWOm1Rax1mxLCAnSCATSV/CAzdskAuhxsIw=; b=RgKdHBz7BRmhPjeCXQp6IDSyDjrXpQhzhoZ4oKIUEQKoSsFjaD2EwTr86EUuBUPFzs Zw56tXBG2HJivKwojs61E2/itsVOYfpGhwZXWYv3nHECjP573C/nqH8B82DZiByE6EH7 inblSnVXKUdh0h3yg5n2AGADGDIdKyuGkq9dR5erMrrpa8OqmLJF6Ect+SHHj57Prg2c hW+Yv4OJkIyGIZeoHVPjw7kIArlisdIkiLOD0m4+ZDire/Ri7hoRl6+dZiZFLi2aUtsJ pYAn64UscfD/+mpcKMZnsxlHp2gx1KF/O61iA+PnyMTDEzld47fZwUgbICn7unoKxkFs vuEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=Qzbudw9LUWOm1Rax1mxLCAnSCATSV/CAzdskAuhxsIw=; b=Lps/KaJj9nHdGlOiiqqHJ0rwyIJ4McmkrQXd5d0UVfDm0ELuH4eZPKa9Bm0vy1eTy4 OEuNkd1LRBy9wiOn3qSLvI3OkNw6iYuoXEBOZnQvSLA/R+4VQ+WB/JcopFnylzZ520Fh WtRRrqAamgziYSLUNt9Z5gFZfTh2W5q6pV9qDMzX9BP+vWAF7jJUxWwRF7MgM15YU4Vx QBOOQmnj/u0vUb5DhWvM9tm+CSbxIOzcanCPafk6bYbVpAhlnxSDUXxG6uPbC7aKCm9h GTLVaI83ryhAr+FkFIt0zkrF5vFCLOhwBNO2aY9MAk2Xtv6momF3AC7dzUSCarToZrer JssA== X-Gm-Message-State: AOAM531QIHDCM2LEMrfUNpnYugus20w2fOO7FnQ+yLLek0rKSE2yOGTd kQm4Wbstckc/nwrizvsZcP4vQvmiKOE= X-Google-Smtp-Source: ABdhPJy9jr1ZpiKBA5KweV7Hhz067d3VLEPBKBbxIIVmcCEiBYOvjFWFZ9kLL3T9Riqh2RC38LNywg== X-Received: by 2002:aa7:c654:: with SMTP id z20mr23403330edr.377.1615882424077; Tue, 16 Mar 2021 01:13:44 -0700 (PDT) Received: from pek-vx-bsp9.wrs.com (ec2-44-242-66-180.us-west-2.compute.amazonaws.com. [44.242.66.180]) by smtp.gmail.com with ESMTPSA id a17sm5620333ejf.20.2021.03.16.01.13.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Mar 2021 01:13: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 v3 11/13] hw/net: rtl8139: Remove the logic of padding short frames in the receive path Date: Tue, 16 Mar 2021 16:12:52 +0800 Message-Id: <20210316081254.72684-12-bmeng.cn@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210316081254.72684-1-bmeng.cn@gmail.com> References: <20210316081254.72684-1-bmeng.cn@gmail.com> Received-SPF: pass client-ip=2a00:1450:4864:20::529; envelope-from=bmeng.cn@gmail.com; helo=mail-ed1-x529.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: , 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 --- (no changes since v1) 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 Tue Mar 16 08:12:53 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 12141431 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 93A9FC433DB for ; Tue, 16 Mar 2021 08:22:02 +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 37F6364FEA for ; Tue, 16 Mar 2021 08:22:02 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 37F6364FEA 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]:45582 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lM4xl-0000QI-8x for qemu-devel@archiver.kernel.org; Tue, 16 Mar 2021 04:22:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39700) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lM4pq-0002oK-Sq for qemu-devel@nongnu.org; Tue, 16 Mar 2021 04:13:50 -0400 Received: from mail-ed1-x530.google.com ([2a00:1450:4864:20::530]:33342) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lM4pp-00082u-2R for qemu-devel@nongnu.org; Tue, 16 Mar 2021 04:13:50 -0400 Received: by mail-ed1-x530.google.com with SMTP id w18so20401787edc.0 for ; Tue, 16 Mar 2021 01:13:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=8/C9/LzvDyZp6/9+sMenMqZa9EJuFC9jwr8igSt0+vo=; b=rOzVRvi75EdkipCk/ytEV3KvXw/rvDcLt+wyBqdweqB8GwkDNmq8pOH8mSLJJ/QIqR 6/FkQlGsNZtwSYdWgHiTTHow+Pb8NPMSxswkkNDX5OzsefIatNCcrK5Bh2z8EQxShKgw d72JAwKqKHEkNuunIYN7nykLMBWpl0efhWqnAiKsdHwafFzQ0OdQZIFzRcn49HQp96Tr mDXcUKD+r2LAgc/LcUQQKCD7uT2vzu8T9IhDoKNuUcG4XzwRyWht/p6v1wMeES9FAg1l 6WL5dblJXcGsBNGKeivTNS8czwKeeLLjZtdOocJKh14MmDpU9qS+Tgu0DsNpdVaxIuzd ds9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=8/C9/LzvDyZp6/9+sMenMqZa9EJuFC9jwr8igSt0+vo=; b=Bqd0r3YUt1QSbrpCO/taqWoGp0jjpz8WlLSMoygv/9RvGKMnQeMde9mahwXHvsJiBf KdZI5zMZYEHWu9AEr61L35vB4D2Ruh/mfz1f1Gof4onOzUYWlBxHil2/wFX8nQ4HDl/8 Zm7o86ZIsmv9D7hSi89vZbXVDRqfJTIvZX5HcQIeyzw4gdRnUmu9zYtoHVS+hR+AsYt6 3EhbS54FQI3HsZpR1jMGzQTPqEsT/VNuvO8HTUMRIpK2a56bqzRjPPy4wiWApEwZGMRN LfpwjHJCK/urr8ydXDyl946VpWgiqDltPPr3QjyutHRQb7HeuYqMoeS6Uj9iZIMzM2Pg AD+Q== X-Gm-Message-State: AOAM530evjx0sojWVgLpP37TPc5rSsF8QpcArz0gutfWBmZxPepYjOZW U4qk2TdpasWurbF62a9pGt4= X-Google-Smtp-Source: ABdhPJwrTTHNhDK23oYbuiN2nquyt8VhU3v1Ot4rPtFxRI2pfaq0iG1aSWPNaPNC+E7dBBwF24XHLw== X-Received: by 2002:a05:6402:3487:: with SMTP id v7mr34476143edc.302.1615882427801; Tue, 16 Mar 2021 01:13:47 -0700 (PDT) Received: from pek-vx-bsp9.wrs.com (ec2-44-242-66-180.us-west-2.compute.amazonaws.com. [44.242.66.180]) by smtp.gmail.com with ESMTPSA id a17sm5620333ejf.20.2021.03.16.01.13.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Mar 2021 01:13: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 v3 12/13] hw/net: sungem: Remove the logic of padding short frames in the receive path Date: Tue, 16 Mar 2021 16:12:53 +0800 Message-Id: <20210316081254.72684-13-bmeng.cn@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210316081254.72684-1-bmeng.cn@gmail.com> References: <20210316081254.72684-1-bmeng.cn@gmail.com> Received-SPF: pass client-ip=2a00:1450:4864:20::530; envelope-from=bmeng.cn@gmail.com; helo=mail-ed1-x530.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: , 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 --- (no changes since v1) 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 Tue Mar 16 08:12:54 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 12141435 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 BD3FEC433DB for ; Tue, 16 Mar 2021 08:23:44 +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 6346464F6D for ; Tue, 16 Mar 2021 08:23:44 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6346464F6D 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]:51492 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lM4zP-0002oe-Hg for qemu-devel@archiver.kernel.org; Tue, 16 Mar 2021 04:23:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39712) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lM4pu-0002xh-CF for qemu-devel@nongnu.org; Tue, 16 Mar 2021 04:13:54 -0400 Received: from mail-ed1-x52b.google.com ([2a00:1450:4864:20::52b]:36841) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lM4ps-00085d-Lw for qemu-devel@nongnu.org; Tue, 16 Mar 2021 04:13:54 -0400 Received: by mail-ed1-x52b.google.com with SMTP id o19so20409055edc.3 for ; Tue, 16 Mar 2021 01:13:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=UoAb4yJF98pSKNLLX7tPArXkVMkWUA3vT/8Fn5PTXcw=; b=gmtgmAExrFOcZ6wisy/vEJQ+O3MTY9AziZNAlRkjJl1JahauzHBqbtFpvG3+tCHoI4 3jhx/Y+ZsXEA/BA4EsocbJA/0ajJBiG/vJr30ndaXpoRuwOWLE+gCCNN9LdFz5YRLm9/ YQFKBuTOK5dnZjwJfRpVPl5urcK+kf9mAbRIsqdm2B9eAYibp076ZK7BHzfkQkav8DXV HvxUQAPAPtCntYK+1dPJccSg+92Ld033k8FRkkxhiYTNTCJTTutP+UBoHlphtyqfvn3C Fju5UkCCLLccuC6c3o4bDpV5gp4nqfWr2fB7ZmgYe4WK7SM2Gky4mlCMBQT388qjzmaD 0iHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=UoAb4yJF98pSKNLLX7tPArXkVMkWUA3vT/8Fn5PTXcw=; b=jqi7DGUuhJBOl6dW6rY/7Gu0zHiA0qyDxrVJRLcvyJo4RTNGYcL2VkAE6HS3c9HsOk fs2zTYlB4884rx9jjU2xx91Ak467Zhf9MYHDKcFar+3tc18oN4HrKbTe1fFr9NBokYa3 ghZdrvg+lZ/ic+9oBVtW6EXTo/v408vCVOHxqnWBFLIVuX4/Zk2q8pqpjj5dBQuYQGE1 A73GOw/hEnsCiWnGDwNxnWXZ0Ay3fznbZTjIMli396g/cZf7960h8vcO1HAl8hVLyGRv YLTzvdbCJt4jNDRDplToKxeogVlzXxqX+WbNPpARmARpGYdVwtTyqW6/QfOxjOUC4lJ6 5xBg== X-Gm-Message-State: AOAM533fBGjJQQURI7MAtFIBKDpJXY+wtuWNbujI1C77yUSJA2fL9rCc 6cwKY0Yx70B14Ne9qKKiuo0= X-Google-Smtp-Source: ABdhPJyEa4o1k9l4WBFCteLxmZNaZPiemAbj/rR6OKGeJP92A4EkKYAwRC2NFCDVX2Y1CufeoBsvIg== X-Received: by 2002:aa7:cf02:: with SMTP id a2mr34192323edy.59.1615882431443; Tue, 16 Mar 2021 01:13:51 -0700 (PDT) Received: from pek-vx-bsp9.wrs.com (ec2-44-242-66-180.us-west-2.compute.amazonaws.com. [44.242.66.180]) by smtp.gmail.com with ESMTPSA id a17sm5620333ejf.20.2021.03.16.01.13.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Mar 2021 01:13:51 -0700 (PDT) From: Bin Meng To: Jason Wang , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Peter Maydell , qemu-devel@nongnu.org Subject: [PATCH v3 13/13] hw/net: sunhme: Remove the logic of padding short frames in the receive path Date: Tue, 16 Mar 2021 16:12:54 +0800 Message-Id: <20210316081254.72684-14-bmeng.cn@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210316081254.72684-1-bmeng.cn@gmail.com> References: <20210316081254.72684-1-bmeng.cn@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::52b; envelope-from=bmeng.cn@gmail.com; helo=mail-ed1-x52b.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: , 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 --- (no changes since v1) 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);