From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-f181.google.com (mail-wr0-f181.google.com [209.85.128.181]) by dpdk.org (Postfix) with ESMTP id D0E4D7CF1 for ; Tue, 1 Aug 2017 10:18:09 +0200 (CEST) Received: by mail-wr0-f181.google.com with SMTP id k71so3590016wrc.2 for ; Tue, 01 Aug 2017 01:18:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=tu1J9EdD4ouFCMvEVtw7TEgxXDYnczfxEDt8Nmdns7E=; b=Ucg+16fEgwprsKrFV27jO1WYjOpPduHSrnvtHyhTHON+Ii1jKTRUI7v6Lp1baee6Fh dH7pfWZEXKl7e6TlF03H5crZuyxNcSJIraxfndAI22Mf42wPvEXGOwYqfZ1vZrI/JLwx L5MEBnzadigENEU+f4IdXk6XVHCbfMQ5rGeNjxJAXZdhNixn8ehweKd9+4l8ljFTRTnr JEmmXKtvy6oo7YTuQmRR0hSXDmW3HCw1a3M9yccR8vXN/CyFMeCz+PapES5TaQ2dTrvJ wWxY6Rw3s01Hm9CJwIFVtGblS0uTYbtXrScjfUGNtfK+X4tfQegJOlXHdBfScCrNJdGY 07jw== 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:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=tu1J9EdD4ouFCMvEVtw7TEgxXDYnczfxEDt8Nmdns7E=; b=Qwm4CAX+FMnG6rhNq0+Zzc7rLKR2SP3lORM5TiotB4lTqPPu4KhkrP5MuskdlmXdXG 4sn3ZS95ofPYL79QfwBObiIdM3+uqCp8zKyXuI9bpG7bc3X33/74TFX+/Fg0jhMj9wyC /3m0EerD4ArmKVtivtyaRbNvRDbYi+LOV5nSWVfRIrXUm3UZuR6NTwPHzuh3ya3S9IBu 63I8pj1o42g4QVNiBz7LwunuDNc01xiv+teHuan9rqBfV1StsNGTkYuCPbESlWTth3GZ zhnbDf7/o3uNqk0XkiVsq1AiuGMIWgFSbVqvPCmYbiBKVlh7JH7IEluvOfHRUKZRG/7t VpQg== X-Gm-Message-State: AIVw112ODuB3L5Da07uZoB8SDy3EALdNPcx9wO1+g7Yvd5Q+DyJSOttG AshJAklGJ/44z+/05Gc= X-Received: by 10.223.163.199 with SMTP id m7mr14541251wrb.128.1501575489455; Tue, 01 Aug 2017 01:18:09 -0700 (PDT) Received: from bidouze.vm.6wind.com (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id 195sm983964wms.47.2017.08.01.01.18.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 01 Aug 2017 01:18:08 -0700 (PDT) Date: Tue, 1 Aug 2017 10:17:59 +0200 From: =?iso-8859-1?Q?Ga=EBtan?= Rivet To: Thomas Monjalon Cc: Dirk-Holger Lenz , users@dpdk.org, dev@dpdk.org Message-ID: <20170801081759.GO11154@bidouze.vm.6wind.com> References: <9fb283ed-223d-713e-4722-21278f4cfd6e@ng4t.com> <2197043.BsW04uu1lT@xps> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <2197043.BsW04uu1lT@xps> User-Agent: Mutt/1.5.23 (2014-03-12) Subject: Re: [dpdk-users] If shared libraries are used vdev doesn't work anymore X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Aug 2017 08:18:10 -0000 Hi, On Mon, Jul 31, 2017 at 10:23:50PM +0200, Thomas Monjalon wrote: > 31/07/2017 16:58, Dirk-Holger Lenz: > > If dpdk is built with 'CONFIG_RTE_BUILD_SHARED_LIB=y' then > > using the vdev feature (args: e.g. -c 3 -n 4 --vdev="crypto_openssl") > > the rte_eal_init() returns 'ERROR: failed to parse device "crypto_openssl"'. > > It looks to me that rte_eal_devargs_add() calling rte_eal_devargs_parse() > > is trying to check the device name before the shared libraries are read > > and the internal data arrays are setup. > > Yes, you're right: eal_parse_args() is called before eal_plugins_init(). > The fix is not small: we should split the args parsing to parse the > device arguments after loading shared libraries. > > It is a release blocker. I saw that yesterday, tried to investigate a bit. I have currently an issue when launching testpmd when BUILD_SHARED_LIB=y. Mbufs fail to be allocated. I was not able to find the root cause for this. Anyway, I guess there are two possible solutions: - Delayed device validation - Earlier plugins init Thomas you seem to propose the first one, I agree that it will probably be a little involved to implement but I guess it's feasible in time. However, I don't yet understand why the second one is not possible from the get-go. It makes sense in any case that the system should be stabilized as soon as possible - i.e. that underlying subsystems such as plugins and capabilities are loaded first to expose a stable set of capabilities to any subsequent initializations. So, I will lack time to investigate the issue with testpmd and shared libs. If anyone has any idea, I will gladly hear it. In the meantime, I will test those two solutions, see what would be feasible, and try to propose one shortly. Regards, -- Gaëtan Rivet 6WIND