app/testpmd: fix lack of flow action configuration
Configuration structure is not optional with flow rule actions that expect one; this pointer is not supposed to be NULL and PMDs should not have to verify it. Like pattern item spec/last/mask fields, it is currently set when at least one configuration parameter is provided on the command line. This patch sets it as soon as an action is created instead. Fixes: 7a91969ad35e ("app/testpmd: add various actions to flow command") Cc: stable@dpdk.org Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
This commit is contained in:
parent
7a17b969e9
commit
e153717a26
@ -1909,6 +1909,7 @@ parse_vc(struct context *ctx, const struct token *token,
|
||||
return -1;
|
||||
*action = (struct rte_flow_action){
|
||||
.type = priv->type,
|
||||
.conf = data_size ? data : NULL,
|
||||
};
|
||||
++out->args.vc.actions_n;
|
||||
ctx->object = action;
|
||||
@ -1989,7 +1990,6 @@ parse_vc_conf(struct context *ctx, const struct token *token,
|
||||
void *buf, unsigned int size)
|
||||
{
|
||||
struct buffer *out = buf;
|
||||
struct rte_flow_action *action;
|
||||
|
||||
(void)size;
|
||||
/* Token name must match. */
|
||||
@ -1998,14 +1998,9 @@ parse_vc_conf(struct context *ctx, const struct token *token,
|
||||
/* Nothing else to do if there is no buffer. */
|
||||
if (!out)
|
||||
return len;
|
||||
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;
|
||||
/* Update configuration pointer. */
|
||||
action->conf = ctx->object;
|
||||
return len;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user