From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 907021B1AA for ; Thu, 7 Jun 2018 07:43:12 +0200 (CEST) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Jun 2018 22:43:11 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,486,1520924400"; d="scan'208";a="55404921" Received: from debian.sh.intel.com (HELO debian) ([10.67.104.203]) by FMSMGA003.fm.intel.com with ESMTP; 06 Jun 2018 22:43:10 -0700 Date: Thu, 7 Jun 2018 13:43:24 +0800 From: Tiwei Bie To: Maxime Coquelin Cc: zhihong.wang@intel.com, dev@dpdk.org Message-ID: <20180607054323.GE32696@debian> References: <20180606123128.7868-1-maxime.coquelin@redhat.com> <20180606123128.7868-2-maxime.coquelin@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20180606123128.7868-2-maxime.coquelin@redhat.com> User-Agent: Mutt/1.9.5 (2018-04-13) Subject: Re: [dpdk-dev] [PATCH v2 1/5] net/virtio: prevent simple Tx path selection by default 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: Thu, 07 Jun 2018 05:43:13 -0000 On Wed, Jun 06, 2018 at 02:31:24PM +0200, Maxime Coquelin wrote: [...] > + > +static int > +virtio_dev_args(struct rte_eth_dev *dev) > +{ > + struct rte_kvargs *kvlist; > + struct rte_devargs *devargs; > + const char *valid_args[] = { > + VIRTIO_SIMPLE_TX_SUPPORT, > + NULL, > + }; > + int ret; > + int i; > + > + devargs = dev->device->devargs; > + if (!devargs) > + return 0; /* return success */ > + > + kvlist = rte_kvargs_parse(devargs->args, valid_args); > + if (kvlist == NULL) > + return -EINVAL; Virtio-user has defined some other mandatory devargs. The parse will fail when other devargs have been specified. > + > + /* Process parameters. */ > + for (i = 0; (valid_args[i] != NULL); ++i) { There is an extra space before the comment. The () around `valid_args[i] != NULL` isn't necessary. > + if (rte_kvargs_count(kvlist, valid_args[i])) { > + ret = rte_kvargs_process(kvlist, valid_args[i], > + virtio_dev_args_check, dev); > + if (ret) { > + rte_kvargs_free(kvlist); > + return ret; > + } > + } > + } > + rte_kvargs_free(kvlist); > + > + return 0; > +} > + [...]