{"id":813278,"url":"http://patchwork.ozlabs.org/api/1.2/covers/813278/?format=json","web_url":"http://patchwork.ozlabs.org/project/netdev/cover/150529632024.57063.15338545678487601430.stgit@anamdev.jf.intel.com/","project":{"id":7,"url":"http://patchwork.ozlabs.org/api/1.2/projects/7/?format=json","name":"Linux network development","link_name":"netdev","list_id":"netdev.vger.kernel.org","list_email":"netdev@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<150529632024.57063.15338545678487601430.stgit@anamdev.jf.intel.com>","list_archive_url":null,"date":"2017-09-13T09:59:13","name":"[RFC,v3,0/7] tc-flower based cloud filters in i40e","submitter":{"id":68504,"url":"http://patchwork.ozlabs.org/api/1.2/people/68504/?format=json","name":"Nambiar, Amritha","email":"amritha.nambiar@intel.com"},"mbox":"http://patchwork.ozlabs.org/project/netdev/cover/150529632024.57063.15338545678487601430.stgit@anamdev.jf.intel.com/mbox/","series":[{"id":2861,"url":"http://patchwork.ozlabs.org/api/1.2/series/2861/?format=json","web_url":"http://patchwork.ozlabs.org/project/netdev/list/?series=2861","date":"2017-09-13T09:59:13","name":"tc-flower based cloud filters in i40e","version":3,"mbox":"http://patchwork.ozlabs.org/series/2861/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/covers/813278/comments/","headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xscc00N76z9s76\n\tfor <patchwork-incoming@ozlabs.org>;\n\tWed, 13 Sep 2017 20:00:32 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751751AbdIMKA0 (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tWed, 13 Sep 2017 06:00:26 -0400","from mga09.intel.com ([134.134.136.24]:4581 \"EHLO mga09.intel.com\"\n\trhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP\n\tid S1751991AbdIMKAW (ORCPT <rfc822;netdev@vger.kernel.org>);\n\tWed, 13 Sep 2017 06:00:22 -0400","from fmsmga003.fm.intel.com ([10.253.24.29])\n\tby orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t13 Sep 2017 03:00:21 -0700","from anamdev.jf.intel.com ([10.166.29.110])\n\tby FMSMGA003.fm.intel.com with ESMTP; 13 Sep 2017 03:00:21 -0700"],"X-ExtLoop1":"1","X-IronPort-AV":"E=Sophos;i=\"5.42,387,1500966000\"; d=\"scan'208\";a=\"899802579\"","Subject":"[RFC PATCH v3 0/7] tc-flower based cloud filters in i40e","From":"Amritha Nambiar <amritha.nambiar@intel.com>","To":"intel-wired-lan@lists.osuosl.org, jeffrey.t.kirsher@intel.com","Cc":"alexander.h.duyck@intel.com, netdev@vger.kernel.org,\n\tamritha.nambiar@intel.com","Date":"Wed, 13 Sep 2017 02:59:13 -0700","Message-ID":"<150529632024.57063.15338545678487601430.stgit@anamdev.jf.intel.com>","User-Agent":"StGit/0.17.1-dirty","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"7bit","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"},"content":"This patch series enables configuring cloud filters in i40e\nusing the tc-flower classifier. The only tc-filter action\nsupported is to redirect packets to a traffic class on the\nsame device. The mirror/redirect action is extended to\naccept a traffic class to achieve this.\n\nThe cloud filters are added for a VSI and are cleaned up when\nthe VSI is deleted. The filters that match on L4 ports needs\nenhanced admin queue functions with big buffer support for\nextended fields in cloud filter commands.\n\nExample:\n# tc qdisc add dev eth0 ingress\n\n# ethtool -K eth0 hw-tc-offload on\n\n# tc filter add dev eth0 protocol ip parent ffff: prio 1 flower\\\n  dst_ip 192.168.1.1/32 ip_proto udp dst_port 22\\\n  skip_sw action mirred ingress redirect dev eth0 tclass 1\n\n# tc filter show dev eth0 parent ffff:\nfilter protocol ip pref 1 flower chain 0\nfilter protocol ip pref 1 flower chain 0 handle 0x1\n  eth_type ipv4\n  ip_proto udp\n  dst_ip 192.168.1.1\n  dst_port 22\n  skip_sw\n  in_hw\n        action order 1: mirred (Ingress Redirect to device eth0) stolen tclass 1\n        index 7 ref 1 bind 1\n\nv3: Added an extra patch to clean up white-space noise. Cleaned up\nsome lengthy function names. Used __be32 array for ipv6 address.\nUsed macro for IP version. Minor formatting changes.\n\n---\n\nAmritha Nambiar (7):\n      tc_mirred: Clean up white-space noise\n      sched: act_mirred: Traffic class option for mirror/redirect action\n      i40e: Map TCs with the VSI seids\n      i40e: Cloud filter mode for set_switch_config command\n      i40e: Admin queue definitions for cloud filters\n      i40e: Clean up of cloud filters\n      i40e: Enable cloud filters via tc-flower\n\n\n drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c  |    2 \n drivers/net/ethernet/intel/i40e/i40e.h             |   59 +\n drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h  |  143 +++\n drivers/net/ethernet/intel/i40e/i40e_common.c      |  193 ++++\n drivers/net/ethernet/intel/i40e/i40e_ethtool.c     |    2 \n drivers/net/ethernet/intel/i40e/i40e_main.c        |  999 +++++++++++++++++++-\n drivers/net/ethernet/intel/i40e/i40e_prototype.h   |   18 \n drivers/net/ethernet/intel/i40e/i40e_type.h        |   10 \n .../net/ethernet/intel/i40evf/i40e_adminq_cmd.h    |  113 ++\n drivers/net/ethernet/intel/ixgbe/ixgbe_main.c      |    2 \n drivers/net/ethernet/mellanox/mlx5/core/en_tc.c    |    2 \n drivers/net/ethernet/mellanox/mlxsw/spectrum.c     |    3 \n .../net/ethernet/mellanox/mlxsw/spectrum_flower.c  |    3 \n drivers/net/ethernet/netronome/nfp/bpf/offload.c   |    1 \n drivers/net/ethernet/netronome/nfp/flower/action.c |    4 \n include/net/tc_act/tc_mirred.h                     |   16 \n include/uapi/linux/tc_act/tc_mirred.h              |    9 \n net/dsa/slave.c                                    |    3 \n net/sched/act_mirred.c                             |   15 \n 19 files changed, 1547 insertions(+), 50 deletions(-)\n\n--"}