From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ferruh Yigit Subject: Re: [PATCH v5 0/3] EAL change for using a config file for DPDK Date: Thu, 24 Jan 2019 13:54:41 +0000 Message-ID: References: <1499691101-184293-2-git-send-email-kubax.kozak@intel.com> <1499940470-31628-1-git-send-email-kubax.kozak@intel.com> <0d99715f-d628-3719-edcc-62991f91e7f2@intel.com> <3950735.e0BHBgFYen@xps> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Cc: Kuba Kozak , deepak.k.jain@intel.com, bruce.richardson@intel.com, michalx.k.jastrzebski@intel.com, jacekx.piasecki@intel.com, dpdk-dev , Stephen Hemminger , Kevin Traynor , David Marchand To: Thomas Monjalon Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 8F1B12BF2 for ; Thu, 24 Jan 2019 14:54:45 +0100 (CET) In-Reply-To: <3950735.e0BHBgFYen@xps> Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 1/23/2019 8:26 PM, Thomas Monjalon wrote: > 23/01/2019 20:31, Ferruh Yigit: >> On 7/13/2017 11:07 AM, kubax.kozak at intel.com (Kuba Kozak) wrote: >>> This patchset introduce a mechanism for running dpdk application with >>> parameters provided by configuration file. >>> >>> A new API for EAL takes a config file data type - either loaded from >>> file, or built up programmatically in the application - and extracts >>> DPDK parameters from it to be used when eal init is called. >>> This allows apps to have an alternative method to configure EAL, >>> other than via command-line parameters. >>> >>> Reworked applications are used to demonstrate the new eal API. >>> If a --cfgfile-path option is passed into command line non >>> EAL section, then the file is loaded and used by app. If a file >>> called config.ini is present in current working directory, and >>> no --cfgfile-path option is passed in, config.ini file will be >>> loaded and used by app. >>> >>> Patch "app/testpmd: add parse options from JSON cfg file" >>> demonstrates the usage of JSON instead of INI file format. >>> JSON file can be called the same way as above, >>> through --cfgfile-path argument. >>> --- >>> this patch depends on: >>> "Rework cfgfile API to enable apps config file support" >>> >>> v5: >>> changed define "RTE_DEVTYPE_VIRTUAL" to "RTE_DEVTYPE_UNDEFINED" >>> due to compilation errors (changes on current master). >>> >>> v4: >>> Code optimalisation in parse_vdev_devices() function. >>> Moved some functions from librte_eal/bsdapp and librte_eal/linuxapp >>> to the librte_eal/common. >>> Bug fixes. >>> >>> 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 >>> >>> Kuba Kozak (3): >>> eal: add functions parsing EAL arguments >>> app/testpmd: add parse options from cfg file >>> app/testpmd: add parse options from JSON cfg file >> >> This patchset is idle more than a year now. >> It solves problem of eal parameters, it doesn't remove them but at least moves >> from command line to config file. >> >> The patch seems mostly done, but what is the status of it, do we want to >> continue it? >> And if we want to continue it can this be a good candidate for GCOS? > > I think we must focus on reorganization of EAL first. > When the options parsing will be better isolated, > and accessible from API independant of rte_eal_init, > then we could provide some helpers to use those APIs > for a config file, a custom command line or anything else. Is there any actions do we need to take when patches are rejected?