Add support for VXLAN and NVGRE encap as a sample actions
v3 cover Add support for VXLAN and NVGRE encap as a sample actions
This series adds support for VXLAN and NVGRE encap as a sample actions with the proper documentation, this series depends on [1] for the documentation part.
[1] http://patches.dpdk.org/project/dpdk/patch/[email protected]/
V2: updated ("doc: update sample actions support in testpmd guide") fixing a build issue.
V3: added ("doc: update dpdk 21.05 release notes").
Jiawei Wang (1):
app/testpmd: store VXLAN/NVGRE encap data globally
Salem Sol (7):
net/mlx5: support VXLAN encap action in sample net/mlx5: support NVGRE encap action in sample app/testpmd: support VXLAN encap for sample action app/testpmd: support NVGRE encap for sample action
doc: update sample actions support in testpmd guide
doc: update sample actions support in mlx5 guide
doc: update dpdk 21.05 release notes
app/test-pmd/cmdline_flow.c | 90 ++++++++++++++------- doc/guides/nics/mlx5.rst | 4 +- doc/guides/rel_notes/release_21_05.rst | 6 ++ doc/guides/testpmd_app_ug/testpmd_funcs.rst | 22 +++++ drivers/net/mlx5/mlx5_flow_dv.c | 13 +++ 5 files changed, 106 insertions(+), 29 deletions(-)
Signature · 1 line
2.21.0
PATCH v3 1/8 app/testpmd: store VXLAN/NVGRE encap data globally
From: Jiawei Wang <[email protected]>
With the current code the VXLAN/NVGRE parsing routine stored the configuration of the header on stack, this might lead to overwriting the data on the stack.
This patch stores the external data of vxlan and nvgre encap into global data as a pre-step to supporting vxlan and nvgre encap as a sample actions.
--- app/test-pmd/cmdline_flow.c | 76 ++++++++++++++++++++++++------------- 1 file changed, 49 insertions(+), 27 deletions(-)
app/test-pmd/cmdline_flow.c +49 -27
@@ -5244,31 +5244,14 @@ parse_vc_action_rss_queue(struct context *ctx, const struct token *token,return len; } -/** Parse VXLAN encap action. */ +/** Setup VXLAN encap configuration. */ static int -parse_vc_action_vxlan_encap (struct context *ctx,const struct token *token, -const char *str,unsigned int len, -void *buf,unsigned int size) +parse_setup_vxlan_encap_data + (struct action_vxlan_encap_data *action_vxlan_encap_data) { -struct buffer *out = buf; -struct rte_flow_action *action; -struct action_vxlan_encap_data *action_vxlan_encap_data; -int ret; - - ret =parse_vc (ctx, token, str, len, buf, size); -if (ret <0 ) -return ret; -/* Nothing else to do if there is no buffer. */ -if (!out) -return ret; -if (!out->args.vc.actions_n) +if (!action_vxlan_encap_data)return -1 ; - action = &out->args.vc.actions[out->args.vc.actions_n -1 ]; -/* Point to selected object. */ - ctx->object = out->args.vc.data; - ctx->objmask =NULL ;/* Set up default configuration. */ - action_vxlan_encap_data = ctx->object; *action_vxlan_encap_data = (struct action_vxlan_encap_data ){ .conf = (struct rte_flow_action_vxlan_encap ){ .definition = action_vxlan_encap_data->items,
@@ -5372,19 +5355,18 @@ parse_vc_action_vxlan_encap(struct context *ctx, const struct token *token, }memcpy (action_vxlan_encap_data->item_vxlan.vni, vxlan_encap_conf.vni,RTE_DIM (vxlan_encap_conf.vni)); - action->conf = &action_vxlan_encap_data->conf; -return ret; +return 0 ; } -/** Parse NVGRE encap action. */ +/** Parse VXLAN encap action. */ static int -parse_vc_action_nvgre_encap (struct context *ctx,const struct token *token, +parse_vc_action_vxlan_encap (struct context *ctx,const struct token *token,const char *str,unsigned int len,void *buf,unsigned int size) {struct buffer *out = buf;struct rte_flow_action *action; -struct action_nvgre_encap_data *action_nvgre_encap_data; +struct action_vxlan_encap_data *action_vxlan_encap_data;int ret; ret =parse_vc (ctx, token, str, len, buf, size);
@@ -5399,8 +5381,20 @@ parse_vc_action_nvgre_encap(struct context *ctx, const struct token *token,/* Point to selected object. */ ctx->object = out->args.vc.data; ctx->objmask =NULL ; + action_vxlan_encap_data = ctx->object; +parse_setup_vxlan_encap_data (action_vxlan_encap_data); + action->conf = &action_vxlan_encap_data->conf; +return ret; +} + +/** Setup NVGRE encap configuration. */ +static int +parse_setup_nvgre_encap_data + (struct action_nvgre_encap_data *action_nvgre_encap_data) +{ +if (!action_nvgre_encap_data) +return -1 ;/* Set up default configuration. */ - action_nvgre_encap_data = ctx->object; *action_nvgre_encap_data = (struct action_nvgre_encap_data ){ .conf = (struct rte_flow_action_nvgre_encap ){ .definition = action_nvgre_encap_data->items,
@@ -5463,6 +5457,34 @@ parse_vc_action_nvgre_encap(struct context *ctx, const struct token *token,RTE_FLOW_ITEM_TYPE_VOID ;memcpy (action_nvgre_encap_data->item_nvgre.tni, nvgre_encap_conf.tni,RTE_DIM (nvgre_encap_conf.tni)); +return 0 ; +} + +/** Parse NVGRE encap action. */ +static int +parse_vc_action_nvgre_encap (struct context *ctx,const struct token *token, +const char *str,unsigned int len, +void *buf,unsigned int size) +{ +struct buffer *out = buf; +struct rte_flow_action *action; +struct action_nvgre_encap_data *action_nvgre_encap_data; +int ret; + + ret =parse_vc (ctx, token, str, len, buf, size); +if (ret <0 ) +return ret; +/* Nothing else to do if there is no buffer. */ +if (!out) +return ret; +if (!out->args.vc.actions_n) +return -1 ; + action = &out->args.vc.actions[out->args.vc.actions_n -1 ]; +/* Point to selected object. */ + ctx->object = out->args.vc.data; + ctx->objmask =NULL ; + action_nvgre_encap_data = ctx->object; +parse_setup_nvgre_encap_data (action_nvgre_encap_data); action->conf = &action_nvgre_encap_data->conf;return ret; }
Signature · 1 line
2.21.0
Re: [dpdk-dev] [PATCH v3 1/8] app/testpmd: store VXLAN/NVGRE encap data globally
Quoted 11 lines
-----Original Message-----
From: dev <[email protected]> On Behalf Of Salem Sol
Sent: Wednesday, March 17, 2021 11:26
To: [email protected]
Cc: Jiawei(Jonny) Wang <[email protected]>; Ori Kam <[email protected]>; Xiaoyun Li <[email protected]>
Subject: [dpdk-dev] [PATCH v3 1/8] app/testpmd: store VXLAN/NVGRE encap data globallyFrom: Jiawei Wang <[email protected]>
Quoted 8 lines
With the current code the VXLAN/NVGRE parsing routine stored the configuration of the header on stack, this might lead to overwriting the data on the stack.
This patch stores the external data of vxlan and nvgre encap into global data as a pre-step to supporting vxlan and nvgre encap as a sample actions.
Signed-off-by Jiawei Wang <[email protected]>
Re: [dpdk-dev] [PATCH v3 1/8] app/testpmd: store VXLAN/NVGRE encap data globally
In reply to Salem SolQuoted 10 lines · Salem Sol
From: Jiawei Wang <[email protected]>
With the current code the VXLAN/NVGRE parsing routine stored the configuration of the header on stack, this might lead to overwriting the data on the stack.
This patch stores the external data of vxlan and nvgre encap into global data as a pre-step to supporting vxlan and nvgre encap as a sample actions.
I didn't get what was on stack and moved in to the global data, can you please elaborate.
For example for nvgre, 'action_nvgre_encap_data' is pointer in stack but the actual object is 'ctx->object', so it is not really in the stack.
Tough, OK to refactor and split the function as preparation to support the sample action.
Quoted 1 line
Signed-off-by Jiawei Wang <[email protected]>
<...>
app/test-pmd/cmdline_flow.c parse_vc_action_rss_queue(struct context *ctx, const struct token *token, · line 5250
Quoted 8 lines
app/test-pmd/cmdline_flow.c +3
-4-/** Parse VXLAN encap action. */ +/** Setup VXLAN encap configuration. */ static int -parse_vc_action_vxlan_encap (struct context *ctx,const struct token *token, -const char *str,unsigned int len, -void *buf,unsigned int size) +parse_setup_vxlan_encap_data + (struct action_vxlan_encap_data *action_vxlan_encap_data)
Can you please fix the syntax, I guess this is done to keep within in 80 column limit, but from readability perspective I think better to go over the 80 column a little instead of breaking the line like this.
<...>
app/test-pmd/cmdline_flow.c parse_vc_action_nvgre_encap(struct context *ctx, const struct token *token, · line 5396
Quoted 7 lines
app/test-pmd/cmdline_flow.c +7
-0+/** Setup NVGRE encap configuration. */ +static int +parse_setup_nvgre_encap_data + (struct action_nvgre_encap_data *action_nvgre_encap_data) +{ +if (!action_nvgre_encap_data) +return -1 ;
This is a static function, and the input of it is in our control, so not sure if we should verify the input here. But if we need to, can you please check the return value of this function where it is called.
Re: [dpdk-dev] [PATCH v3 1/8] app/testpmd: store VXLAN/NVGRE encap data globally
Hello Ferruh,
Quoted 16 lines
-----Original Message-----
From: Ferruh Yigit <[email protected]>
Sent: Wednesday, March 31, 2021 8:08 PM
To: Salem Sol <[email protected]>; [email protected]
Cc: Jiawei(Jonny) Wang <[email protected]>; Ori Kam <[email protected]>; Xiaoyun Li <[email protected]>
Subject: Re: [dpdk-dev] [PATCH v3 1/8] app/testpmd: store VXLAN/NVGRE encap data globallyQuoted 6 lines · Salem Sol
From: Jiawei Wang <[email protected]>
With the current code the VXLAN/NVGRE parsing routine stored the configuration of the header on stack, this might lead to overwriting the data on the stack.
Quoted 8 lines
Quoted 4 lines
This patch stores the external data of vxlan and nvgre encap into global data as a pre-step to supporting vxlan and nvgre encap as a sample actions.
I didn't get what was on stack and moved in to the global data, can you please elaborate.
This patch split the function and saved input data into input parameter:
So it mentioned here "pre-step" for next store the data of vxlan/nvgre into global.
The global var for sample action is defined in:
(https://patches.dpdk.org/project/dpdk/patch/[email protected]/)
struct action_vxlan_encap_data sample_vxlan_encap[RAW_SAMPLE_CONFS_MAX_NUM];
Quoted 3 lines
For example for nvgre, '
action_nvgre_encap_data' is pointer in stack but the actual object is 'ctx->object', so it is not really in the stack.
After call 'set sample 0 nvgre .. ', the data be stored into 'ctx->object', the 'ctx->object' will be reused for the following CLI command, After that, while we try to use previous 'sample action' to fetch nvgre data, these data may be lost.
For sample action, use global data can save the previous nvgre configurations data.
Quoted 12 lines
Tough, OK to refactor and split the function as preparation to support the sample action.
Quoted 1 line
Signed-off-by Jiawei Wang <[email protected]><...>
app/test-pmd/cmdline_flow.c parse_vc_action_rss_queue(struct context *ctx, const struct token *token,
Quoted 4 lines
app/test-pmd/cmdline_flow.c +1
-2-/** Parse VXLAN encap action. */ +/** Setup VXLAN encap configuration. */ static int -parse_vc_action_vxlan_encap(struct context *ctx, const struct token*token,
Quoted 9 lines
app/test-pmd/cmdline_flow.c parse_vc_action_rss_queue(struct context *ctx, const struct token *token, · line 5250
Quoted 4 lines
app/test-pmd/cmdline_flow.c +2
-2- const char *str, unsigned int len, - void *buf, unsigned int size) +parse_setup_vxlan_encap_data + (struct action_vxlan_encap_data *action_vxlan_encap_data)Can you please fix the syntax, I guess this is done to keep within in 80 column limit, but from readability perspective I think better to go over the 80 column a little instead of breaking the line like this.
Ok, will change into one line.
Quoted 6 lines
<...>
app/test-pmd/cmdline_flow.c parse_vc_action_nvgre_encap(struct context *ctx, const struct token *token, · line 5393
Quoted 3 lines
app/test-pmd/cmdline_flow.c +3
-0+/** Setup NVGRE encap configuration. */ static int +parse_setup_nvgre_encap_data + (struct action_nvgre_encap_data *action_nvgre_encap_data){
Quoted 7 lines
app/test-pmd/cmdline_flow.c parse_vc_action_nvgre_encap(struct context *ctx, const struct token *token, · line 5396
Quoted 2 lines
app/test-pmd/cmdline_flow.c +2
-0+if (!action_nvgre_encap_data) +return -1 ;This is a static function, and the input of it is in our control, so not sure if we should verify the input here.
But if we need to, can you please check the return value of this function where it is called.
I agree with you that can remove this checking inside, since we make sure it's valid before call.
Thanks.
Re: [dpdk-dev] [PATCH v3 1/8] app/testpmd: store VXLAN/NVGRE encap data globally
Quoted 27 lines · Jiawei(Jonny) Wang
Hello Ferruh,
Quoted 16 lines
-----Original Message-----
From: Ferruh Yigit <[email protected]>
Sent: Wednesday, March 31, 2021 8:08 PM
To: Salem Sol <[email protected]>; [email protected]
Cc: Jiawei(Jonny) Wang <[email protected]>; Ori Kam <[email protected]>; Xiaoyun Li <[email protected]>
Subject: Re: [dpdk-dev] [PATCH v3 1/8] app/testpmd: store VXLAN/NVGRE encap data globallyQuoted 6 lines · Salem Sol
From: Jiawei Wang <[email protected]>
With the current code the VXLAN/NVGRE parsing routine stored the configuration of the header on stack, this might lead to overwriting the data on the stack.
Quoted 8 lines
Quoted 4 lines
This patch stores the external data of vxlan and nvgre encap into global data as a pre-step to supporting vxlan and nvgre encap as a sample actions.
I didn't get what was on stack and moved in to the global data, can you please elaborate.
Quoted 7 lines
This patch split the function and saved input data into input parameter:
So it mentioned here "pre-step" for next store the data of vxlan/nvgre into global.The global var for sample action is defined in:
(https://patches.dpdk.org/project/dpdk/patch/[email protected]/)
structaction_vxlan_encap_datasample_vxlan_encap[RAW_SAMPLE_CONFS_MAX_NUM];
Commit log says:
"
This patch stores the external data of vxlan and nvgre encap into global data as a pre-step to supporting vxlan and nvgre encap as a sample actions.
"
It says this patch does storing into the global data, but as far as I can see from code and above description, this patch is just preparation for it. I can see there is a new version which has same commit log, can you please update it in new version?
Quoted 10 lines
Quoted 3 lines
For example for nvgre, '
action_nvgre_encap_data' is pointer in stack but the actual object is 'ctx->object', so it is not really in the stack.After call 'set sample 0 nvgre .. ', the data be stored into '
ctx->object', the 'ctx->object' will be reused for the following CLI command, After that, while we try to use previous 'sample action' to fetch nvgre data, these data may be lost.For sample action, use global data can save the previous nvgre configurations data.
Got it, the target is to use "set sample_actions ..." testpmd command to store vxlan/nvgre encap sample actions. For record, can you please document what was the way to the same before this support, can you please document the old testpmd command.
Quoted 42 lines
Quoted 12 lines
Tough, OK to refactor and split the function as preparation to support the sample action.
Quoted 1 line
Signed-off-by Jiawei Wang <[email protected]><...>
app/test-pmd/cmdline_flow.c parse_vc_action_rss_queue(struct context *ctx, const struct token *token,
Quoted 4 lines
app/test-pmd/cmdline_flow.c +1
-2-/** Parse VXLAN encap action. */ +/** Setup VXLAN encap configuration. */ static int -parse_vc_action_vxlan_encap(struct context *ctx, const struct token*token,
Quoted 9 lines
app/test-pmd/cmdline_flow.c parse_vc_action_rss_queue(struct context *ctx, const struct token *token, · line 5250
Quoted 4 lines
app/test-pmd/cmdline_flow.c +2
-2- const char *str, unsigned int len, - void *buf, unsigned int size) +parse_setup_vxlan_encap_data + (struct action_vxlan_encap_data *action_vxlan_encap_data)Can you please fix the syntax, I guess this is done to keep within in 80 column limit, but from readability perspective I think better to go over the 80 column a little instead of breaking the line like this.
Ok, will change into one line.
Quoted 6 lines
<...>
app/test-pmd/cmdline_flow.c parse_vc_action_nvgre_encap(struct context *ctx, const struct token *token, · line 5393
Quoted 3 lines
app/test-pmd/cmdline_flow.c +3
-0+/** Setup NVGRE encap configuration. */ static int +parse_setup_nvgre_encap_data + (struct action_nvgre_encap_data *action_nvgre_encap_data){
Quoted 7 lines
app/test-pmd/cmdline_flow.c parse_vc_action_nvgre_encap(struct context *ctx, const struct token *token, · line 5396
Quoted 2 lines
app/test-pmd/cmdline_flow.c +2
-0+if (!action_nvgre_encap_data) +return -1 ;This is a static function, and the input of it is in our control, so not sure if we should verify the input here.
But if we need to, can you please check the return value of this function where it is called.I agree with you that can remove this checking inside, since we make sure it's valid before call.
Thanks.
Re: [dpdk-dev] [PATCH v3 1/8] app/testpmd: store VXLAN/NVGRE encap data globally
Hi Ferruh,
-----Original Message-----
From: Ferruh Yigit <[email protected]>
Sent: Tuesday, April 6, 2021 5:44 PM
To: Jiawei(Jonny) Wang <[email protected]>; Salem Sol <[email protected]>; [email protected]
Cc: Ori Kam <[email protected]>; Xiaoyun Li <[email protected]>
Subject: Re: [dpdk-dev] [PATCH v3 1/8] app/testpmd: store VXLAN/NVGRE encap data globally
External email: Use caution opening links or attachments
Quoted 30 lines · Jiawei(Jonny) Wang
Hello Ferruh,
Quoted 16 lines
-----Original Message-----
From: Ferruh Yigit <[email protected]>
Sent: Wednesday, March 31, 2021 8:08 PM
To: Salem Sol <[email protected]>; [email protected]
Cc: Jiawei(Jonny) Wang <[email protected]>; Ori Kam <[email protected]>; Xiaoyun Li <[email protected]>
Subject: Re: [dpdk-dev] [PATCH v3 1/8] app/testpmd: store VXLAN/NVGRE encap data globallyQuoted 6 lines · Salem Sol
From: Jiawei Wang <[email protected]>
With the current code the VXLAN/NVGRE parsing routine stored the configuration of the header on stack, this might lead to overwriting the data on the stack.
Quoted 8 lines
Quoted 4 lines
This patch stores the external data of vxlan and nvgre encap into global data as a pre-step to supporting vxlan and nvgre encap as a sample actions.
I didn't get what was on stack and moved in to the global data, can you please elaborate.
This patch split the function and saved input data into input parameter:
So it mentioned here "pre-step" for next store the data of vxlan/nvgre into global.
Quoted 11 lines
The global var for sample action is defined in:
(https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpat
ches.dpdk.org%2Fproject%2Fdpdk%2Fpatch%2F20210317092610.71000-5-salems %40nvidia.com%2F&data=04%7C01%7Csalems%40nvidia.com%7Cd9baadbc48fc 44caf4fc08d8f90a7553%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C6375 33170601193210%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2l uMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=olwLyRnHnM7TyKDFI xVH3Dj6KhWtUzdXgAyGgON4M9M%3D&reserved=0)
structaction_vxlan_encap_datasample_vxlan_encap[RAW_SAMPLE_CONFS_MAX_NUM];
Commit log says:
"
This patch stores the external data of vxlan and nvgre encap into global data as a pre-step to supporting vxlan and nvgre encap as a sample actions. "
It says this patch does storing into the global data, but as far as I can see from code and above description, this patch is just preparation for it. I can see there is a new version which has same commit log, can you please update it in new version?
I will update in the next series.
Quoted 10 lines
Quoted 3 lines
For example for nvgre, '
action_nvgre_encap_data' is pointer in stack but the actual object is 'ctx->object', so it is not really in the stack.After call 'set sample 0 nvgre .. ', the data be stored into
'ctx->object', the 'ctx->object' will be reused for the following CLI
command, After that, while we try to use previous 'sample action' to fetch nvgre data, these data may be lost.For sample action, use global data can save the previous nvgre configurations data.
Got it, the target is to use "set sample_actions ..." testpmd command to store vxlan/nvgre encap sample actions. For record, can you please document what was the way to the same before this support, can you please document the old testpmd command.
Can you please elaborate regarding where did you want this documentation?
Prior to this support it is already documented, in http://patches.dpdk.org/project/dpdk/patch/[email protected]/
With the "raw_encap"
Quoted 44 lines
Quoted 12 lines
Tough, OK to refactor and split the function as preparation to support the sample action.
Quoted 1 line
Signed-off-by Jiawei Wang <[email protected]><...>
app/test-pmd/cmdline_flow.c parse_vc_action_rss_queue(struct context *ctx, const struct token *token,
Quoted 4 lines
app/test-pmd/cmdline_flow.c +1
-2-/** Parse VXLAN encap action. */ +/** Setup VXLAN encap configuration. */ static int -parse_vc_action_vxlan_encap(struct context *ctx, const struct token*token,
Quoted 10 lines
app/test-pmd/cmdline_flow.c parse_vc_action_rss_queue(struct context *ctx, const struct token *token,
Quoted 5 lines
app/test-pmd/cmdline_flow.c +3
-2- const char *str, unsigned int len, - void *buf, unsigned int size) +parse_setup_vxlan_encap_data + (struct action_vxlan_encap_data +*action_vxlan_encap_data)Can you please fix the syntax, I guess this is done to keep within in 80 column limit, but from readability perspective I think better to go over the 80 column a little instead of breaking the line like this.
Ok, will change into one line.
Quoted 7 lines
<...>
Review
Quoted 4 lines
(quoted diff) +4
-0+/** Setup NVGRE encap configuration. */ static int +parse_setup_nvgre_encap_data + (struct action_nvgre_encap_data +*action_nvgre_encap_data){
Quoted 7 lines
app/test-pmd/cmdline_flow.c parse_vc_action_nvgre_encap(struct context *ctx, const struct token *token, · line 5396
Quoted 2 lines
app/test-pmd/cmdline_flow.c +2
-0+if (!action_nvgre_encap_data) +return -1 ;This is a static function, and the input of it is in our control, so not sure if we should verify the input here.
But if we need to, can you please check the return value of this function where it is called.I agree with you that can remove this checking inside, since we make sure it's valid before call.
Thanks.
Re: [dpdk-dev] [PATCH v3 1/8] app/testpmd: store VXLAN/NVGRE encap data globally
Quoted 77 lines · Salem Sol
Hi Ferruh,
-----Original Message-----
From: Ferruh Yigit <[email protected]>
Sent: Tuesday, April 6, 2021 5:44 PM
To: Jiawei(Jonny) Wang <[email protected]>; Salem Sol <[email protected]>; [email protected]
Cc: Ori Kam <[email protected]>; Xiaoyun Li <[email protected]>
Subject: Re: [dpdk-dev] [PATCH v3 1/8] app/testpmd: store VXLAN/NVGRE encap data globallyExternal email: Use caution opening links or attachments
Quoted 30 lines · Jiawei(Jonny) Wang
Hello Ferruh,
Quoted 16 lines
-----Original Message-----
From: Ferruh Yigit <[email protected]>
Sent: Wednesday, March 31, 2021 8:08 PM
To: Salem Sol <[email protected]>; [email protected]
Cc: Jiawei(Jonny) Wang <[email protected]>; Ori Kam <[email protected]>; Xiaoyun Li <[email protected]>
Subject: Re: [dpdk-dev] [PATCH v3 1/8] app/testpmd: store VXLAN/NVGRE encap data globallyQuoted 6 lines · Salem Sol
From: Jiawei Wang <[email protected]>
With the current code the VXLAN/NVGRE parsing routine stored the configuration of the header on stack, this might lead to overwriting the data on the stack.
Quoted 8 lines
Quoted 4 lines
This patch stores the external data of vxlan and nvgre encap into global data as a pre-step to supporting vxlan and nvgre encap as a sample actions.
I didn't get what was on stack and moved in to the global data, can you please elaborate.
This patch split the function and saved input data into input parameter:
So it mentioned here "pre-step" for next store the data of vxlan/nvgre into global.Quoted 11 lines
The global var for sample action is defined in:
(https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpat
ches.dpdk.org%2Fproject%2Fdpdk%2Fpatch%2F20210317092610.71000-5-salems %40nvidia.com%2F&data=04%7C01%7Csalems%40nvidia.com%7Cd9baadbc48fc 44caf4fc08d8f90a7553%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C6375 33170601193210%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2l uMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=olwLyRnHnM7TyKDFI xVH3Dj6KhWtUzdXgAyGgON4M9M%3D&reserved=0)
structaction_vxlan_encap_datasample_vxlan_encap[RAW_SAMPLE_CONFS_MAX_NUM];Commit log says:
"
This patch stores the external data of vxlan and nvgre encap into global data as a pre-step to supporting vxlan and nvgre encap as a sample actions. "It says this patch does storing into the global data, but as far as I can see from code and above description, this patch is just preparation for it. I can see there is a new version which has same commit log, can you please update it in new version?
I will update in the next series.
Quoted 10 lines
Quoted 3 lines
For example for nvgre, '
action_nvgre_encap_data' is pointer in stack but the actual object is 'ctx->object', so it is not really in the stack.After call 'set sample 0 nvgre .. ', the data be stored into
'ctx->object', the 'ctx->object' will be reused for the following CLI
command, After that, while we try to use previous 'sample action' to fetch nvgre data, these data may be lost.For sample action, use global data can save the previous nvgre configurations data.
Quoted 7 lines
Got it, the target is to use "set
sample_actions..." testpmd command to store vxlan/nvgre encap sample actions. For record, can you please document what was the way to the same before this support, can you please document the old testpmd command.Can you please elaborate regarding where did you want this documentation?
Prior to this support it is already documented, in http://patches.dpdk.org/project/dpdk/patch/[email protected]/
With the "raw_encap"
I was just thinking putting it in the commit log, for reference. To record how it was previously done.
Quoted 45 lines
Quoted 44 lines
Quoted 12 lines
Tough, OK to refactor and split the function as preparation to support the sample action.
Quoted 1 line
Signed-off-by Jiawei Wang <[email protected]><...>
app/test-pmd/cmdline_flow.c parse_vc_action_rss_queue(struct context *ctx, const struct token *token,
Quoted 4 lines
app/test-pmd/cmdline_flow.c +1
-2-/** Parse VXLAN encap action. */ +/** Setup VXLAN encap configuration. */ static int -parse_vc_action_vxlan_encap(struct context *ctx, const struct token*token,
Quoted 10 lines
app/test-pmd/cmdline_flow.c parse_vc_action_rss_queue(struct context *ctx, const struct token *token,
Quoted 5 lines
app/test-pmd/cmdline_flow.c +3
-2- const char *str, unsigned int len, - void *buf, unsigned int size) +parse_setup_vxlan_encap_data + (struct action_vxlan_encap_data +*action_vxlan_encap_data)Can you please fix the syntax, I guess this is done to keep within in 80 column limit, but from readability perspective I think better to go over the 80 column a little instead of breaking the line like this.
Ok, will change into one line.
Quoted 7 lines
<...>
Review
Quoted 4 lines
(quoted diff) +4
-0+/** Setup NVGRE encap configuration. */ static int +parse_setup_nvgre_encap_data + (struct action_nvgre_encap_data +*action_nvgre_encap_data){
Quoted 7 lines
app/test-pmd/cmdline_flow.c parse_vc_action_nvgre_encap(struct context *ctx, const struct token *token, · line 5396
Quoted 2 lines
app/test-pmd/cmdline_flow.c +2
-0+if (!action_nvgre_encap_data) +return -1 ;This is a static function, and the input of it is in our control, so not sure if we should verify the input here.
But if we need to, can you please check the return value of this function where it is called.I agree with you that can remove this checking inside, since we make sure it's valid before call.
Thanks.
Re: [dpdk-dev] [PATCH v3 1/8] app/testpmd: store VXLAN/NVGRE encap data globally
-----Original Message-----
From: Ferruh Yigit <[email protected]>
Sent: Wednesday, April 7, 2021 11:24 AM
To: Salem Sol <[email protected]>; Jiawei(Jonny) Wang <[email protected]>; [email protected]
Cc: Ori Kam <[email protected]>; Xiaoyun Li <[email protected]>
Subject: Re: [dpdk-dev] [PATCH v3 1/8] app/testpmd: store VXLAN/NVGRE encap data globally
External email: Use caution opening links or attachments
Quoted 88 lines · Salem Sol
Hi Ferruh,
-----Original Message-----
From: Ferruh Yigit <[email protected]>
Sent: Tuesday, April 6, 2021 5:44 PM
To: Jiawei(Jonny) Wang <[email protected]>; Salem Sol <[email protected]>; [email protected]
Cc: Ori Kam <[email protected]>; Xiaoyun Li <[email protected]>
Subject: Re: [dpdk-dev] [PATCH v3 1/8] app/testpmd: store VXLAN/NVGRE encap data globallyExternal email: Use caution opening links or attachments
Quoted 30 lines · Jiawei(Jonny) Wang
Hello Ferruh,
Quoted 16 lines
-----Original Message-----
From: Ferruh Yigit <[email protected]>
Sent: Wednesday, March 31, 2021 8:08 PM
To: Salem Sol <[email protected]>; [email protected]
Cc: Jiawei(Jonny) Wang <[email protected]>; Ori Kam <[email protected]>; Xiaoyun Li <[email protected]>
Subject: Re: [dpdk-dev] [PATCH v3 1/8] app/testpmd: store VXLAN/NVGRE encap data globallyQuoted 6 lines · Salem Sol
From: Jiawei Wang <[email protected]>
With the current code the VXLAN/NVGRE parsing routine stored the configuration of the header on stack, this might lead to overwriting the data on the stack.
Quoted 8 lines
Quoted 4 lines
This patch stores the external data of vxlan and nvgre encap into global data as a pre-step to supporting vxlan and nvgre encap as a sample actions.
I didn't get what was on stack and moved in to the global data, can you please elaborate.
This patch split the function and saved input data into input parameter:
So it mentioned here "pre-step" for next store the data of vxlan/nvgre into global.Quoted 17 lines
The global var for sample action is defined in:
(https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpa
t ches.dpdk.org%2Fproject%2Fdpdk%2Fpatch%2F20210317092610.71000-5-salem s %40nvidia.com%2F&data=04%7C01%7Csalems%40nvidia.com%7Cd9baadbc48f c 44caf4fc08d8f90a7553%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C637 5 33170601193210%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2 l uMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=olwLyRnHnM7TyKDF I
xVH3Dj6KhWtUzdXgAyGgON4M9M%3D&reserved=0)
structaction_vxlan_encap_datasample_vxlan_encap[RAW_SAMPLE_CONFS_MAX_NUM];Commit log says:
"
This patch stores the external data of vxlan and nvgre encap into global data as a pre-step to supporting vxlan and nvgre encap as a sample actions. "It says this patch does storing into the global data, but as far as I can see from code and above description, this patch is just preparation for it. I can see there is a new version which has same commit log, can you please update it in new version?
I will update in the next series.
Quoted 10 lines
Quoted 3 lines
For example for nvgre, '
action_nvgre_encap_data' is pointer in stack but the actual object is 'ctx->object', so it is not really in the stack.After call 'set sample 0 nvgre .. ', the data be stored into
'ctx->object', the 'ctx->object' will be reused for the following CLI
command, After that, while we try to use previous 'sample action' to fetch nvgre data, these data may be lost.For sample action, use global data can save the previous nvgre configurations data.
Got it, the target is to use "set
sample_actions..." testpmd command to store vxlan/nvgre encap sample actions. For record, can you please document what was the way to the same before this support, can you please document the old testpmd command.
Quoted 8 lines
Can you please elaborate regarding where did you want this documentation? Prior to this support it is already documented, in
http://patches.dpdk.org/project/dpdk/patch/1617244796-358287-1-git-sen
[email protected]/
With the "raw_encap"I was just thinking putting it in the commit log, for reference. To record how it was previously done.
Does this seem acceptable?
" app/testpmd: prepare storing VXLAN/NVGRE encap data globally
With the current code the VXLAN/NVGRE parsing routine stored the configuration of the header on stack, this might lead to overwriting the data on the stack.
Currently having VXLAN/NVGRE encap as sample actions is done using RAW_ENCAP, for example:
1. set raw_encap 1 eth src.../ vxlan vni.../ ipv4.../ ... set sample_actions 0 raw_encap / port_id id 0 / end flow create 0 ... pattern eth / end actions sample ration 1 index 0 / jump group 1 / end
The goal is to utilize the rte_flow_action_vxlan_encap and rte_flow_action_nvgre_encap for sample actions.
This patch prepares storing the external data of vxlan and nvgre encap into global data as a pre-step to supporting vxlan and nvgre encap as a sample actions."
Quoted 47 lines
Quoted 46 lines
Quoted 13 lines
Tough, OK to refactor and split the function as preparation to support the sample action.
Quoted 1 line
Signed-off-by Jiawei Wang <[email protected]><...>
Quoted 5 lines
app/test-pmd/cmdline_flow.c +1
-2-/** Parse VXLAN encap action. */ +/** Setup VXLAN encap configuration. */ static int -parse_vc_action_vxlan_encap(struct context *ctx, const structtoken
*token,
Quoted 11 lines
app/test-pmd/cmdline_flow.c parse_vc_action_rss_queue(struct context *ctx, const struct token *token,
Quoted 5 lines
app/test-pmd/cmdline_flow.c +3
-2- const char *str, unsigned int len, - void *buf, unsigned int size) +parse_setup_vxlan_encap_data + (struct action_vxlan_encap_data +*action_vxlan_encap_data)Can you please fix the syntax, I guess this is done to keep within in
80 column limit, but from readability perspective I think better to go over the 80 column a little instead of breaking the line like this.Ok, will change into one line.
Quoted 7 lines
<...>
Review
Quoted 4 lines
(quoted diff) +4
-0+/** Setup NVGRE encap configuration. */ static int +parse_setup_nvgre_encap_data + (struct action_nvgre_encap_data +*action_nvgre_encap_data){
Quoted 7 lines
app/test-pmd/cmdline_flow.c parse_vc_action_nvgre_encap(struct context *ctx, const struct token *token, · line 5396
Quoted 2 lines
app/test-pmd/cmdline_flow.c +2
-0+if (!action_nvgre_encap_data) +return -1 ;This is a static function, and the input of it is in our control, so not sure if we should verify the input here.
But if we need to, can you please check the return value of this function where it is called.I agree with you that can remove this checking inside, since we make sure it's valid before call.
Thanks.
Re: [dpdk-dev] [PATCH v3 1/8] app/testpmd: store VXLAN/NVGRE encap data globally
Quoted 123 lines · Salem Sol
-----Original Message-----
From: Ferruh Yigit <[email protected]>
Sent: Wednesday, April 7, 2021 11:24 AM
To: Salem Sol <[email protected]>; Jiawei(Jonny) Wang <[email protected]>; [email protected]
Cc: Ori Kam <[email protected]>; Xiaoyun Li <[email protected]>
Subject: Re: [dpdk-dev] [PATCH v3 1/8] app/testpmd: store VXLAN/NVGRE encap data globallyExternal email: Use caution opening links or attachments
Quoted 88 lines · Salem Sol
Hi Ferruh,
-----Original Message-----
From: Ferruh Yigit <[email protected]>
Sent: Tuesday, April 6, 2021 5:44 PM
To: Jiawei(Jonny) Wang <[email protected]>; Salem Sol <[email protected]>; [email protected]
Cc: Ori Kam <[email protected]>; Xiaoyun Li <[email protected]>
Subject: Re: [dpdk-dev] [PATCH v3 1/8] app/testpmd: store VXLAN/NVGRE encap data globallyExternal email: Use caution opening links or attachments
Quoted 30 lines · Jiawei(Jonny) Wang
Hello Ferruh,
Quoted 16 lines
-----Original Message-----
From: Ferruh Yigit <[email protected]>
Sent: Wednesday, March 31, 2021 8:08 PM
To: Salem Sol <[email protected]>; [email protected]
Cc: Jiawei(Jonny) Wang <[email protected]>; Ori Kam <[email protected]>; Xiaoyun Li <[email protected]>
Subject: Re: [dpdk-dev] [PATCH v3 1/8] app/testpmd: store VXLAN/NVGRE encap data globallyQuoted 6 lines · Salem Sol
From: Jiawei Wang <[email protected]>
With the current code the VXLAN/NVGRE parsing routine stored the configuration of the header on stack, this might lead to overwriting the data on the stack.
Quoted 8 lines
Quoted 4 lines
This patch stores the external data of vxlan and nvgre encap into global data as a pre-step to supporting vxlan and nvgre encap as a sample actions.
I didn't get what was on stack and moved in to the global data, can you please elaborate.
This patch split the function and saved input data into input parameter:
So it mentioned here "pre-step" for next store the data of vxlan/nvgre into global.Quoted 17 lines
The global var for sample action is defined in:
(https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpa
t ches.dpdk.org%2Fproject%2Fdpdk%2Fpatch%2F20210317092610.71000-5-salem s %40nvidia.com%2F&data=04%7C01%7Csalems%40nvidia.com%7Cd9baadbc48f c 44caf4fc08d8f90a7553%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C637 5 33170601193210%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2 l uMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=olwLyRnHnM7TyKDF I
xVH3Dj6KhWtUzdXgAyGgON4M9M%3D&reserved=0)
structaction_vxlan_encap_datasample_vxlan_encap[RAW_SAMPLE_CONFS_MAX_NUM];Commit log says:
"
This patch stores the external data of vxlan and nvgre encap into global data as a pre-step to supporting vxlan and nvgre encap as a sample actions. "It says this patch does storing into the global data, but as far as I can see from code and above description, this patch is just preparation for it. I can see there is a new version which has same commit log, can you please update it in new version?
I will update in the next series.
Quoted 10 lines
Quoted 3 lines
For example for nvgre, '
action_nvgre_encap_data' is pointer in stack but the actual object is 'ctx->object', so it is not really in the stack.After call 'set sample 0 nvgre .. ', the data be stored into
'ctx->object', the 'ctx->object' will be reused for the following CLI
command, After that, while we try to use previous 'sample action' to fetch nvgre data, these data may be lost.For sample action, use global data can save the previous nvgre configurations data.
Got it, the target is to use "set
sample_actions..." testpmd command to store vxlan/nvgre encap sample actions. For record, can you please document what was the way to the same before this support, can you please document the old testpmd command.Quoted 8 lines
Can you please elaborate regarding where did you want this documentation? Prior to this support it is already documented, in
http://patches.dpdk.org/project/dpdk/patch/1617244796-358287-1-git-sen
[email protected]/
With the "raw_encap"I was just thinking putting it in the commit log, for reference. To record how it was previously done.
Does this seem acceptable?
" app/testpmd: prepare storing VXLAN/NVGRE encap data globallyWith the current code the VXLAN/NVGRE parsing routine stored the configuration of the header on stack, this might lead to overwriting the data on the stack.
Currently having VXLAN/NVGRE encap as sample actions is done using
RAW_ENCAP, for example:
1. setraw_encap1 eth src.../ vxlan vni.../ ipv4.../ ... setsample_actions0raw_encap/port_idid 0 / end flow create 0 ... pattern eth / end actions sample ration 1 index 0 / jump group 1 / end
Quoted 7 lines
The goal is to utilize the
rte_flow_action_vxlan_encapandrte_flow_action_nvgre_encapfor sample actions.This patch prepares storing the external data of vxlan and nvgre encap into global data as a pre-step to supporting vxlan and nvgre encap as a sample actions."
Sounds good, thank you.
Quoted 48 lines
Quoted 47 lines
Quoted 46 lines
Quoted 13 lines
Tough, OK to refactor and split the function as preparation to support the sample action.
Quoted 1 line
Signed-off-by Jiawei Wang <[email protected]><...>
Quoted 5 lines
(quoted diff) +1
-2-/** Parse VXLAN encap action. */ +/** Setup VXLAN encap configuration. */ static int -parse_vc_action_vxlan_encap(struct context *ctx, const structtoken
*token,
Quoted 11 lines
Review
Quoted 5 lines
(quoted diff) +3
-2- const char *str, unsigned int len, - void *buf, unsigned int size) +parse_setup_vxlan_encap_data + (struct action_vxlan_encap_data +*action_vxlan_encap_data)Can you please fix the syntax, I guess this is done to keep within in
80 column limit, but from readability perspective I think better to go over the 80 column a little instead of breaking the line like this.Ok, will change into one line.
Quoted 7 lines
<...>
Review
Quoted 4 lines
(quoted diff) +4
-0+/** Setup NVGRE encap configuration. */ static int +parse_setup_nvgre_encap_data + (struct action_nvgre_encap_data +*action_nvgre_encap_data){
Quoted 7 lines
Review
Quoted 2 lines
(quoted diff) +2
-0+ if (!action_nvgre_encap_data) + return -1;This is a static function, and the input of it is in our control, so not sure if we should verify the input here.
But if we need to, can you please check the return value of this function where it is called.I agree with you that can remove this checking inside, since we make sure it's valid before call.
Thanks.
PATCH v3 2/8 net/mlx5: support VXLAN encap action in sample
In reply to Salem SolAdd support for VXLAN encap as a sample action
and validate it.
--- drivers/net/mlx5/mlx5_flow_dv.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
drivers/net/mlx5/mlx5_flow_dv.c +11 -0
@@ -5242,6 +5242,16 @@ flow_dv_validate_action_sample(uint64_t *action_flags,return ret; ++actions_n;break ; +case RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP : + ret =flow_dv_validate_action_l2_encap (dev, + sub_action_flags, + act, attr, + error); +if (ret <0 ) +return ret; + sub_action_flags |=MLX5_FLOW_ACTION_ENCAP ; + ++actions_n; +break ;default : return rte_flow_error_set(error, ENOTSUP, RTE_FLOW_ERROR_TYPE_ACTION,
@@ -10407,6 +10417,7 @@ flow_dv_translate_action_sample(struct rte_eth_dev *dev, action_flags |=MLX5_FLOW_ACTION_PORT_ID ;break ; } +case RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP :case RTE_FLOW_ACTION_TYPE_RAW_ENCAP :/* Save the encap resource before sample */ pre_rix = dev_flow->handle->dvh.rix_encap_decap;
Signature · 1 line
2.21.0
Re: [dpdk-dev] [PATCH v3 2/8] net/mlx5: support VXLAN encap action in sample
Quoted 9 lines
-----Original Message-----
From: Salem Sol <[email protected]>
Sent: Wednesday, March 17, 2021 11:26
To: [email protected]
Cc: Salem Sol <[email protected]>; Matan Azrad <[email protected]>; Shahaf Shuler <[email protected]>; Slava Ovsiienko <[email protected]>
Subject: [PATCH v3 2/8] net/mlx5: support VXLAN encap action in sample
Quoted 3 lines
Add support for VXLAN encap as a sample action and validate it.
Signed-off-by Salem Sol <[email protected]>
PATCH v3 3/8 net/mlx5: support NVGRE encap action in sample
In reply to Salem SolAdd support for NVGRE encap as a sample action
and validate it.
--- drivers/net/mlx5/mlx5_flow_dv.c | 2 ++ 1 file changed, 2 insertions(+)
drivers/net/mlx5/mlx5_flow_dv.c +2 -0
@@ -5243,6 +5243,7 @@ flow_dv_validate_action_sample(uint64_t *action_flags, ++actions_n;break ;case RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP : +case RTE_FLOW_ACTION_TYPE_NVGRE_ENCAP : ret = flow_dv_validate_action_l2_encap(dev, sub_action_flags, act, attr,
@@ -10418,6 +10419,7 @@ flow_dv_translate_action_sample(struct rte_eth_dev *dev,break ; }case RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP : +case RTE_FLOW_ACTION_TYPE_NVGRE_ENCAP :case RTE_FLOW_ACTION_TYPE_RAW_ENCAP :/* Save the encap resource before sample */ pre_rix = dev_flow->handle->dvh.rix_encap_decap;
Signature · 1 line
2.21.0
Re: [dpdk-dev] [PATCH v3 3/8] net/mlx5: support NVGRE encap action in sample
Quoted 9 lines
-----Original Message-----
From: Salem Sol <[email protected]>
Sent: Wednesday, March 17, 2021 11:26
To: [email protected]
Cc: Salem Sol <[email protected]>; Matan Azrad <[email protected]>; Shahaf Shuler <[email protected]>; Slava Ovsiienko <[email protected]>
Subject: [PATCH v3 3/8] net/mlx5: support NVGRE encap action in sample
Quoted 3 lines
Add support for NVGRE encap as a sample action and validate it.
Signed-off-by Salem Sol <[email protected]>
PATCH v3 4/8 app/testpmd: support VXLAN encap for sample action
In reply to Salem SolAdd support for rte_flow_action_vxlan_encap as a sample action.
The example of test-pmd command:
1. set vxlan ip-version ... vni ... udp-src ...
set raw_encap 1 eth src.../ ipv4.../...
set sample_actions 2 vxlan_encap / port_id id 0 / end flow create 0 ... pattern eth / end actions
sample ratio 1 index 2 / raw_encap index 1 / port_id id 0...
The flow will result in all the matched egress packets will be encapsulated and sent to wire, and also mirrored the packets using VXLAN encapsulation data and sent to wire.
--- app/test-pmd/cmdline_flow.c | 7 +++++++ 1 file changed, 7 insertions(+)
app/test-pmd/cmdline_flow.c +7 -0
@@ -582,6 +582,7 @@ struct rte_flow_action_queue sample_queue[RAW_SAMPLE_CONFS_MAX_NUM];struct rte_flow_action_count sample_count[RAW_SAMPLE_CONFS_MAX_NUM ];struct rte_flow_action_port_id sample_port_id[RAW_SAMPLE_CONFS_MAX_NUM ];struct rte_flow_action_raw_encap sample_encap[RAW_SAMPLE_CONFS_MAX_NUM ]; +struct action_vxlan_encap_data sample_vxlan_encap[RAW_SAMPLE_CONFS_MAX_NUM ];struct action_rss_data sample_rss_data[RAW_SAMPLE_CONFS_MAX_NUM ];struct rte_flow_action_vf sample_vf[RAW_SAMPLE_CONFS_MAX_NUM ];
@@ -1615,6 +1616,7 @@ static const enum index next_action_sample[] = {ACTION_COUNT ,ACTION_PORT_ID ,ACTION_RAW_ENCAP , +ACTION_VXLAN_ENCAP ,ACTION_NEXT , ZERO, };
@@ -7949,6 +7951,11 @@ cmd_set_raw_parsed_sample(const struct buffer *in) (const void *)action->conf, size); action->conf = &sample_vf[idx];break ; +case RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP : + size =sizeof (struct rte_flow_action_vxlan_encap ); +parse_setup_vxlan_encap_data (&sample_vxlan_encap[idx]); + action->conf = &sample_vxlan_encap[idx].conf; +break ;default :printf ("Error - Not supported action\n" );return ;
Signature · 1 line
2.21.0
Re: [dpdk-dev] [PATCH v3 4/8] app/testpmd: support VXLAN encap for sample action
Quoted 19 lines
-----Original Message-----
From: dev <[email protected]> On Behalf Of Salem Sol
Sent: Wednesday, March 17, 2021 11:26
To: [email protected]
Cc: Salem Sol <[email protected]>; Ori Kam <[email protected]>; Xiaoyun Li <[email protected]>
Subject: [dpdk-dev] [PATCH v3 4/8] app/testpmd: support VXLAN encap for sample actionAdd support for
rte_flow_action_vxlan_encapas a sample action.The example of test-pmd command:
1. set vxlan ip-version ... vni ... udp-src ...
setraw_encap1 eth src.../ ipv4.../...
setsample_actions2vxlan_encap/port_idid 0 / end flow create 0 ... pattern eth / end actions
sample ratio 1 index 2 /raw_encapindex 1 /port_idid 0...
Quoted 5 lines
The flow will result in all the matched egress packets will be encapsulated and sent to wire, and also mirrored the packets using VXLAN encapsulation data and sent to wire.
Signed-off-by Salem Sol <[email protected]>
PATCH v3 5/8 app/testpmd: support NVGRE encap for sample action
In reply to Salem SolAdd support for rte_flow_action_nvge_encap as a sample action.
The example of test-pmd command:
1. set nvgre ip-version ... tni ... ip-src ... ip-dst ... set raw_encap 1 eth src... / ipv4... /...
set sample_actions 2 nvgre / port_id id 0 / end
flow create 0 ... pattern eth / end actions
sample ratio 1 index 2 / raw_encap index 1 / port_id id 0...
The flow will result in all the matched egress packets will be encapsulated and sent to wire, and also mirrored the packets using NVGRE encapsulation data and sent to wire.
--- app/test-pmd/cmdline_flow.c | 7 +++++++ 1 file changed, 7 insertions(+)
app/test-pmd/cmdline_flow.c +7 -0
@@ -583,6 +583,7 @@ struct rte_flow_action_count sample_count[RAW_SAMPLE_CONFS_MAX_NUM];struct rte_flow_action_port_id sample_port_id[RAW_SAMPLE_CONFS_MAX_NUM ];struct rte_flow_action_raw_encap sample_encap[RAW_SAMPLE_CONFS_MAX_NUM ];struct action_vxlan_encap_data sample_vxlan_encap[RAW_SAMPLE_CONFS_MAX_NUM ]; +struct action_nvgre_encap_data sample_nvgre_encap[RAW_SAMPLE_CONFS_MAX_NUM ];struct action_rss_data sample_rss_data[RAW_SAMPLE_CONFS_MAX_NUM ];struct rte_flow_action_vf sample_vf[RAW_SAMPLE_CONFS_MAX_NUM ];
@@ -1617,6 +1618,7 @@ static const enum index next_action_sample[] = {ACTION_PORT_ID ,ACTION_RAW_ENCAP ,ACTION_VXLAN_ENCAP , +ACTION_NVGRE_ENCAP ,ACTION_NEXT , ZERO, };
@@ -7956,6 +7958,11 @@ cmd_set_raw_parsed_sample(const struct buffer *in)parse_setup_vxlan_encap_data (&sample_vxlan_encap[idx]); action->conf = &sample_vxlan_encap[idx].conf;break ; +case RTE_FLOW_ACTION_TYPE_NVGRE_ENCAP : + size =sizeof (struct rte_flow_action_nvgre_encap ); +parse_setup_nvgre_encap_data (&sample_nvgre_encap[idx]); + action->conf = &sample_nvgre_encap[idx]; +break ;default :printf ("Error - Not supported action\n" );return ;
Signature · 1 line
2.21.0
Re: [dpdk-dev] [PATCH v3 5/8] app/testpmd: support NVGRE encap for sample action
Quoted 19 lines
-----Original Message-----
From: dev <[email protected]> On Behalf Of Salem Sol
Sent: Wednesday, March 17, 2021 11:26
To: [email protected]
Cc: Salem Sol <[email protected]>; Ori Kam <[email protected]>; Xiaoyun Li <[email protected]>
Subject: [dpdk-dev] [PATCH v3 5/8] app/testpmd: support NVGRE encap for sample actionAdd support for
rte_flow_action_nvge_encapas a sample action.The example of test-pmd command:
1. set nvgre ip-version ... tni ... ip-src ... ip-dst ... set
raw_encap1 eth src... / ipv4... /...
setsample_actions2 nvgre /port_idid 0 / end
flow create 0 ... pattern eth / end actions
sample ratio 1 index 2 /raw_encapindex 1 /port_idid 0...
Quoted 5 lines
The flow will result in all the matched egress packets will be encapsulated and sent to wire, and also mirrored the packets using NVGRE encapsulation data and sent to wire.
Signed-off-by Salem Sol <[email protected]>
PATCH v3 6/8 doc: update sample actions support in testpmd guide
In reply to Salem SolUpdate documentation for sample action usage in testpmd utilizing rte_flow_action_vxlan_encap and rte_flow_action_nvgre_encap and show the command line example.
--- doc/guides/testpmd_app_ug/testpmd_funcs.rst | 22 +++++++++++++++++++++ 1 file changed, 22 insertions(+)
doc/guides/testpmd_app_ug/testpmd_funcs.rst +22 -0
@@ -4901,6 +4901,28 @@ and also mirrored the packets with encapsulation header and sent to port id 0. testpmd> flow create 0 ingress transfer pattern eth / end actions sample ratio 1 index 0 / port_id id 2 / end +E-Switch Mirroring rule, the matched ingress packets are sent to port id 2, +and also mirrored the packets with VXLAN encapsulation header and sent to port id 0. + +:: + + testpmd> set vxlan ip-version ipv4 vni 4 udp-src 4 udp-dst 4 ip-src 127.0.0.1 + ip-dst 128.0.0.1 eth-src 11:11:11:11:11:11 eth-dst 22:22:22:22:22:22 + testpmd> set sample_actions 0 vxlan_encap / port_id id 0 / end + testpmd> flow create 0 ingress transfer pattern eth / end actions + sample ratio 1 index 0 / port_id id 2 / end + +E-Switch Mirroring rule, the matched ingress packets are sent to port id 2, +and also mirrored the packets with NVGRE encapsulation header and sent to port id 0. + +:: + + testpmd> set nvgre ip-version ipv4 tni 4 ip-src 127.0.0.1 ip-dst 128.0.0.1 + eth-src 11:11:11:11:11:11 eth-dst 22:22:22:22:22:22 + testpmd> set sample_actions 0 nvgre_encap / port_id id 0 / end + testpmd> flow create 0 ingress transfer pattern eth / end actions + sample ratio 1 index 0 / port_id id 2 / end + BPF Functions --------------
Signature · 1 line
2.21.0
Re: [dpdk-dev] [PATCH v3 6/8] doc: update sample actions support in testpmd guide
Quoted 8 lines
-----Original Message-----
From: dev <[email protected]> On Behalf Of Salem Sol
Sent: Wednesday, March 17, 2021 11:26
To: [email protected]
Cc: Salem Sol <[email protected]>; Xiaoyun Li <[email protected]>
Subject: [dpdk-dev] [PATCH v3 6/8] doc: update sample actions support in testpmd guide
Quoted 5 lines
Update documentation for sample action usage in testpmd utilizing
rte_flow_action_vxlan_encapandrte_flow_action_nvgre_encapand show the command line example.Signed-off-by Salem Sol <[email protected]>
Re: [dpdk-dev] [PATCH v3 6/8] doc: update sample actions support in testpmd guide
In reply to Salem SolQuoted 4 lines · Salem Sol
Update documentation for sample action usage in testpmd utilizing
rte_flow_action_vxlan_encapandrte_flow_action_nvgre_encapand show the command line example.
This patch has dependency to [1], right, can you please confirm it?
[1]: https://patches.dpdk.org/project/dpdk/patch/[email protected]/
Quoted 10 lines
Signed-off-by Salem Sol <[email protected]>--- doc/guides/testpmd_app_ug/testpmd_funcs.rst | 22 +++++++++++++++++++++ 1 file changed, 22 insertions(+)doc/guides/testpmd_app_ug/testpmd_funcs.rst +0
-0
doc/guides/testpmd_app_ug/testpmd_funcs.rst and also mirrored the packets with encapsulation header and sent to port id 0. · line 4906
Quoted 6 lines
doc/guides/testpmd_app_ug/testpmd_funcs.rst +3
-0@@ -4901,6 +4901,28 @@ and also mirrored the packets with encapsulation header and sent to port id 0. testpmd> flow create 0 ingress transfer pattern eth / end actions sample ratio 1 index 0 / port_id id 2 / end +E-Switch Mirroring rule, the matched ingress packets are sent to port id 2, +and also mirrored the packets with VXLAN encapsulation header and sent to port id 0. +
Similar comment on 'E-Switch', the mirroring is generic feature but 'E-Switch' is vendor specific, can you please update testpmd in a generic way?
Quoted 23 lines
doc/guides/testpmd_app_ug/testpmd_funcs.rst +19
-0+:: + + testpmd> set vxlan ip-version ipv4 vni 4 udp-src 4 udp-dst 4 ip-src 127.0.0.1 + ip-dst 128.0.0.1 eth-src 11:11:11:11:11:11 eth-dst 22:22:22:22:22:22 + testpmd> set sample_actions 0 vxlan_encap / port_id id 0 / end + testpmd> flow create 0 ingress transfer pattern eth / end actions + sample ratio 1 index 0 / port_id id 2 / end + +E-Switch Mirroring rule, the matched ingress packets are sent to port id 2, +and also mirrored the packets with NVGRE encapsulation header and sent to port id 0. + +:: + + testpmd> set nvgre ip-version ipv4 tni 4 ip-src 127.0.0.1 ip-dst 128.0.0.1 + eth-src 11:11:11:11:11:11 eth-dst 22:22:22:22:22:22 + testpmd> set sample_actions 0 nvgre_encap / port_id id 0 / end + testpmd> flow create 0 ingress transfer pattern eth / end actions + sample ratio 1 index 0 / port_id id 2 / end + BPF Functions --------------
Re: [dpdk-dev] [PATCH v3 6/8] doc: update sample actions support in testpmd guide
Hi Ferruh,
Indeed this patch is dependent on [1], it's also mentioned in the cover letter, I will rebase and post V4 addressing all the comments once [1] is accepted.
Thanks,
-----Original Message-----
From: Ferruh Yigit <[email protected]>
Sent: Wednesday, March 31, 2021 3:06 PM
To: Salem Sol <[email protected]>; [email protected]
Cc: Xiaoyun Li <[email protected]>; NBU-Contact-Thomas Monjalon <[email protected]>
Subject: Re: [dpdk-dev] [PATCH v3 6/8] doc: update sample actions support in testpmd guide
External email: Use caution opening links or attachments
Quoted 4 lines · Salem Sol
Update documentation for sample action usage in testpmd utilizing
rte_flow_action_vxlan_encapandrte_flow_action_nvgre_encapand show the command line example.
This patch has dependency to [1], right, can you please confirm it?
Quoted 11 lines
Signed-off-by Salem Sol <[email protected]>--- doc/guides/testpmd_app_ug/testpmd_funcs.rst | 22 +++++++++++++++++++++ 1 file changed, 22 insertions(+)doc/guides/testpmd_app_ug/testpmd_funcs.rst +0
-0
doc/guides/testpmd_app_ug/testpmd_funcs.rst and also mirrored the packets with encapsulation header and sent to port id 0. · line 4906
Quoted 6 lines
doc/guides/testpmd_app_ug/testpmd_funcs.rst +3
-0@@ -4901,6 +4901,28 @@ and also mirrored the packets with encapsulation header and sent to port id 0. testpmd> flow create 0 ingress transfer pattern eth / end actions sample ratio 1 index 0 / port_id id 2 / end +E-Switch Mirroring rule, the matched ingress packets are sent to port +id 2, and also mirrored the packets with VXLAN encapsulation header and sent to port id 0. +
Similar comment on 'E-Switch', the mirroring is generic feature but 'E-Switch' is vendor specific, can you please update testpmd in a generic way?
Quoted 26 lines
doc/guides/testpmd_app_ug/testpmd_funcs.rst +22
-0+:: + + testpmd> set vxlan ip-version ipv4 vni 4 udp-src 4 udp-dst 4 ip-src + testpmd> 127.0.0.1 + ip-dst 128.0.0.1 eth-src 11:11:11:11:11:11 eth-dst + 22:22:22:22:22:22 + testpmd> set sample_actions 0 vxlan_encap / port_id id 0 / end flow + testpmd> create 0 ingress transfer pattern eth / end actions + sample ratio 1 index 0 / port_id id 2 / end + +E-Switch Mirroring rule, the matched ingress packets are sent to port +id 2, and also mirrored the packets with NVGRE encapsulation header and sent to port id 0. + +:: + + testpmd> set nvgre ip-version ipv4 tni 4 ip-src 127.0.0.1 ip-dst + testpmd> 128.0.0.1 + eth-src 11:11:11:11:11:11 eth-dst 22:22:22:22:22:22 + testpmd> set sample_actions 0 nvgre_encap / port_id id 0 / end flow + testpmd> create 0 ingress transfer pattern eth / end actions + sample ratio 1 index 0 / port_id id 2 / end + BPF Functions --------------
Re: [dpdk-dev] [PATCH v3 6/8] doc: update sample actions support in testpmd guide
Quoted 4 lines · Salem Sol
Hi Ferruh,
Indeed this patch is dependent on [1], it's also mentioned in the cover letter, I will rebase and post V4 addressing all the comments once [1] is accepted.
Cover letter one links to a mlx doc patch, that was the source of the confusion.
And the dependent tespmd patch has a new version, which looks good and I am planning to get it today, in next a few hours, fyi.
Quoted 73 lines
Thanks,
-----Original Message-----
From: Ferruh Yigit <[email protected]>
Sent: Wednesday, March 31, 2021 3:06 PM
To: Salem Sol <[email protected]>; [email protected]
Cc: Xiaoyun Li <[email protected]>; NBU-Contact-Thomas Monjalon <[email protected]>
Subject: Re: [dpdk-dev] [PATCH v3 6/8] doc: update sample actions support in testpmd guideExternal email: Use caution opening links or attachments
Quoted 4 lines · Salem Sol
Update documentation for sample action usage in testpmd utilizing
rte_flow_action_vxlan_encapandrte_flow_action_nvgre_encapand show the command line example.This patch has dependency to [1], right, can you please confirm it?
Quoted 11 lines
Signed-off-by Salem Sol <[email protected]>--- doc/guides/testpmd_app_ug/testpmd_funcs.rst | 22 +++++++++++++++++++++ 1 file changed, 22 insertions(+)doc/guides/testpmd_app_ug/testpmd_funcs.rst +0
-0doc/guides/testpmd_app_ug/testpmd_funcs.rst and also mirrored the packets with encapsulation header and sent to port id 0. · line 4906
Quoted 6 lines
doc/guides/testpmd_app_ug/testpmd_funcs.rst +3
-0@@ -4901,6 +4901,28 @@ and also mirrored the packets with encapsulation header and sent to port id 0. testpmd> flow create 0 ingress transfer pattern eth / end actions sample ratio 1 index 0 / port_id id 2 / end +E-Switch Mirroring rule, the matched ingress packets are sent to port +id 2, and also mirrored the packets with VXLAN encapsulation header and sent to port id 0. +Similar comment on 'E-Switch', the mirroring is generic feature but 'E-Switch' is vendor specific, can you please update testpmd in a generic way?
Quoted 26 lines
doc/guides/testpmd_app_ug/testpmd_funcs.rst +22
-0+:: + + testpmd> set vxlan ip-version ipv4 vni 4 udp-src 4 udp-dst 4 ip-src + testpmd> 127.0.0.1 + ip-dst 128.0.0.1 eth-src 11:11:11:11:11:11 eth-dst + 22:22:22:22:22:22 + testpmd> set sample_actions 0 vxlan_encap / port_id id 0 / end flow + testpmd> create 0 ingress transfer pattern eth / end actions + sample ratio 1 index 0 / port_id id 2 / end + +E-Switch Mirroring rule, the matched ingress packets are sent to port +id 2, and also mirrored the packets with NVGRE encapsulation header and sent to port id 0. + +:: + + testpmd> set nvgre ip-version ipv4 tni 4 ip-src 127.0.0.1 ip-dst + testpmd> 128.0.0.1 + eth-src 11:11:11:11:11:11 eth-dst 22:22:22:22:22:22 + testpmd> set sample_actions 0 nvgre_encap / port_id id 0 / end flow + testpmd> create 0 ingress transfer pattern eth / end actions + sample ratio 1 index 0 / port_id id 2 / end + BPF Functions --------------
Re: [dpdk-dev] [PATCH v3 6/8] doc: update sample actions support in testpmd guide
Sorry for the confusion, it was meant to show dependency on the whole series which had two commits [1] and [2]. I will keep an eye for when the patches are merged to post the v4, thanks for the update.
[1]: https://patches.dpdk.org/project/dpdk/patch/[email protected]/
[2]: https://patches.dpdk.org/project/dpdk/patch/[email protected]/
-----Original Message-----
From: Ferruh Yigit <[email protected]>
Sent: Thursday, April 1, 2021 1:43 PM
To: Salem Sol <[email protected]>; [email protected]
Cc: Xiaoyun Li <[email protected]>; NBU-Contact-Thomas Monjalon <[email protected]>
Subject: Re: [dpdk-dev] [PATCH v3 6/8] doc: update sample actions support in testpmd guide
External email: Use caution opening links or attachments
Quoted 4 lines · Salem Sol
Hi Ferruh,
Indeed this patch is dependent on [1], it's also mentioned in the cover letter, I will rebase and post V4 addressing all the comments once [1] is accepted.
Cover letter one links to a mlx doc patch, that was the source of the confusion.
And the dependent tespmd patch has a new version, which looks good and I am planning to get it today, in next a few hours, fyi.
Quoted 88 lines
[1]
https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatc
hes.dpdk.org%2Fproject%2Fdpdk%2Fpatch%2F1617180669-225007-1-git-send-e mail-jiaweiw%40nvidia.com%2F&data=04%7C01%7Csalems%40nvidia.com%7C 44180cd39e2f49fe373308d8f4faf834%7C43083d15727340c1b7db39efd9ccc17a%7C 0%7C0%7C637528706034278930%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDA iLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=3obAy KaqOoxY7qpJCvyI3om%2FRwMaS2NaTr0S79PfimM%3D&reserved=0Thanks,
-----Original Message-----
From: Ferruh Yigit <[email protected]>
Sent: Wednesday, March 31, 2021 3:06 PM
To: Salem Sol <[email protected]>; [email protected]
Cc: Xiaoyun Li <[email protected]>; NBU-Contact-Thomas Monjalon <[email protected]>
Subject: Re: [dpdk-dev] [PATCH v3 6/8] doc: update sample actions support in testpmd guideExternal email: Use caution opening links or attachments
Quoted 4 lines · Salem Sol
Update documentation for sample action usage in testpmd utilizing
rte_flow_action_vxlan_encapandrte_flow_action_nvgre_encapand show the command line example.This patch has dependency to [1], right, can you please confirm it?
[1]:
https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatc
hes.dpdk.org%2Fproject%2Fdpdk%2Fpatch%2F1617180669-225007-1-git-send-e mail-jiaweiw%40nvidia.com%2F&data=04%7C01%7Csalems%40nvidia.com%7C 44180cd39e2f49fe373308d8f4faf834%7C43083d15727340c1b7db39efd9ccc17a%7C 0%7C0%7C637528706034288924%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDA iLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=ae25l Npwcz33WuxNorJZ9%2B%2BPxviVpV%2BAWNT6OhUER04%3D&reserved=0Quoted 11 lines
Signed-off-by Salem Sol <[email protected]>--- doc/guides/testpmd_app_ug/testpmd_funcs.rst | 22 +++++++++++++++++++++ 1 file changed, 22 insertions(+)doc/guides/testpmd_app_ug/testpmd_funcs.rst +0
-0doc/guides/testpmd_app_ug/testpmd_funcs.rst and also mirrored the packets with encapsulation header and sent to port id 0. · line 4906
Quoted 6 lines
doc/guides/testpmd_app_ug/testpmd_funcs.rst +3
-0@@ -4901,6 +4901,28 @@ and also mirrored the packets with encapsulation header and sent to port id 0. testpmd> flow create 0 ingress transfer pattern eth / end actions sample ratio 1 index 0 / port_id id 2 / end +E-Switch Mirroring rule, the matched ingress packets are sent to +port id 2, and also mirrored the packets with VXLAN encapsulation header and sent to port id 0. +Similar comment on 'E-Switch', the mirroring is generic feature but 'E-Switch' is vendor specific, can you please update testpmd in a generic way?
Quoted 26 lines
doc/guides/testpmd_app_ug/testpmd_funcs.rst +22
-0+:: + + testpmd> set vxlan ip-version ipv4 vni 4 udp-src 4 udp-dst 4 ip-src + testpmd> 127.0.0.1 + ip-dst 128.0.0.1 eth-src 11:11:11:11:11:11 eth-dst + 22:22:22:22:22:22 + testpmd> set sample_actions 0 vxlan_encap / port_id id 0 / end flow + testpmd> create 0 ingress transfer pattern eth / end actions + sample ratio 1 index 0 / port_id id 2 / end + +E-Switch Mirroring rule, the matched ingress packets are sent to +port id 2, and also mirrored the packets with NVGRE encapsulation header and sent to port id 0. + +:: + + testpmd> set nvgre ip-version ipv4 tni 4 ip-src 127.0.0.1 ip-dst + testpmd> 128.0.0.1 + eth-src 11:11:11:11:11:11 eth-dst 22:22:22:22:22:22 + testpmd> set sample_actions 0 nvgre_encap / port_id id 0 / end flow + testpmd> create 0 ingress transfer pattern eth / end actions + sample ratio 1 index 0 / port_id id 2 / end + BPF Functions --------------
PATCH v3 7/8 doc: update sample actions support in mlx5 guide
In reply to Salem SolUpdates the documentation with the added support for sample actions VXLAN and NVGRE encap in E-Switch steering flow.
--- doc/guides/nics/mlx5.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
doc/guides/nics/mlx5.rst +2 -2
@@ -376,8 +376,8 @@ Limitations encapsulation actions. - For NIC Rx flow, supports ``MARK``, ``COUNT``, ``QUEUE``, ``RSS`` in the sample actions list. - - For E-Switch mirroring flow, supports ``RAW ENCAP``, ``Port ID`` in the - sample actions list. + - For E-Switch mirroring flow, supports ``RAW ENCAP``, ``Port ID``, + ``VXLAN ENCAP``, ``NVGRE ENCAP`` in the sample actions list. - Modify Field flow:
Signature · 1 line
2.21.0
Re: [dpdk-dev] [PATCH v3 7/8] doc: update sample actions support in mlx5 guide
Quoted 9 lines
-----Original Message-----
From: Salem Sol <[email protected]>
Sent: Wednesday, March 17, 2021 11:26
To: [email protected]
Cc: Salem Sol <[email protected]>; Matan Azrad <[email protected]>; Shahaf Shuler <[email protected]>; Slava Ovsiienko <[email protected]>
Subject: [PATCH v3 7/8] doc: update sample actions support in mlx5 guide
Quoted 4 lines
Updates the documentation with the added support for sample actions VXLAN and NVGRE encap in E-Switch steering flow.
Signed-off-by Salem Sol <[email protected]>
PATCH v3 8/8 doc: update dpdk 21.05 release notes
In reply to Salem SolUpdate release notes for dpdk 21.05 to include the new Mellanox driver's support for VXLAN and NVGRE encap as sample actions.
--- doc/guides/rel_notes/release_21_05.rst | 6 ++++++ 1 file changed, 6 insertions(+)
doc/guides/rel_notes/release_21_05.rst +6 -0
@@ -65,6 +65,12 @@ New Features * Added support for txgbevf PMD. +* **Updated Mellanox mlx5 driver.** + + Updated the Mellanox mlx5 driver with new features and improvements, including: + + * Added support for VXLAN and NVGRE encap as a sample actions. + * **Updated testpmd.** * Added command to display Rx queue used descriptor count.
Signature · 1 line
2.21.0
Re: [dpdk-dev] [PATCH v3 8/8] doc: update dpdk 21.05 release notes
Quoted 11 lines
-----Original Message-----
From: dev <[email protected]> On Behalf Of Salem Sol
Sent: Wednesday, March 17, 2021 11:26
To: [email protected]
Cc: Salem Sol <[email protected]>
Subject: [dpdk-dev] [PATCH v3 8/8] doc: update dpdk 21.05 release notesUpdate release notes for dpdk 21.05 to include the new Mellanox driver's support for VXLAN and NVGRE encap as sample actions.
Signed-off-by Salem Sol <[email protected]>
Re: [dpdk-dev] [PATCH v3 8/8] doc: update dpdk 21.05 release notes
In reply to Salem SolQuoted 17 lines · Salem Sol
Update release notes for dpdk 21.05 to include the new Mellanox driver's support for VXLAN and NVGRE encap as sample actions.
Signed-off-by Salem Sol <[email protected]>--- doc/guides/rel_notes/release_21_05.rst | 6 ++++++ 1 file changed, 6 insertions(+)doc/guides/rel_notes/release_21_05.rst +0
-0@@ -65,6 +65,12 @@ New Features * Added support for txgbevf PMD.
doc/guides/rel_notes/release_21_05.rst New Features · line 76
Quoted 10 lines
doc/guides/rel_notes/release_21_05.rst +6
-0+* **Updated Mellanox mlx5 driver.** + + Updated the Mellanox mlx5 driver with new features and improvements, including: + + * Added support for VXLAN and NVGRE encap as a sample actions. + * **Updated testpmd.** * Added command to display Rx queue used descriptor count.
Can you please distribute the content of this patch to the patch that actually adds the feature, instead of having a separate release notes update patch?
Thanks.