The patch separates flex item destruction function implementation. Setups with installed JSON development library can use any value in range [0, FLEX_MAX_PARSERS_NUM - 1] as input flex item ID. In setups without JSON development library flex item destruction function is resolved to empty stub.
cc: sta...@dpdk.org Fixes: 2d3d84013508 ("app/testpmd: fix flex item flush") Signed-off-by: Gregory Etelson <getel...@nvidia.com> Reviewed-by: Viacheslav Ovsiienko <viachesl...@nvidia.com> --- app/test-pmd/cmd_flex_item.c | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/app/test-pmd/cmd_flex_item.c b/app/test-pmd/cmd_flex_item.c index 78a89c0f8a..f2560dbf83 100644 --- a/app/test-pmd/cmd_flex_item.c +++ b/app/test-pmd/cmd_flex_item.c @@ -368,23 +368,12 @@ flex_item_create(portid_t port_id, uint16_t flex_id, const char *filename) free(fp); } -#else /* RTE_HAS_JANSSON */ -void flex_item_create(__rte_unused portid_t port_id, - __rte_unused uint16_t flex_id, - __rte_unused const char *filename) -{ - printf("cannot create flex item - no JSON library configured\n"); -} -#endif /* RTE_HAS_JANSSON */ - void flex_item_destroy(portid_t port_id, uint16_t flex_id) { int ret; struct rte_flow_error error; struct flex_item *fp = flex_parser_fetch(port_id, flex_id); - if (!flex_id) - return; if (fp == FLEX_PARSER_ERR) { printf("Bad parameters: port_id=%u flex_id=%u\n", port_id, flex_id); @@ -405,6 +394,22 @@ flex_item_destroy(portid_t port_id, uint16_t flex_id) } } +#else /* RTE_HAS_JANSSON */ +void flex_item_create(__rte_unused portid_t port_id, + __rte_unused uint16_t flex_id, + __rte_unused const char *filename) +{ + printf("cannot create flex item - no JSON library configured\n"); +} + +void +flex_item_destroy(__rte_unused portid_t port_id, __rte_unused uint16_t flex_id) +{ + +} + +#endif /* RTE_HAS_JANSSON */ + void port_flex_item_flush(portid_t port_id) { -- 2.34.1