From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wg0-f49.google.com (mail-wg0-f49.google.com [74.125.82.49]) by dpdk.org (Postfix) with ESMTP id C6D63678E for ; Tue, 28 Jan 2014 17:05:48 +0100 (CET) Received: by mail-wg0-f49.google.com with SMTP id a1so1153969wgh.4 for ; Tue, 28 Jan 2014 08:07:07 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=54+I7ATa2XY1kG6MgQquNm/KCTOnjO6AMdnw3zE5chs=; b=ZIfPS4PhKlYBVd3ZGPxcoDH9BYWFxDCkWiz+kcW5xcPMYv6qCQCRufUIQMJIkb1dl5 QQyRMXCa4hrWIHPCIDn3v5VDu3PLv3rSNBK/D+gVvs0UWGern0OriQvGipG1tlTFpbHp cFuQ50nVUScldv/JnrbmycE0dV00+N1zJLPUV9TrQ9zBEN/yNGqxGvVUBCGSu4axC2h+ MifGBG2z4I2Vyyye7bmIzjGxxjklFTJl0rKUTAw1JgbU8US16vgvMU15yLzYWY429WR5 oY443lFZ4AGz0RpdK1bWhO/DF4+1+fvv3yQx76tFpjZp0SAchvDxLz/9oy97jCgJmYkZ fdKQ== X-Gm-Message-State: ALoCoQns1b4H/Qq4wifpHU29QLa7dkG2zEZJbF6BOl/9He+TNeNz8v716C3Yw1aw8FK1a9bmIBLJ X-Received: by 10.194.178.135 with SMTP id cy7mr1566199wjc.21.1390925227149; Tue, 28 Jan 2014 08:07:07 -0800 (PST) Received: from glumotte.dev.6wind.com (6wind.net2.nerim.net. [213.41.180.237]) by mx.google.com with ESMTPSA id d6sm36407821wic.9.2014.01.28.08.07.05 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 28 Jan 2014 08:07:06 -0800 (PST) From: Olivier Matz To: dev@dpdk.org Date: Tue, 28 Jan 2014 17:06:33 +0100 Message-Id: <1390925204-10800-1-git-send-email-olivier.matz@6wind.com> X-Mailer: git-send-email 1.8.4.rc3 Subject: [dpdk-dev] [PATCH 00/11] add rte_kvargs library: a key/value args parser X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jan 2014 16:05:49 -0000 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