From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yerden Zhumabekov Subject: Re: [RFC] Yet another option for DPDK options Date: Fri, 3 Jun 2016 16:07:14 +0600 Message-ID: <575156D2.8040800@sts.kz> References: <20160601161826.GA9760@bricha3-MOBL3> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Cc: bruce.richardson@intel.com To: dev@dpdk.org Return-path: Received: from mgw.gov.kz (mgw.gov.kz [178.89.4.254]) by dpdk.org (Postfix) with ESMTP id 22EAB592F for ; Fri, 3 Jun 2016 12:07:16 +0200 (CEST) In-Reply-To: <20160601161826.GA9760@bricha3-MOBL3> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" +1 We're using INI in our app, turned out to be quite simple, like this: [eal] ;; EAL common options: ;; -c COREMASK Hexadecimal bitmask of cores to run on # coremask = fff ;; -l CORELIST List of cores to run on corelist = 3,4,5 ;; --lcores COREMAP Map lcore set to physical cpu set ; coremap = ;; --master-lcore ID Core ID that is used as master ; master-lcore-id = 0 ;; -n CHANNELS Number of memory channels memory-channels = 4 On 01.06.2016 22:18, Bruce Richardson wrote: > On Wed, Jun 01, 2016 at 10:58:41AM -0500, Jay Rolette wrote: >> On Wed, Jun 1, 2016 at 10:00 AM, Wiles, Keith wrote: >> >>> Started from the link below, but did not want to highjack the thread. >>> http://dpdk.org/ml/archives/dev/2016-June/040021.html >>> >>> I was thinking about this problem from a user perspective and command line >>> options are very difficult to manage specifically when you have a large >>> number of options as we have in dpdk. I see all of these options as a type >>> of database of information for the DPDK and the application, because the >>> application command line options are also getting very complex as well. >>> >>> I have been looking at a number of different options here and the >>> direction I was thinking was using a file for the options and >>> configurations with the data in a clean format. It could have been a INI >>> file or JSON or XML, but they all seem to have some problems I do not like. >>> The INI file is too flat and I wanted a hierarchy in the data, the JSON >>> data is similar and XML is just hard to read. I wanted to be able to manage >>> multiple applications and possible system the DPDK/app runs. The problem >>> with the above formats is they are just data and not easy to make decisions >>> about the system and applications at runtime. >>> >> INI format is simplest for users to read, but if you really need hierarchy, >> JSON will do that just fine. Not sure what you mean by "JSON data is >> similar"... >> >> > I'd be quite concerned if we start needing lots of hierarchies for configuration. > > I'd really just like to see ini file format used for this because: > * it's a well understood, simple format > * very easily human readable and editable > * lots of support for it in lots of languages > * hierarchies are possible in it too - just not as easy as in other formats > though. [In a previous life I worked with ini files which had address > hierarchies 6-levels deep in them. It wasn't hard to work with] > * it works well with grep since you must have one value per-line > * it allows comments > * we already have a DPDK library for parsing them > > However, for me the biggest advantage of using something like ini is that it > would force us to keep things simple! > > I'd stay away from formats like json or XML that are designed for serializing > entire objects or structures, and look for something that allows us to just > specify configuration values. > > Regards, > /Bruce >