[dpdk-dev] [dpdk-dev v2 3/4] app/testpmd: support GTP PDU type
Jeff Guo
jia.guo at intel.com
Tue Mar 31 10:50:08 CEST 2020
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 <jia.guo at intel.com>
>> Sent: Monday, March 30, 2020 11:30 AM
>> To: Ori Kam <orika at mellanox.com>; xiaolong.ye at intel.com;
>> qi.z.zhang at intel.com
>> Cc: dev at dpdk.org; jingjing.wu at intel.com; yahui.cao at intel.com;
>> simei.su at 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 <dev-bounces at dpdk.org> On Behalf Of Jeff Guo
>>>> Sent: Thursday, March 26, 2020 6:41 PM
>>>> To: xiaolong.ye at intel.com; qi.z.zhang at intel.com
>>>> Cc: dev at dpdk.org; jingjing.wu at intel.com; yahui.cao at intel.com;
>>>> simei.su at intel.com; jia.guo at 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 <jia.guo at intel.com>
>>>> ---
>>>> 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
More information about the dev
mailing list