* [dpdk-dev] app/testpmd: parse flow command line for AH @ 2020-02-13 5:07 Xiao Zhang 2020-02-13 6:45 ` Ye Xiaolong 2020-02-14 0:52 ` [dpdk-dev] [v2] " Xiao Zhang 0 siblings, 2 replies; 6+ messages in thread From: Xiao Zhang @ 2020-02-13 5:07 UTC (permalink / raw) To: dev; +Cc: orika, qi.z.zhang, simei.su, bernard.iremonger, Xiao Zhang add ITEM_AH add ITEM_AH_SPI Signed-off-by: Xiao Zhang <xiao.zhang@intel.com> --- app/test-pmd/cmdline_flow.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c index c2cc4c5..680cb1c 100644 --- a/app/test-pmd/cmdline_flow.c +++ b/app/test-pmd/cmdline_flow.c @@ -220,6 +220,8 @@ enum index { ITEM_L2TPV3OIP_SESSION_ID, ITEM_ESP, ITEM_ESP_SPI, + ITEM_AH, + ITEM_AH_SPI, /* Validate/create actions. */ ACTIONS, @@ -768,6 +770,7 @@ static const enum index next_item[] = { ITEM_TAG, ITEM_L2TPV3OIP, ITEM_ESP, + ITEM_AH, END_SET, ZERO, }; @@ -1046,6 +1049,12 @@ static const enum index item_esp[] = { ZERO, }; +static const enum index item_ah[] = { + ITEM_AH_SPI, + ITEM_NEXT, + ZERO, +}; + static const enum index next_set_raw[] = { SET_RAW_INDEX, ITEM_ETH, @@ -2699,6 +2708,19 @@ static const struct token token_list[] = { .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_esp, hdr.spi)), }, + [ITEM_AH] = { + .name = "ah", + .help = "match AH header", + .priv = PRIV_ITEM(AH, sizeof(struct rte_flow_item_ah)), + .next = NEXT(item_ah), + .call = parse_vc, + }, + [ITEM_AH_SPI] = { + .name = "spi", + .help = "security parameters index", + .next = NEXT(item_ah, NEXT_ENTRY(UNSIGNED), item_param), + .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_ah, spi)), + }, /* Validate/create actions. */ [ACTIONS] = { .name = "actions", @@ -6444,6 +6466,9 @@ flow_item_default_mask(const struct rte_flow_item *item) case RTE_FLOW_ITEM_TYPE_ESP: mask = &rte_flow_item_esp_mask; break; + case RTE_FLOW_ITEM_TYPE_AH: + mask = &rte_flow_item_ah_mask; + break; default: break; } @@ -6541,6 +6566,10 @@ cmd_set_raw_parsed(const struct buffer *in) size = sizeof(struct rte_flow_item_esp); proto = 0x32; break; + case RTE_FLOW_ITEM_TYPE_AH: + size = sizeof(struct rte_flow_item_ah); + proto = 0x33; + break; default: printf("Error - Not supported item\n"); *total_size = 0; -- 2.7.4 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dpdk-dev] app/testpmd: parse flow command line for AH 2020-02-13 5:07 [dpdk-dev] app/testpmd: parse flow command line for AH Xiao Zhang @ 2020-02-13 6:45 ` Ye Xiaolong 2020-02-14 1:02 ` Zhang, Xiao 2020-02-14 0:52 ` [dpdk-dev] [v2] " Xiao Zhang 1 sibling, 1 reply; 6+ messages in thread From: Ye Xiaolong @ 2020-02-13 6:45 UTC (permalink / raw) To: Xiao Zhang; +Cc: dev, orika, qi.z.zhang, simei.su, bernard.iremonger Hi, Xiao On 02/13, Xiao Zhang wrote: >add ITEM_AH >add ITEM_AH_SPI Better to add some descriptive sentence about this patch in commit log instead of some simple bullets. Thanks, Xiaolong > >Signed-off-by: Xiao Zhang <xiao.zhang@intel.com> >--- > app/test-pmd/cmdline_flow.c | 29 +++++++++++++++++++++++++++++ > 1 file changed, 29 insertions(+) > >diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c >index c2cc4c5..680cb1c 100644 >--- a/app/test-pmd/cmdline_flow.c >+++ b/app/test-pmd/cmdline_flow.c >@@ -220,6 +220,8 @@ enum index { > ITEM_L2TPV3OIP_SESSION_ID, > ITEM_ESP, > ITEM_ESP_SPI, >+ ITEM_AH, >+ ITEM_AH_SPI, > > /* Validate/create actions. */ > ACTIONS, >@@ -768,6 +770,7 @@ static const enum index next_item[] = { > ITEM_TAG, > ITEM_L2TPV3OIP, > ITEM_ESP, >+ ITEM_AH, > END_SET, > ZERO, > }; >@@ -1046,6 +1049,12 @@ static const enum index item_esp[] = { > ZERO, > }; > >+static const enum index item_ah[] = { >+ ITEM_AH_SPI, >+ ITEM_NEXT, >+ ZERO, >+}; >+ > static const enum index next_set_raw[] = { > SET_RAW_INDEX, > ITEM_ETH, >@@ -2699,6 +2708,19 @@ static const struct token token_list[] = { > .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_esp, > hdr.spi)), > }, >+ [ITEM_AH] = { >+ .name = "ah", >+ .help = "match AH header", >+ .priv = PRIV_ITEM(AH, sizeof(struct rte_flow_item_ah)), >+ .next = NEXT(item_ah), >+ .call = parse_vc, >+ }, >+ [ITEM_AH_SPI] = { >+ .name = "spi", >+ .help = "security parameters index", >+ .next = NEXT(item_ah, NEXT_ENTRY(UNSIGNED), item_param), >+ .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_ah, spi)), >+ }, > /* Validate/create actions. */ > [ACTIONS] = { > .name = "actions", >@@ -6444,6 +6466,9 @@ flow_item_default_mask(const struct rte_flow_item *item) > case RTE_FLOW_ITEM_TYPE_ESP: > mask = &rte_flow_item_esp_mask; > break; >+ case RTE_FLOW_ITEM_TYPE_AH: >+ mask = &rte_flow_item_ah_mask; >+ break; > default: > break; > } >@@ -6541,6 +6566,10 @@ cmd_set_raw_parsed(const struct buffer *in) > size = sizeof(struct rte_flow_item_esp); > proto = 0x32; > break; >+ case RTE_FLOW_ITEM_TYPE_AH: >+ size = sizeof(struct rte_flow_item_ah); >+ proto = 0x33; >+ break; > default: > printf("Error - Not supported item\n"); > *total_size = 0; >-- >2.7.4 > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dpdk-dev] app/testpmd: parse flow command line for AH 2020-02-13 6:45 ` Ye Xiaolong @ 2020-02-14 1:02 ` Zhang, Xiao 0 siblings, 0 replies; 6+ messages in thread From: Zhang, Xiao @ 2020-02-14 1:02 UTC (permalink / raw) To: Ye, Xiaolong; +Cc: dev, orika, Zhang, Qi Z, Su, Simei, Iremonger, Bernard > -----Original Message----- > From: Ye, Xiaolong <xiaolong.ye@intel.com> > Sent: Thursday, February 13, 2020 2:46 PM > To: Zhang, Xiao <xiao.zhang@intel.com> > Cc: dev@dpdk.org; orika@mellanox.com; Zhang, Qi Z <qi.z.zhang@intel.com>; > Su, Simei <simei.su@intel.com>; Iremonger, Bernard > <bernard.iremonger@intel.com> > Subject: Re: [dpdk-dev] app/testpmd: parse flow command line for AH > > Hi, Xiao > > On 02/13, Xiao Zhang wrote: > >add ITEM_AH > >add ITEM_AH_SPI > > Better to add some descriptive sentence about this patch in commit log instead > of some simple bullets. Yes, added more description in v2 patch. Thanks, Xiao > > Thanks, > Xiaolong > > > > >Signed-off-by: Xiao Zhang <xiao.zhang@intel.com> > >--- > > app/test-pmd/cmdline_flow.c | 29 +++++++++++++++++++++++++++++ > > 1 file changed, 29 insertions(+) > > > >diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c > >index c2cc4c5..680cb1c 100644 > >--- a/app/test-pmd/cmdline_flow.c > >+++ b/app/test-pmd/cmdline_flow.c > >@@ -220,6 +220,8 @@ enum index { > > ITEM_L2TPV3OIP_SESSION_ID, > > ITEM_ESP, > > ITEM_ESP_SPI, > >+ ITEM_AH, > >+ ITEM_AH_SPI, > > > > /* Validate/create actions. */ > > ACTIONS, > >@@ -768,6 +770,7 @@ static const enum index next_item[] = { > > ITEM_TAG, > > ITEM_L2TPV3OIP, > > ITEM_ESP, > >+ ITEM_AH, > > END_SET, > > ZERO, > > }; > >@@ -1046,6 +1049,12 @@ static const enum index item_esp[] = { > > ZERO, > > }; > > > >+static const enum index item_ah[] = { > >+ ITEM_AH_SPI, > >+ ITEM_NEXT, > >+ ZERO, > >+}; > >+ > > static const enum index next_set_raw[] = { > > SET_RAW_INDEX, > > ITEM_ETH, > >@@ -2699,6 +2708,19 @@ static const struct token token_list[] = { > > .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_esp, > > hdr.spi)), > > }, > >+ [ITEM_AH] = { > >+ .name = "ah", > >+ .help = "match AH header", > >+ .priv = PRIV_ITEM(AH, sizeof(struct rte_flow_item_ah)), > >+ .next = NEXT(item_ah), > >+ .call = parse_vc, > >+ }, > >+ [ITEM_AH_SPI] = { > >+ .name = "spi", > >+ .help = "security parameters index", > >+ .next = NEXT(item_ah, NEXT_ENTRY(UNSIGNED), item_param), > >+ .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_ah, > spi)), > >+ }, > > /* Validate/create actions. */ > > [ACTIONS] = { > > .name = "actions", > >@@ -6444,6 +6466,9 @@ flow_item_default_mask(const struct rte_flow_item > *item) > > case RTE_FLOW_ITEM_TYPE_ESP: > > mask = &rte_flow_item_esp_mask; > > break; > >+ case RTE_FLOW_ITEM_TYPE_AH: > >+ mask = &rte_flow_item_ah_mask; > >+ break; > > default: > > break; > > } > >@@ -6541,6 +6566,10 @@ cmd_set_raw_parsed(const struct buffer *in) > > size = sizeof(struct rte_flow_item_esp); > > proto = 0x32; > > break; > >+ case RTE_FLOW_ITEM_TYPE_AH: > >+ size = sizeof(struct rte_flow_item_ah); > >+ proto = 0x33; > >+ break; > > default: > > printf("Error - Not supported item\n"); > > *total_size = 0; > >-- > >2.7.4 > > ^ permalink raw reply [flat|nested] 6+ messages in thread
* [dpdk-dev] [v2] app/testpmd: parse flow command line for AH 2020-02-13 5:07 [dpdk-dev] app/testpmd: parse flow command line for AH Xiao Zhang 2020-02-13 6:45 ` Ye Xiaolong @ 2020-02-14 0:52 ` Xiao Zhang 2020-03-01 7:56 ` Ori Kam 1 sibling, 1 reply; 6+ messages in thread From: Xiao Zhang @ 2020-02-14 0:52 UTC (permalink / raw) To: dev; +Cc: orika, qi.z.zhang, simei.su, bernard.iremonger, Xiao Zhang Add AH and AH SPI to testpmd rte flow command line. Add note and sample AH rules in testpmd guide. Signed-off-by: Xiao Zhang <xiao.zhang@intel.com> --- v2 Add sample rules in testpmd guide. --- app/test-pmd/cmdline_flow.c | 29 +++++++++++++++++++++++++++++ doc/guides/testpmd_app_ug/testpmd_funcs.rst | 18 ++++++++++++++++++ 2 files changed, 47 insertions(+) diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c index c2cc4c5..680cb1c 100644 --- a/app/test-pmd/cmdline_flow.c +++ b/app/test-pmd/cmdline_flow.c @@ -220,6 +220,8 @@ enum index { ITEM_L2TPV3OIP_SESSION_ID, ITEM_ESP, ITEM_ESP_SPI, + ITEM_AH, + ITEM_AH_SPI, /* Validate/create actions. */ ACTIONS, @@ -768,6 +770,7 @@ static const enum index next_item[] = { ITEM_TAG, ITEM_L2TPV3OIP, ITEM_ESP, + ITEM_AH, END_SET, ZERO, }; @@ -1046,6 +1049,12 @@ static const enum index item_esp[] = { ZERO, }; +static const enum index item_ah[] = { + ITEM_AH_SPI, + ITEM_NEXT, + ZERO, +}; + static const enum index next_set_raw[] = { SET_RAW_INDEX, ITEM_ETH, @@ -2699,6 +2708,19 @@ static const struct token token_list[] = { .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_esp, hdr.spi)), }, + [ITEM_AH] = { + .name = "ah", + .help = "match AH header", + .priv = PRIV_ITEM(AH, sizeof(struct rte_flow_item_ah)), + .next = NEXT(item_ah), + .call = parse_vc, + }, + [ITEM_AH_SPI] = { + .name = "spi", + .help = "security parameters index", + .next = NEXT(item_ah, NEXT_ENTRY(UNSIGNED), item_param), + .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_ah, spi)), + }, /* Validate/create actions. */ [ACTIONS] = { .name = "actions", @@ -6444,6 +6466,9 @@ flow_item_default_mask(const struct rte_flow_item *item) case RTE_FLOW_ITEM_TYPE_ESP: mask = &rte_flow_item_esp_mask; break; + case RTE_FLOW_ITEM_TYPE_AH: + mask = &rte_flow_item_ah_mask; + break; default: break; } @@ -6541,6 +6566,10 @@ cmd_set_raw_parsed(const struct buffer *in) size = sizeof(struct rte_flow_item_esp); proto = 0x32; break; + case RTE_FLOW_ITEM_TYPE_AH: + size = sizeof(struct rte_flow_item_ah); + proto = 0x33; + break; default: printf("Error - Not supported item\n"); *total_size = 0; diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst index 5103ff9..95f4f06 100644 --- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst +++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst @@ -3987,6 +3987,10 @@ This section lists supported pattern items and their attributes, if any. - ``session_id {unsigned}``: L2TPv3 over IP session identifier. +- ``ah``: match AH header. + + - ``spi {unsigned}``: security parameters index. + Actions list ^^^^^^^^^^^^ @@ -4822,6 +4826,20 @@ ESP rules can be created by the following commands:: testpmd> flow create 0 ingress pattern eth / ipv6 / udp / esp spi is 1 / end actions queue index 3 / end +Sample AH rules +~~~~~~~~~~~~~~~~ + +AH rules can be created by the following commands:: + + testpmd> flow create 0 ingress pattern eth / ipv4 / ah spi is 1 / end actions + queue index 3 / end + testpmd> flow create 0 ingress pattern eth / ipv4 / udp / ah spi is 1 / end + actions queue index 3 / end + testpmd> flow create 0 ingress pattern eth / ipv6 / ah spi is 1 / end actions + queue index 3 / end + testpmd> flow create 0 ingress pattern eth / ipv6 / udp / ah spi is 1 / end + actions queue index 3 / end + BPF Functions -------------- -- 2.7.4 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dpdk-dev] [v2] app/testpmd: parse flow command line for AH 2020-02-14 0:52 ` [dpdk-dev] [v2] " Xiao Zhang @ 2020-03-01 7:56 ` Ori Kam 2020-03-02 12:16 ` Ferruh Yigit 0 siblings, 1 reply; 6+ messages in thread From: Ori Kam @ 2020-03-01 7:56 UTC (permalink / raw) To: Xiao Zhang, dev; +Cc: qi.z.zhang, simei.su, bernard.iremonger > -----Original Message----- > From: Xiao Zhang <xiao.zhang@intel.com> > Subject: [v2] app/testpmd: parse flow command line for AH > > Add AH and AH SPI to testpmd rte flow command line. > Add note and sample AH rules in testpmd guide. > > Signed-off-by: Xiao Zhang <xiao.zhang@intel.com> > --- > v2 Add sample rules in testpmd guide. > --- > app/test-pmd/cmdline_flow.c | 29 > +++++++++++++++++++++++++++++ > doc/guides/testpmd_app_ug/testpmd_funcs.rst | 18 ++++++++++++++++++ > 2 files changed, 47 insertions(+) > > diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c > index c2cc4c5..680cb1c 100644 > --- a/app/test-pmd/cmdline_flow.c > +++ b/app/test-pmd/cmdline_flow.c > @@ -220,6 +220,8 @@ enum index { > ITEM_L2TPV3OIP_SESSION_ID, > ITEM_ESP, > ITEM_ESP_SPI, > + ITEM_AH, > + ITEM_AH_SPI, > > /* Validate/create actions. */ > ACTIONS, > @@ -768,6 +770,7 @@ static const enum index next_item[] = { > ITEM_TAG, > ITEM_L2TPV3OIP, > ITEM_ESP, > + ITEM_AH, > END_SET, > ZERO, > }; > @@ -1046,6 +1049,12 @@ static const enum index item_esp[] = { > ZERO, > }; > > +static const enum index item_ah[] = { > + ITEM_AH_SPI, > + ITEM_NEXT, > + ZERO, > +}; > + > static const enum index next_set_raw[] = { > SET_RAW_INDEX, > ITEM_ETH, > @@ -2699,6 +2708,19 @@ static const struct token token_list[] = { > .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_esp, > hdr.spi)), > }, > + [ITEM_AH] = { > + .name = "ah", > + .help = "match AH header", > + .priv = PRIV_ITEM(AH, sizeof(struct rte_flow_item_ah)), > + .next = NEXT(item_ah), > + .call = parse_vc, > + }, > + [ITEM_AH_SPI] = { > + .name = "spi", > + .help = "security parameters index", > + .next = NEXT(item_ah, NEXT_ENTRY(UNSIGNED), item_param), > + .args = ARGS(ARGS_ENTRY_HTON(struct rte_flow_item_ah, > spi)), > + }, > /* Validate/create actions. */ > [ACTIONS] = { > .name = "actions", > @@ -6444,6 +6466,9 @@ flow_item_default_mask(const struct rte_flow_item > *item) > case RTE_FLOW_ITEM_TYPE_ESP: > mask = &rte_flow_item_esp_mask; > break; > + case RTE_FLOW_ITEM_TYPE_AH: > + mask = &rte_flow_item_ah_mask; > + break; > default: > break; > } > @@ -6541,6 +6566,10 @@ cmd_set_raw_parsed(const struct buffer *in) > size = sizeof(struct rte_flow_item_esp); > proto = 0x32; > break; > + case RTE_FLOW_ITEM_TYPE_AH: > + size = sizeof(struct rte_flow_item_ah); > + proto = 0x33; > + break; > default: > printf("Error - Not supported item\n"); > *total_size = 0; > diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst > b/doc/guides/testpmd_app_ug/testpmd_funcs.rst > index 5103ff9..95f4f06 100644 > --- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst > +++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst > @@ -3987,6 +3987,10 @@ This section lists supported pattern items and their > attributes, if any. > > - ``session_id {unsigned}``: L2TPv3 over IP session identifier. > > +- ``ah``: match AH header. > + > + - ``spi {unsigned}``: security parameters index. > + > Actions list > ^^^^^^^^^^^^ > > @@ -4822,6 +4826,20 @@ ESP rules can be created by the following > commands:: > testpmd> flow create 0 ingress pattern eth / ipv6 / udp / esp spi is 1 / end > actions queue index 3 / end > > +Sample AH rules > +~~~~~~~~~~~~~~~~ > + > +AH rules can be created by the following commands:: > + > + testpmd> flow create 0 ingress pattern eth / ipv4 / ah spi is 1 / end actions > + queue index 3 / end > + testpmd> flow create 0 ingress pattern eth / ipv4 / udp / ah spi is 1 / end > + actions queue index 3 / end > + testpmd> flow create 0 ingress pattern eth / ipv6 / ah spi is 1 / end actions > + queue index 3 / end > + testpmd> flow create 0 ingress pattern eth / ipv6 / udp / ah spi is 1 / end > + actions queue index 3 / end > + > BPF Functions > -------------- > > -- > 2.7.4 Acked-by: Ori Kam <orika@mellanox.com> Best, Ori Kam ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dpdk-dev] [v2] app/testpmd: parse flow command line for AH 2020-03-01 7:56 ` Ori Kam @ 2020-03-02 12:16 ` Ferruh Yigit 0 siblings, 0 replies; 6+ messages in thread From: Ferruh Yigit @ 2020-03-02 12:16 UTC (permalink / raw) To: Ori Kam, Xiao Zhang, dev; +Cc: qi.z.zhang, simei.su, bernard.iremonger On 3/1/2020 7:56 AM, Ori Kam wrote: > > >> -----Original Message----- >> From: Xiao Zhang <xiao.zhang@intel.com> >> Subject: [v2] app/testpmd: parse flow command line for AH >> >> Add AH and AH SPI to testpmd rte flow command line. >> Add note and sample AH rules in testpmd guide. >> > > Acked-by: Ori Kam <orika@mellanox.com> > Applied to dpdk-next-net/master, thanks. ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2020-03-02 12:16 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-02-13 5:07 [dpdk-dev] app/testpmd: parse flow command line for AH Xiao Zhang 2020-02-13 6:45 ` Ye Xiaolong 2020-02-14 1:02 ` Zhang, Xiao 2020-02-14 0:52 ` [dpdk-dev] [v2] " Xiao Zhang 2020-03-01 7:56 ` Ori Kam 2020-03-02 12:16 ` Ferruh Yigit
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).