From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 0A07A108F for ; Tue, 17 Jan 2017 11:03:22 +0100 (CET) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga102.fm.intel.com with ESMTP; 17 Jan 2017 02:03:22 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,243,1477983600"; d="scan'208";a="1113821947" Received: from fyigit-mobl1.ger.corp.intel.com (HELO [10.237.220.38]) ([10.237.220.38]) by fmsmga002.fm.intel.com with ESMTP; 17 Jan 2017 02:03:20 -0800 To: "Zhao1, Wei" , Adrien Mazarguil References: <1484212665-1635-1-git-send-email-wei.zhao1@intel.com> <1484295192-34009-1-git-send-email-wei.zhao1@intel.com> <1484295192-34009-15-git-send-email-wei.zhao1@intel.com> <20170116130348.GA3779@6wind.com> <84768b60-d645-eb0b-37e4-4482cde4c68e@intel.com> Cc: "dev@dpdk.org" , "Lu, Wenzhuo" From: Ferruh Yigit Message-ID: Date: Tue, 17 Jan 2017 10:03:20 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v6 14/18] net/ixgbe: parse L2 tunnel filter X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Jan 2017 10:03:23 -0000 On 1/17/2017 9:27 AM, Zhao1, Wei wrote: > Hi, Ferruh > >> -----Original Message----- >> From: Yigit, Ferruh >> Sent: Tuesday, January 17, 2017 12:39 AM >> To: Adrien Mazarguil ; Zhao1, Wei >> >> Cc: dev@dpdk.org; Lu, Wenzhuo >> Subject: Re: [dpdk-dev] [PATCH v6 14/18] net/ixgbe: parse L2 tunnel filter >> >> On 1/16/2017 1:03 PM, Adrien Mazarguil wrote: >>> Hi, >>> >>> On Fri, Jan 13, 2017 at 04:13:08PM +0800, Wei Zhao wrote: >>>> check if the rule is a L2 tunnel rule, and get the L2 tunnel info. >>>> >>>> Signed-off-by: Wei Zhao >>>> Signed-off-by: Wenzhuo Lu >>>> --- >>>> drivers/net/ixgbe/ixgbe_ethdev.c | 3 +- >>>> drivers/net/ixgbe/ixgbe_flow.c | 216 >> +++++++++++++++++++++++++++++++++++++++ >>>> lib/librte_ether/rte_flow.h | 48 +++++++++ >>>> 3 files changed, 266 insertions(+), 1 deletion(-) >>> [...] >>>> diff --git a/lib/librte_ether/rte_flow.h >>>> b/lib/librte_ether/rte_flow.h index 98084ac..7142479 100644 >>>> --- a/lib/librte_ether/rte_flow.h >>>> +++ b/lib/librte_ether/rte_flow.h >>>> @@ -268,6 +268,20 @@ enum rte_flow_item_type { >>>> * See struct rte_flow_item_vxlan. >>>> */ >>>> RTE_FLOW_ITEM_TYPE_VXLAN, >>>> + >>>> + /** >>>> + * Matches a E_TAG header. >>>> + * >>>> + * See struct rte_flow_item_e_tag. >>>> + */ >>>> + RTE_FLOW_ITEM_TYPE_E_TAG, >>>> + >>>> + /** >>>> + * Matches a NVGRE header. >>>> + * >>>> + * See struct rte_flow_item_nvgre. >>>> + */ >>>> + RTE_FLOW_ITEM_TYPE_NVGRE, >>>> }; >>>> >>>> /** >>>> @@ -454,6 +468,40 @@ struct rte_flow_item_vxlan { }; >>>> >>>> /** >>>> + * RTE_FLOW_ITEM_TYPE_E_TAG. >>>> + * >>>> + * Matches a E-tag header. >>>> + */ >>>> +struct rte_flow_item_e_tag { >>>> + uint16_t tpid; /**< Tag protocol identifier (0x893F). */ >>>> + /** E-Tag control information (E-TCI). */ >>>> + /**< E-PCP (3b), E-DEI (1b), ingress E-CID base (12b). */ >>>> + uint16_t epcp_edei_in_ecid_b; >>>> + /**< Reserved (2b), GRP (2b), E-CID base (12b). */ >>>> + uint16_t rsvd_grp_ecid_b; >>>> + uint8_t in_ecid_e; /**< Ingress E-CID ext. */ >>>> + uint8_t ecid_e; /**< E-CID ext. */ >>>> +}; >>>> + >>>> +/** >>>> + * RTE_FLOW_ITEM_TYPE_NVGRE. >>>> + * >>>> + * Matches a NVGRE header. >>>> + */ >>>> +struct rte_flow_item_nvgre { >>>> + /** >>>> + * Checksum (1b), undefined (1b), key bit (1b), sequence number (1b), >>>> + * reserved 0 (9b), version (3b). >>>> + * >>>> + * \c_k_s_rsvd0_ver must have value 0x2000 according to RFC 7637. >>>> + */ >>>> + uint16_t c_k_s_rsvd0_ver; >>>> + uint16_t protocol; /**< Protocol type (0x6558). */ >>>> + uint8_t tni[3]; /**< Virtual subnet ID. */ >>>> + uint8_t flow_id; /**< Flow ID. */ >>>> +}; >>>> + >>>> +/** >>>> * Matching pattern item definition. >>>> * >>>> * A pattern is formed by stacking items starting from the lowest >>>> protocol >>>> -- >>>> 2.5.5 >>>> >>> >>> OK for these definitions, however API documentation >>> (doc/guides/prog_guide/rte_flow.rst) must be kept up to date, and it >>> would be great if testpmd support for these new items was added >>> simultaneously (changes in app/test-pmd/cmdline.c, >>> app/test-pmd/cmdline_flow.c and >> doc/guides/testpmd_app_ug/testpmd_funcs.rst). >>> >>> How about putting all rte_flow changes (API & testpmd) in their own >>> separate patch? >> >> I thought it can be more useful to have library and its user updated in same >> patch, gives more context. But missed rte_flow documentation ... >> >>> >>> You could use VLAN PCP/DEI/VID definitions as an example to expose >>> partial bit-fields (e.g. epcp_edei_in_ecid_b) in testpmd, see: >>> >>> 1419fd5a6c9f ("app/testpmd: add protocol fields to flow command") >>> >>> Now if re-spinning this series yet again is too much work, you can go >>> ahead with this commit as long as you do not forget to submit the rest >>> later, thanks. >>> >> >> Is following todo list complete: >> 1- update rte_flow document, doc/guides/prog_guide/rte_flow.rst, >> document two new item types: E_TAG & NVGRE. >> >> 2- Add testpmd sample implementation and documentation. >> > > I am sorry for miss rte_flow.rst document update, I DON'T know there is such a new file of rte_flow.rst. > And also these two types of E_TAG & NVGRE are added into code after rte_flow patch, > So testpmd implementation do not support for these type. > Now, we have been work on task of 17.05. > How about finish (1) first as one patch, then after busy work of 17.05 to add (2) as another patch? > OR, if these two work merge in to patch set, I will may be begin to do after the 17.05 task finish? > Which one is OK for you? Changes can be in two separate patches, and if possible, can this get priority against 17.05 task? This is for 17.02 feature and not completely finished, missing for last touches.. Thanks, ferruh > > Thank you. >> >> Hi Wei, >> >> Would you mind working on a patch to cover above items? >> >> Thanks, >> ferruh >