From patchwork Tue Jan 23 16:50:54 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Dayanand, Avinash" X-Patchwork-Id: 864981 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=osuosl.org (client-ip=140.211.166.133; helo=hemlock.osuosl.org; envelope-from=intel-wired-lan-bounces@osuosl.org; receiver=) Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3zQzV93C4vz9s7s for ; Wed, 24 Jan 2018 06:52:33 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id C1DB2881FD; Tue, 23 Jan 2018 19:52:31 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id K7zRVAANIbsW; Tue, 23 Jan 2018 19:52:27 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by hemlock.osuosl.org (Postfix) with ESMTP id 5B1F088245; Tue, 23 Jan 2018 19:52:24 +0000 (UTC) X-Original-To: intel-wired-lan@lists.osuosl.org Delivered-To: intel-wired-lan@lists.osuosl.org Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id AA04D1C0521 for ; Tue, 23 Jan 2018 19:52:22 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id A2D5E88227 for ; Tue, 23 Jan 2018 19:52:22 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gz0OZUVHuKqs for ; Tue, 23 Jan 2018 19:52:22 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by hemlock.osuosl.org (Postfix) with ESMTPS id ED82D881F4 for ; Tue, 23 Jan 2018 19:52:21 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Jan 2018 11:52:21 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,402,1511856000"; d="scan'208";a="25768858" Received: from avi-linux2.jf.intel.com ([10.166.244.156]) by orsmga001.jf.intel.com with ESMTP; 23 Jan 2018 11:52:06 -0800 From: Avinash Dayanand To: intel-wired-lan@lists.osuosl.org Date: Tue, 23 Jan 2018 08:50:54 -0800 Message-Id: <20180123165106.28900-1-avinash.dayanand@intel.com> X-Mailer: git-send-email 2.9.4 Subject: [Intel-wired-lan] [PATCH v3 next-queue 00/12] Enable queue channel and cloud filter support on i40evf X-BeenThere: intel-wired-lan@osuosl.org X-Mailman-Version: 2.1.24 Precedence: list List-Id: Intel Wired Ethernet Linux Kernel Driver Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: intel-wired-lan-bounces@osuosl.org Sender: "Intel-wired-lan" This patch series enables the new mqprio hardware offload mechanism creating traffic classes on VFs for XL710 devices. The parameters needed to configure these traffic classes/queue channels are provides by the user via the tc tool. A maximum of four traffic classes can be created on each VF. This patch series also enables application of cloud filters to each of these traffic classes. The cloud filters are applied using the tc-flower classifier. Example: 1. tc qdisc add dev vf0 root mqprio num_tc 4 map 0 0 0 0 1 2 2 3\ queues 2@0 2@2 1@4 1@5 hw 1 mode channel 2. tc qdisc add dev vf0 ingress 3. ethtool -K vf0 hw-tc-offload on 4. ip link set eth0 vf 0 spoofchk off 5. tc filter add dev vf0 protocol ip parent ffff: prio 1 flower dst_ip\ 192.168.3.5/32 ip_proto udp dst_port 25 skip_sw hw_tc 2 Avinash Dayanand (6): i40evf: Fix link up issue when queues are disabled i40e: Enable ADq and create queue channel/s on VF i40evf: Alloc queues for ADq on VF i40e: Delete queue channel for ADq on VF i40e: Service request to configure bandwidth for ADq on a VF i40e: Add and delete cloud filter Harshitha Ramamurthy (6): virtchnl: Add virtchl structures to support queue channels i40evf : add ndo_setup_tc callback to i40evf i40evf: Add support to configure bw via tc tool virtchnl: Add a macro to check the size of a union virtchnl: Add filter data structures i40evf: Add support to apply cloud filters drivers/net/ethernet/intel/i40e/i40e.h | 6 + drivers/net/ethernet/intel/i40e/i40e_main.c | 16 +- drivers/net/ethernet/intel/i40e/i40e_type.h | 2 +- drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 1000 ++++++++++++++++++-- drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.h | 20 + drivers/net/ethernet/intel/i40evf/i40evf.h | 72 ++ drivers/net/ethernet/intel/i40evf/i40evf_ethtool.c | 6 + drivers/net/ethernet/intel/i40evf/i40evf_main.c | 797 +++++++++++++++- .../net/ethernet/intel/i40evf/i40evf_virtchnl.c | 300 +++++- include/linux/avf/virtchnl.h | 107 ++- 10 files changed, 2232 insertions(+), 94 deletions(-)