The topic of this patchset is to add a new rte_kvargs library that can be used as a helper to parse key/value arguments. The code will be based on rte_eth_pcap_arg_parser and reworked with documentation and tests. It also fix some minor issues of the original code.
These commits will allow another library (like pmd_ring) to parse arguments in an easier way without duplicating the code. Olivier Matz (11): kvargs: add a new library to parse key/value arguments kvargs: use the new library in pmd_pcap kvargs: remove driver name in arguments kvargs: remove useless size field kvargs: rework API to fix memory leak kvargs: simpler parsing and allow duplicated keys kvargs: be strict when matching a key kvargs: add const attribute in handler parameters kvargs: add the key in handler pameters kvargs: make the NULL key to match all entries kvargs: add test case in app/test app/test/Makefile | 1 + app/test/commands.c | 8 + app/test/test.h | 1 + app/test/test_kvargs.c | 235 ++++++++++++++++++++++++ config/defconfig_i686-default-linuxapp-gcc | 5 + config/defconfig_i686-default-linuxapp-icc | 5 + config/defconfig_x86_64-default-linuxapp-gcc | 5 + config/defconfig_x86_64-default-linuxapp-icc | 5 + lib/Makefile | 1 + lib/librte_kvargs/Makefile | 49 +++++ lib/librte_kvargs/rte_kvargs.c | 206 +++++++++++++++++++++ lib/librte_kvargs/rte_kvargs.h | 155 ++++++++++++++++ lib/librte_pmd_pcap/Makefile | 8 +- lib/librte_pmd_pcap/rte_eth_pcap.c | 44 ++--- lib/librte_pmd_pcap/rte_eth_pcap_arg_parser.c | 255 -------------------------- lib/librte_pmd_pcap/rte_eth_pcap_arg_parser.h | 71 ------- lib/librte_pmd_ring/rte_eth_ring.c | 2 + mk/rte.app.mk | 4 + 18 files changed, 709 insertions(+), 351 deletions(-) create mode 100644 app/test/test_kvargs.c create mode 100644 lib/librte_kvargs/Makefile create mode 100644 lib/librte_kvargs/rte_kvargs.c create mode 100644 lib/librte_kvargs/rte_kvargs.h delete mode 100644 lib/librte_pmd_pcap/rte_eth_pcap_arg_parser.c delete mode 100644 lib/librte_pmd_pcap/rte_eth_pcap_arg_parser.h -- 1.8.4.rc3