From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 754F3A0562; Tue, 31 Mar 2020 10:50:14 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 437611BFC1; Tue, 31 Mar 2020 10:50:13 +0200 (CEST) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id 318352C15 for ; Tue, 31 Mar 2020 10:50:12 +0200 (CEST) IronPort-SDR: 9DnpsuORY+lcjX3DgOHltGwvdiPoeWNMESJ8ysc0JBJQT22c1FaAmyqlxwZATx0lImP22aF7pc jJy8XTIh9OhA== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 31 Mar 2020 01:50:11 -0700 IronPort-SDR: I8rr9l+sSewQWooYddPeD3BnyopXY745JCT/ccuiLNOqg2Z8Ehvcdgvu2HSEZF8gbFMizsOoFj ontuGxqCTpfg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,327,1580803200"; d="scan'208";a="448590939" Received: from jguo15x-mobl.ccr.corp.intel.com (HELO [10.67.68.138]) ([10.67.68.138]) by fmsmga005.fm.intel.com with ESMTP; 31 Mar 2020 01:50:08 -0700 To: Ori Kam , "xiaolong.ye@intel.com" , "qi.z.zhang@intel.com" Cc: "dev@dpdk.org" , "jingjing.wu@intel.com" , "yahui.cao@intel.com" , "simei.su@intel.com" References: <20200318170401.7938-5-jia.guo@intel.com> <20200326164039.36687-1-jia.guo@intel.com> <20200326164039.36687-4-jia.guo@intel.com> From: Jeff Guo Message-ID: <1948373f-a575-0a37-ec45-b2cac47f069e@intel.com> Date: Tue, 31 Mar 2020 16:50:08 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Subject: Re: [dpdk-dev] [dpdk-dev v2 3/4] app/testpmd: support GTP PDU type 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" yes, Ori, please check the comment below. On 3/30/2020 6:18 PM, Ori Kam wrote: > Hi Jeff, > > My name is Ori 😊 > > I'm not an expert in GTP so this is just my thinking and maybe I'm > missing something, this is why a good explanation helps 😊 > >> -----Original Message----- >> From: Jeff Guo >> Sent: Monday, March 30, 2020 11:30 AM >> To: Ori Kam ; xiaolong.ye@intel.com; >> qi.z.zhang@intel.com >> Cc: dev@dpdk.org; jingjing.wu@intel.com; yahui.cao@intel.com; >> simei.su@intel.com >> Subject: Re: [dpdk-dev] [dpdk-dev v2 3/4] app/testpmd: support GTP PDU type >> >> hi, orika >> >> >> On 3/29/2020 4:44 PM, Ori Kam wrote: >>> Hi Jeff, >>> >>> >>>> -----Original Message----- >>>> From: dev On Behalf Of Jeff Guo >>>> Sent: Thursday, March 26, 2020 6:41 PM >>>> To: xiaolong.ye@intel.com; qi.z.zhang@intel.com >>>> Cc: dev@dpdk.org; jingjing.wu@intel.com; yahui.cao@intel.com; >>>> simei.su@intel.com; jia.guo@intel.com >>>> Subject: [dpdk-dev] [dpdk-dev v2 3/4] app/testpmd: support GTP PDU type >>>> >>>> Add gtp pdu type configure in the cmdline. >>> Why not use ITEM_GTP_PSC_PDU? >> >> I guess you mean ITEM_GTP_PSC_PDU_T, rihgt? We know  we have got >> ITEM_GTP_PSC_QFI/ITEM_GTP_PSC_PDU_T but not define the >> >> spec for them, so what i use is add the spec into the ITEM_GTP_PSC_PDU_T >> to let the pdu type to be configured. >> > Yes you are correct, from rte_flow we have the RTE_FLOW_ITEM_TYPE_GTP_PSC > Item that include pdu_type. This is the field you need right? > > In testpmd we have the ITEM_GTP_PSC_PDU_T which should support adding > the pdu type. > Basically you just need to type the following cmd line: > flow create 0 ingress pattern gtp_psc pdu_t is xxx > if this command is not working we need to understand why. > > please check the part before this patch as below:         [ITEM_GTP_PSC_PDU_T] = {                 .name = "pdu_t",                 .help = "PDU type",                .next = NEXT(item_gtp_psc, NEXT_ENTRY(UNSIGNED), item_param), sure, we got the ITEM_GTP_PSC_PDU_T at prior but the NEXT_ENTRY is UNSIGNED, that means we still not implement the spec to let the pdu type to be configurable, so what the patch do is to fix this issue. >>>> Signed-off-by: Jeff Guo >>>> --- >>>> v1: >>>> no change >>>> --- >>>> app/test-pmd/cmdline_flow.c | 11 ++++++++++- >>>> 1 file changed, 10 insertions(+), 1 deletion(-) >>>> >>>> diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c >>>> index a78154502..c1bd02919 100644 >>>> --- a/app/test-pmd/cmdline_flow.c >>>> +++ b/app/test-pmd/cmdline_flow.c >>>> @@ -49,6 +49,7 @@ enum index { >>>> PORT_ID, >>>> GROUP_ID, >>>> PRIORITY_LEVEL, >>>> + GTP_PSC_PDU_T, >>>> >>>> /* Top-level command. */ >>>> SET, >>>> @@ -1626,6 +1627,13 @@ static const struct token token_list[] = { >>>> .call = parse_int, >>>> .comp = comp_none, >>>> }, >>>> + [GTP_PSC_PDU_T] = { >>>> + .name = "{GTPU pdu type}", >>>> + .type = "INTEGER", >>>> + .help = "gtpu pdu uplink/downlink identifier", >>>> + .call = parse_int, >>>> + .comp = comp_none, >>>> + }, >>> Why is this created at this level? >>> This looks like is should be written totally differently. >> >> As i said above,  the item we got but spec or say next token still need >> to be added, do you mean it should not in the group of Common tokens? If >> so, let me think about that, and please explicit your proposal if you >> already have one. >> > Please see above response. > >>>> /* Top-level command. */ >>>> [FLOW] = { >>>> .name = "flow", >>>> @@ -2615,7 +2623,8 @@ static const struct token token_list[] = { >>>> [ITEM_GTP_PSC_PDU_T] = { >>>> .name = "pdu_t", >>>> .help = "PDU type", >>>> - .next = NEXT(item_gtp_psc, NEXT_ENTRY(UNSIGNED), >>>> item_param), >>>> + .next = NEXT(item_gtp_psc, NEXT_ENTRY(GTP_PSC_PDU_T), >>>> + item_param), >>>> .args = ARGS(ARGS_ENTRY_HTON(struct >>>> rte_flow_item_gtp_psc, >>>> pdu_type)), >>>> }, >>>> -- >>>> 2.20.1