From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pg0-f41.google.com (mail-pg0-f41.google.com [74.125.83.41]) by dpdk.org (Postfix) with ESMTP id 31909689E for ; Fri, 10 Mar 2017 17:06:07 +0100 (CET) Received: by mail-pg0-f41.google.com with SMTP id 77so40290024pgc.1 for ; Fri, 10 Mar 2017 08:06:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ey2YXteE+fNadvsmK8SguNsbnw83JK/VNFr7M7mNtBE=; b=FObxrO9MSH5Jb8FnMnOLtcrSOy678XdUZOQi8jBY0Ru51dBaXk6FZ3vXZ3+lzYwi81 kpFuCBSahVQBgiOWrZZzGpoNEsFOIwky/spiThXqFJyfweT/zRkws1QD7CPVFU/lpFDK aG8f6anjch6r8eud0qlZZS3hppewrJvETpY3L4qhQbflMyVCSUQs18dx31nGeoxxvXbZ vwG5zHiw9Xp1ZNMlfoGr8RzOGILSvEWifmccyn8FmhthFyvw9uIK48U6h0AqPpySzIxl DKnQrjrgefY4kR8lGh3xt5RuG79fYboZFrwbCZeNQxhYIZK+Cmk+MWg8TEjjsrMfIuCt hTTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ey2YXteE+fNadvsmK8SguNsbnw83JK/VNFr7M7mNtBE=; b=Ec9gRLsQx9WCltvcW0YHR6AyPvqBHaDf+urULUPTSK64gpIdoIKe8YxCo99UeUnT8l o3ugvgbmcoprevdhDFKCi/y/GfdN4OPxvN8YgYA9scF423/L15Msk5WIU4yHwrqs3T0p Dssm75WzslMkh9ceuXosGo1+U/RX6EPRzhCnyGf6eTTT7pp0eJLqgWnET0oLOO5v9XAT iSiBCsAnsXDDG+RYtE9FLzSSrUklifM9m7NDm8sfSTM/xNJoWYDWm+mkRAyxpQeFv6y3 GGEPluMoA1k/9XneNXtUjtoMuTdyJqwQmh4ZLOlvRzEZZesTeOP3ERSoyEckUGWwDqPq Arsg== X-Gm-Message-State: AMke39mRxZzIA0EBB0Y3r5J/GNR9Fhdvg9FIV/py/yCCHiVMEesesX3wRSUX3hunugEaCA== X-Received: by 10.84.224.74 with SMTP id a10mr26945884plt.28.1489161966961; Fri, 10 Mar 2017 08:06:06 -0800 (PST) Received: from xeon-e3 (204-195-18-65.wavecable.com. [204.195.18.65]) by smtp.gmail.com with ESMTPSA id e7sm19719835pgp.2.2017.03.10.08.06.06 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 10 Mar 2017 08:06:06 -0800 (PST) Date: Fri, 10 Mar 2017 08:06:04 -0800 From: Stephen Hemminger To: "Wiles, Keith" Cc: DPDK Message-ID: <20170310080604.66c9f168@xeon-e3> In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [dpdk-dev] [RFC] New CLI for DPDK X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Mar 2017 16:06:08 -0000 On Fri, 10 Mar 2017 15:25:31 +0000 "Wiles, Keith" wrote: > I would like to request for comments on a new CLI design and get any feed= back. I have attached the cli.rst text, which is still a work in progress f= or you review. >=20 > I have also ported the CLI to a version of Pktgen on the =E2=80=98dev=E2= =80=99 branch of the repo in DPDK.org. >=20 > http://dpdk.org/browse/apps/pktgen-dpdk/refs/?h=3Ddev >=20 > I would like to submit the CLI library to be used in DPDK, if that seems = reasonable to everyone. I need more testing of the API and Pktgen, but I fe= el it has a simpler design, easier to understand and hopefully make it easi= er for developers to add commands. >=20 > As an example I quickly converted over testpmd from CMDLINE to CLI (I jus= t add a -I option to select CLI instead) and reduced the test-pmd/cmdline.c= file from 12.6K lines to about 4.5K lines. I did not fully test the code, = but the ones I did test seem to work. >=20 > I do not expect DPDK to convert to the new CLI only if it makes sense and= I am not suggesting to replace CMDLINE library. >=20 > If you play with the new CLI in pktgen and see any problems or want to su= ggest new features or changes please let me know. >=20 > Comments on the cli.rst text is also welcome, but the cli.rst is not comp= lete. I think this file needs to be broken into two one to explain the exam= ple and another to explain CLI internals. >=20 It would be great if all DPDK examples used a similar architecture. And hav= ing a common infrastructure would help. But not sure it needs to be special. Why should this be DPDK specific? What you are building really ends up being an application framework at some point. Surely, there are lots of others already in open s= ource. Heck even VPP has its own CLI inside.