[dpdk-dev] [PATCH v3 0/4] Rework cfgfile API to enable apps config file support
Bruce Richardson
bruce.richardson at intel.com
Fri Jun 30 13:20:16 CEST 2017
On Tue, Jun 27, 2017 at 12:26:46PM +0200, Jacek Piasecki wrote:
> New API for cfgfile library allows to create a cfgfile at runtime, add new
> section, add entry in a section, update existing entry and save cfgfile
> structure to INI file - opens up the possibility to have applications
> dynamically build up a proper DPDK configuration, rather than
> having to have a pre-existing one. Due the new API functions, simplification
> of load() function was made. One new unit test to TEST app was added. It
> contains an example of a large INI file whose parsing requires multiple
> reallocation of memory.
>
> ---
> v3:
> split one patchset into two distinct patchsets:
> 1. cfgfile library and TEST app changes
> 2. EAL changes and examples (this patchset depends on cfgfile)
> v2:
> lib eal:
> Rework of rte_eal_configure(struct rte_cfgfile *cfg, char *prgname).
> Now this function load data from cfg structure and did initial
> initialization of EAL arguments. Vdev argument are stored in different
> subsections eg. DPDK.vdev0, DPDK.vdev1 etc. After execution of this
> function it is necessary to call rte_eal_init to complete EAL
> initialization. There is no more merging arguments from different
> sources (cfg file and command line).
> Added non_eal_configure to testpmd application.
> Function maintain the same functionality as rte_eal_configure but
> for non-eal arguments.
> Added config JSON feature to testpmd last patch from patchset contain
> example showing use of .json configuration files.
>
> lib cfgfile:
> Rework of add_section(), add_entry() new implementation
> New members allocated_entries/sections, free_entries/sections
> in rte_cfgfile structure, change in array of pointers
> **sections, **entries instead of *sections[], *entries[]
> Add set_entry() to update/overwrite already existing entry in cfgfile
> struct
> Add save() function to save on disc cfgfile structure in INI format
> Rework of existing load() function simplifying the code
> Add unit test realloc_sections() in TEST app for testing realloc/malloc
> of new API functions, add test for save() function
>
> Jacek Piasecki (3):
> cfgfile: remove EAL dependency
> cfgfile: add new functions to API
> test/cfgfile: add new unit test
>
> Kuba Kozak (1):
> cfgfile: rework of load function
>
This looks a good set to have. Some cleanup work needed on the code, but
from a high-level implementation view, it's fine.
Once issues flagged by me are fixed:
Acked-by: Bruce Richardson <bruce.richardson at intel.com>
More information about the dev
mailing list