Cover Detail
Show a cover letter.
GET /api/covers/80686/?format=api
http://patches.dpdk.org/api/covers/80686/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/cover/20201014084131.72035-1-simonx.lu@intel.com/", "project": { "id": 1, "url": "http://patches.dpdk.org/api/projects/1/?format=api", "name": "DPDK", "link_name": "dpdk", "list_id": "dev.dpdk.org", "list_email": "dev@dpdk.org", "web_url": "http://core.dpdk.org", "scm_url": "git://dpdk.org/dpdk", "webscm_url": "http://git.dpdk.org/dpdk", "list_archive_url": "https://inbox.dpdk.org/dev", "list_archive_url_format": "https://inbox.dpdk.org/dev/{}", "commit_url_format": "" }, "msgid": "<20201014084131.72035-1-simonx.lu@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20201014084131.72035-1-simonx.lu@intel.com", "date": "2020-10-14T08:41:23", "name": "[v1,0/8] use generic flow command to re-realize mirror rule", "submitter": { "id": 2016, "url": "http://patches.dpdk.org/api/people/2016/?format=api", "name": "SimonX Lu", "email": "simonx.lu@intel.com" }, "mbox": "http://patches.dpdk.org/project/dpdk/cover/20201014084131.72035-1-simonx.lu@intel.com/mbox/", "series": [ { "id": 12943, "url": "http://patches.dpdk.org/api/series/12943/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=12943", "date": "2020-10-14T08:41:23", "name": "use generic flow command to re-realize mirror rule", "version": 1, "mbox": "http://patches.dpdk.org/series/12943/mbox/" } ], "comments": "http://patches.dpdk.org/api/covers/80686/comments/", "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 39033A04B7;\n\tWed, 14 Oct 2020 10:43:10 +0200 (CEST)", "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 2176A1DCC6;\n\tWed, 14 Oct 2020 10:43:09 +0200 (CEST)", "from mga04.intel.com (mga04.intel.com [192.55.52.120])\n by dpdk.org (Postfix) with ESMTP id 4A5EC1BC72\n for <dev@dpdk.org>; Wed, 14 Oct 2020 10:43:07 +0200 (CEST)", "from fmsmga008.fm.intel.com ([10.253.24.58])\n by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 14 Oct 2020 01:43:05 -0700", "from intel-npg-odc-srv01.cd.intel.com ([10.240.178.136])\n by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 14 Oct 2020 01:43:02 -0700" ], "IronPort-SDR": [ "\n 9JIerDjbr77CPHYjmuIya+lsNFH1OxFw0c902kZGZ3zFk3w8Fot7dB14qKCCOA8jBFYSIhXBxz\n zy2VGMlqY/mw==", "\n uh3kR2lX+GXEcvOKvUMJe9PtDJr3kuQtvcRP6j/tk+6kj0YB3XyN3RcYAwC2nYe9zTn58FLA9+\n QcNQwoqc1djg==" ], "X-IronPort-AV": [ "E=McAfee;i=\"6000,8403,9773\"; a=\"163432180\"", "E=Sophos;i=\"5.77,374,1596524400\"; d=\"scan'208\";a=\"163432180\"", "E=Sophos;i=\"5.77,374,1596524400\"; d=\"scan'208\";a=\"299864495\"" ], "X-Amp-Result": "SKIPPED(no attachment in message)", "X-Amp-File-Uploaded": "False", "From": "SimonX Lu <simonx.lu@intel.com>", "To": "dev@dpdk.org", "Cc": "jia.guo@intel.com, haiyue.wang@intel.com, qiming.yang@intel.com,\n beilei.xing@intel.com, orika@nvidia.com, Simon Lu <simonx.lu@intel.com>", "Date": "Wed, 14 Oct 2020 08:41:23 +0000", "Message-Id": "<20201014084131.72035-1-simonx.lu@intel.com>", "X-Mailer": "git-send-email 2.17.1", "Subject": "[dpdk-dev] [PATCH v1 0/8] use generic flow command to re-realize\n\tmirror rule", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "content": "From: Simon Lu <simonx.lu@intel.com>\n\nfollow mirror rule to add new action called mirror in flow management,\nso we can use \"flow create * pattern * action mirror *\" to replace\nold \"set port * mirror-rule *\" command now\n\nthe example of mirror rule command mapping to flow management command:\n(in below command, port 0 is PF and port 1-3 is VF):\n\n1) ingress: pf => pf\n set port 0 mirror-rule 0 uplink-mirror dst-pool 4 on\n or\n flow create 0 ingress pattern pf / end actions mirror pf / end\n2) egress: pf => pf\n set port 0 mirror-rule 0 downlink-mirror dst-pool 4 on\n or\n flow create 0 egress pattern pf / end actions mirror pf / end\n3) ingress: pf => vf 3\n set port 0 mirror-rule 0 uplink-mirror dst-pool 3 on\n or\n flow create 0 ingress pattern pf / end actions mirror vf id 3 / end\n4) egress: pf => vf 3\n set port 0 mirror-rule 0 downlink-mirror dst-pool 3 on\n or\n flow create 0 egress pattern pf / end actions mirror vf id 3 / end\n5) ingress: vf 0,1 => pf\n set port 0 mirror-rule 0 pool-mirror-up 0x3 dst-pool 4 on\n or\n flow create 0 ingress pattern vf id is 0 / end actions mirror pf / end\n flow create 0 ingress pattern vf id is 1 / end actions mirror pf / end\n or\n flow create 0 ingress pattern vf id last 1 / end actions mirror pf / end\n or\n flow create 0 ingress pattern vf id mask 0x3 / end actions mirror pf / end\n6) egress: vf 0,1 => pf\n set port 0 mirror-rule 0 pool-mirror-down 0x3 dst-pool 4 on\n or\n flow create 0 egress pattern vf id is 0 / end actions mirror pf / end\n flow create 0 egress pattern vf id is 1 / end actions mirror pf / end\n or\n flow create 0 egress pattern vf id last 1 / end actions mirror pf / end\n or\n flow create 0 egress pattern vf id mask 0x3 / end actions mirror pf / end\n7) ingress: vf 1,2 => vf 3\n set port 0 mirror-rule 0 pool-mirror-up 0x6 dst-pool 3 on\n or\n flow create 0 ingress pattern vf id is 1 / end actions mirror vf id 3 / end\n flow create 0 ingress pattern vf id is 2 / end actions mirror vf id 3 / end\n or\n flow create 0 ingress pattern vf id is 1 id last 2 / end actions mirror vf id 3 / end\n or\n flow create 0 ingress pattern vf id mask 0x6 / end actions mirror vf id 3 / end\n8) egress: vf 1,2 => vf 3\n set port 0 mirror-rule 0 pool-mirror-down 0x6 dst-pool 3 on\n or\n flow create 0 egress pattern vf id is 1 / end actions mirror vf id 3 / end\n flow create 0 egress pattern vf id is 2 / end actions mirror vf id 3 / end\n or\n flow create 0 egress pattern vf id is 1 id last 2 / end actions mirror vf id 3 / end\n or\n flow create 0 egress pattern vf id mask 0x6 / end actions mirror vf id 3 / end\n9) ingress: vlan 4,6 => vf 3\n set port 0 mirror-rule 0 vlan-mirror 4,6 dst-pool 4 on\n or\n flow create 0 ingress pattern vlan vid is 4 / end actions mirror vf id 3 / end\n flow create 0 ingress pattern vlan vid is 6 / end actions mirror vf id 3 end\n or\n flow create 0 ingress pattern vlan vid mask 0x28 / end actions mirror vf id 3 / end\n or\n flow create 0 ingress pattern vlan vid is 4 vid last 6 vid mask 0x5 / end\n actions mirror vf id 3 / end\n\n\nSimon Lu (8):\n ethdev: support the mirror action for flow\n app/testpmd: support action mirror for flow command\n net/ixgbe: add mirror rule config and extend flow filter type\n net/ixgbe: define the mirror filter paser\n net/ixgbe: use generic flow command to re-realize mirror rule\n net/i40e: add mirror rule config and export add/del rule APIs\n net/i40e: define the mirror filter paser\n net/i40e: use generic flow command to re-realize mirror rule\n\n app/test-pmd/cmdline_flow.c | 36 +++\n drivers/net/i40e/i40e_ethdev.c | 13 +-\n drivers/net/i40e/i40e_ethdev.h | 34 +++\n drivers/net/i40e/i40e_flow.c | 416 +++++++++++++++++++++++++++-\n drivers/net/ixgbe/ixgbe_ethdev.c | 8 -\n drivers/net/ixgbe/ixgbe_ethdev.h | 53 +++-\n drivers/net/ixgbe/ixgbe_flow.c | 456 +++++++++++++++++++++++++++++++\n lib/librte_ethdev/rte_eth_ctrl.h | 1 +\n lib/librte_ethdev/rte_flow.c | 1 +\n lib/librte_ethdev/rte_flow.h | 7 +\n 10 files changed, 1000 insertions(+), 25 deletions(-)" }{ "id": 80686, "url": "