From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by dpdk.org (Postfix) with ESMTP id EE5F91AFEC for ; Thu, 7 Jun 2018 09:40:38 +0200 (CEST) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 74A7B4075741; Thu, 7 Jun 2018 07:40:38 +0000 (UTC) Received: from [10.36.112.46] (ovpn-112-46.ams2.redhat.com [10.36.112.46]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 911186B59F; Thu, 7 Jun 2018 07:40:37 +0000 (UTC) To: Tiwei Bie Cc: zhihong.wang@intel.com, dev@dpdk.org References: <20180606123128.7868-1-maxime.coquelin@redhat.com> <20180606123128.7868-2-maxime.coquelin@redhat.com> <20180607054323.GE32696@debian> From: Maxime Coquelin Message-ID: Date: Thu, 7 Jun 2018 09:40:35 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: <20180607054323.GE32696@debian> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.7]); Thu, 07 Jun 2018 07:40:38 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.7]); Thu, 07 Jun 2018 07:40:38 +0000 (UTC) for IP:'10.11.54.5' DOMAIN:'int-mx05.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'maxime.coquelin@redhat.com' RCPT:'' 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 07:40:39 -0000 On 06/07/2018 07:43 AM, Tiwei Bie wrote: > 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. Ok, so IIUC, just returning 0 here should do the trick, right? >> + >> + /* 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. Fixed. >> + 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; >> +} >> + > [...] > Thanks! Maxime