Received: by 2002:a25:ef43:0:0:0:0:0 with SMTP id w3csp15553ybm; Thu, 28 May 2020 14:55:41 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwzfr+NaV5DFkwYtVkUcAsPVxtst8CFIAgR6Z2hmuxMpb7F/SugGowktHn6C9SMYfHGQ1bh X-Received: by 2002:a05:6402:1d82:: with SMTP id dk2mr3819777edb.75.1590702941520; Thu, 28 May 2020 14:55:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590702941; cv=none; d=google.com; s=arc-20160816; b=cCz57n/6Vz+YwG9hHvatY3PwUxfw2TbCQMlAXulz/ZFfAtXUJ3Ja73NvX7A2OiRqZn fRIkxYlMDLZFtU6b2xEu9Wu/fbngGqLb27EBqjZH9hadtCmicdd5dH8rnJWPSo1oWFuV ttkSXtNPJ8Vx0ZcdiSQWjIJ5zgiTysZzkSI4CUShQxkPMUJNspqJfgg2h8AwDq3kvjAC ojJr5AoRnaLXqLYJgUz1QBJO5aVJWpKBBk0tIDmrWYHOo4/a4m5pnVC3QvH1yZjp8+sw Yd6/dozJU4qYY4zeAO0kDMP/PJhNkuLJoQDMG1DLaUZM5BaBOHBHQx1dbqvaXxEir0nV meJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:date:subject:cc :to:from; bh=7iayqVr2d0Oe29WsMuKMAkqio8vm+C0dRH4fStwCq8M=; b=QlrlZ9ulvajEwntB6J7YxAN0otpsWxmMLowHOhxxI50hpUQAiXvxaU5gk1cSPo7A/g A5C+4jqL1sohox3kcwxGkAWp1R6GYXcNBQokNy2Y4xHgEB8DaS3vdjDfr/aHv+J8F99E adPDuTrxouHUy3xSohSRYuV0VIlXtcI3Cb0ULipTSSpN2RXTfDjd+6TKPYxJg38/9RFr KfarBxOSqTP0zk1ShY/13yfN+7kTjPsd1uHQ95JOjbvLdKb1GvQaiPAZ/ma5V5z0D69v r3DHbvLoAkyViX8jz8ph9o8DWG45WjbpPT/KJO7O4xYbtSDk3Eq5J98qWUK5onIjHbxT Ss/g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=vmware.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i26si4731771ejy.176.2020.05.28.14.55.17; Thu, 28 May 2020 14:55:41 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=vmware.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2436736AbgE1Vx0 (ORCPT + 99 others); Thu, 28 May 2020 17:53:26 -0400 Received: from ex13-edg-ou-001.vmware.com ([208.91.0.189]:58496 "EHLO EX13-EDG-OU-001.vmware.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2436690AbgE1VxY (ORCPT ); Thu, 28 May 2020 17:53:24 -0400 Received: from sc9-mailhost2.vmware.com (10.113.161.72) by EX13-EDG-OU-001.vmware.com (10.113.208.155) with Microsoft SMTP Server id 15.0.1156.6; Thu, 28 May 2020 14:53:20 -0700 Received: from ubuntu.eng.vmware.com (unknown [10.20.113.240]) by sc9-mailhost2.vmware.com (Postfix) with ESMTP id 1321AB26B0; Thu, 28 May 2020 17:53:24 -0400 (EDT) From: Ronak Doshi To: CC: Ronak Doshi , "VMware, Inc." , "David S. Miller" , Jakub Kicinski , open list Subject: [PATCH v4 net-next 0/4] vmxnet3: upgrade to version 4 Date: Thu, 28 May 2020 14:53:18 -0700 Message-ID: <20200528215322.31682-1-doshir@vmware.com> X-Mailer: git-send-email 2.11.0 MIME-Version: 1.0 Content-Type: text/plain Received-SPF: None (EX13-EDG-OU-001.vmware.com: doshir@vmware.com does not designate permitted sender hosts) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org vmxnet3 emulation has recently added several new features which includes offload support for tunnel packets, support for new commands the driver can issue to emulation, change in descriptor fields, etc. This patch series extends the vmxnet3 driver to leverage these new features. Compatibility is maintained using existing vmxnet3 versioning mechanism as follows: - new features added to vmxnet3 emulation are associated with new vmxnet3 version viz. vmxnet3 version 4. - emulation advertises all the versions it supports to the driver. - during initialization, vmxnet3 driver picks the highest version number supported by both the emulation and the driver and configures emulation to run at that version. In particular, following changes are introduced: Patch 1: This patch introduces utility macros for vmxnet3 version 4 comparison and updates Copyright information. Patch 2: This patch implements get_rss_hash_opts and set_rss_hash_opts methods to allow querying and configuring different Rx flow hash configurations which can be used to support UDP/ESP RSS. Patch 3: This patch introduces segmentation and checksum offload support for encapsulated packets. This avoids segmenting and calculating checksum for each segment and hence gives performance boost. Patch 4: With all vmxnet3 version 4 changes incorporated in the vmxnet3 driver, with this patch, the driver can configure emulation to run at vmxnet3 version 4. Changes in v3 -> v4: - Replaced BUG_ON() with WARN_ON_ONCE() Changes in v2 -> v3: - fixed get_rss_hash_opts to return correct values for udp rss Changes in v2: - Fixed compilation issue due to missing closed brace - added fallthrough comment Ronak Doshi (4): vmxnet3: prepare for version 4 changes vmxnet3: add support to get/set rx flow hash vmxnet3: add geneve and vxlan tunnel offload support vmxnet3: update to version 4 drivers/net/vmxnet3/Makefile | 2 +- drivers/net/vmxnet3/upt1_defs.h | 5 +- drivers/net/vmxnet3/vmxnet3_defs.h | 31 ++-- drivers/net/vmxnet3/vmxnet3_drv.c | 164 ++++++++++++++++++--- drivers/net/vmxnet3/vmxnet3_ethtool.c | 263 +++++++++++++++++++++++++++++++++- drivers/net/vmxnet3/vmxnet3_int.h | 25 +++- 6 files changed, 448 insertions(+), 42 deletions(-) -- 2.11.0