From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf1-f173.google.com (mail-pf1-f173.google.com [209.85.210.173]) by dpdk.org (Postfix) with ESMTP id 4C162324D for ; Thu, 14 Mar 2019 16:52:20 +0100 (CET) Received: by mail-pf1-f173.google.com with SMTP id a3so4104619pff.11 for ; Thu, 14 Mar 2019 08:52:20 -0700 (PDT) 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=5YoeY/3K2eCQ6lOgX9jAF+tHu5Bj+vP7e/3St3v0HNQ=; b=aWDKRQUMZTxZBuMrMm4WZz9xL1svpTP/OCi6ASiKK4Jp0e8mMLviBb/Q71NVfH7xLG FXaWKJx6mUKPkxZ8lDtmCe5cXr2d2pLf8XxQGC0rxKlLijj+CMkvdtG2jzvYyBVnEzVl f9u2OxoGcn0XebyZ8m1rNx0Ns2QlgltqvrxDHHZv786m8RgD30GJ+nDkkt+f8ec0oTCR myb3uficDuFCNlhhG0BLSYzqj2GBO3zZhw7WqwTTxPslQHK5PRMmU+PxqOkDz5YRqAaS uKn0CcJhpcQHnWZotBlvI8fS2E8TE6zErMyV171Kyttcq5gWezExmMaTlD5EXEHUuWP3 +3Yw== 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=5YoeY/3K2eCQ6lOgX9jAF+tHu5Bj+vP7e/3St3v0HNQ=; b=tKLnsQ+y4ddob6/CV7Aq1artqhyjORwIIqohMWOOP/SsFOSH6O3Mhl16eCLXF6b7bp bPh4JlDe9GvFY8+bkkE9UIYCbtjjarTgtx6Mw1OywDyOVzZyjb7lyv4iAhYCfCubgtPT zkJ5Keylm1BAU1jz/8eQfxeidnqR8KVp9W5GquHQqEmaqftcYJav2W5zxCCTKjAXVsEj c9WhjmRjADI2IkGItsv91IjSrVld6pLb4ELlsv/AluzesL29YxQZyDUTA0KBYWuQhDaq zDk2rxgRJ48QDtORIk4X2HZ7LHWg8hYTfMlm/xlsa9bJgKG2hiA1gZ8j2pzIGiHZNF8T CSdg== X-Gm-Message-State: APjAAAXNGtv1zq7cmFsgMxNOx3HcoXVzTTLM/F7WEYDi1myKMJJnqK26 MkQj5y3MG8/Vy2Uiioex6Bm1cA== X-Google-Smtp-Source: APXvYqwpJqpybFbJ86Q8GqcrskX2dE1Dx6mHgh6abEpCKUz5bV0c9kzakJEHPYS3+qnxy59BVepM+A== X-Received: by 2002:a63:6e02:: with SMTP id j2mr44232385pgc.229.1552578739392; Thu, 14 Mar 2019 08:52:19 -0700 (PDT) Received: from shemminger-XPS-13-9360 (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id y6sm23283840pfy.87.2019.03.14.08.52.18 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 14 Mar 2019 08:52:19 -0700 (PDT) Date: Thu, 14 Mar 2019 08:52:15 -0700 From: Stephen Hemminger To: Matan Azrad Cc: "dev@dpdk.org" , "vpp-dev@lists.fd.io" Message-ID: <20190314085215.26c6daf0@shemminger-XPS-13-9360> In-Reply-To: References: <20190313151858.2175-1-stephen@networkplumber.org> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [RFC] net/vdev_netvsc: check for required related drivers 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, 14 Mar 2019 15:52:20 -0000 On Thu, 14 Mar 2019 11:26:05 +0000 Matan Azrad wrote: > Hi > > From: Stephen Hemminger > > The vdev_netvsc virtual driver that is used to do initialization on Hyper- > > V/Azure won't work without failsafe and tap device. > > If the related devices aren't present, it causes confusing errors later in > > initialization when it crafts devargs and attempts to send them to a device > > driver that isn't there. > > > > Unfortunately, this is common with VPP where the TAP and FAILSAFE PMD's > > are both optional. The suggestion here is to detect this in the startup phase > > earlier. > > > > Alternative would be to use RTE_BUILD_BUG_ON(!defined(...)) but that > > would break people doing normal VPP build. > > > > The failsafe and tap devices are created by the vdev_netvsc PMD, so it is not expected to find them in the scan time. > If the VM doesn't want vdev_netvsc driver to run, it have 2 options: > 1. assign IP to the netvsc netdevs. > 2. run --vdev="vdev_netvsc0,ignore=1" - see documentation for more info. > How do we improve the error reporting for configurations that have run Hyper-V/Azure but forget to build failsafe, tap or mlx5 device drivers. Right now the error messages are confusing, misleading and waste significant amount of developer time. What solution do you propose? The DPDK build system is not as smart as kernel Kconfig, there is no way to force dependencies. From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id 6BCF3A0096 for ; Thu, 14 Mar 2019 16:52:21 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 48C9D4C96; Thu, 14 Mar 2019 16:52:21 +0100 (CET) Received: from mail-pf1-f173.google.com (mail-pf1-f173.google.com [209.85.210.173]) by dpdk.org (Postfix) with ESMTP id 4C162324D for ; Thu, 14 Mar 2019 16:52:20 +0100 (CET) Received: by mail-pf1-f173.google.com with SMTP id a3so4104619pff.11 for ; Thu, 14 Mar 2019 08:52:20 -0700 (PDT) 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=5YoeY/3K2eCQ6lOgX9jAF+tHu5Bj+vP7e/3St3v0HNQ=; b=aWDKRQUMZTxZBuMrMm4WZz9xL1svpTP/OCi6ASiKK4Jp0e8mMLviBb/Q71NVfH7xLG FXaWKJx6mUKPkxZ8lDtmCe5cXr2d2pLf8XxQGC0rxKlLijj+CMkvdtG2jzvYyBVnEzVl f9u2OxoGcn0XebyZ8m1rNx0Ns2QlgltqvrxDHHZv786m8RgD30GJ+nDkkt+f8ec0oTCR myb3uficDuFCNlhhG0BLSYzqj2GBO3zZhw7WqwTTxPslQHK5PRMmU+PxqOkDz5YRqAaS uKn0CcJhpcQHnWZotBlvI8fS2E8TE6zErMyV171Kyttcq5gWezExmMaTlD5EXEHUuWP3 +3Yw== 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=5YoeY/3K2eCQ6lOgX9jAF+tHu5Bj+vP7e/3St3v0HNQ=; b=tKLnsQ+y4ddob6/CV7Aq1artqhyjORwIIqohMWOOP/SsFOSH6O3Mhl16eCLXF6b7bp bPh4JlDe9GvFY8+bkkE9UIYCbtjjarTgtx6Mw1OywDyOVzZyjb7lyv4iAhYCfCubgtPT zkJ5Keylm1BAU1jz/8eQfxeidnqR8KVp9W5GquHQqEmaqftcYJav2W5zxCCTKjAXVsEj c9WhjmRjADI2IkGItsv91IjSrVld6pLb4ELlsv/AluzesL29YxQZyDUTA0KBYWuQhDaq zDk2rxgRJ48QDtORIk4X2HZ7LHWg8hYTfMlm/xlsa9bJgKG2hiA1gZ8j2pzIGiHZNF8T CSdg== X-Gm-Message-State: APjAAAXNGtv1zq7cmFsgMxNOx3HcoXVzTTLM/F7WEYDi1myKMJJnqK26 MkQj5y3MG8/Vy2Uiioex6Bm1cA== X-Google-Smtp-Source: APXvYqwpJqpybFbJ86Q8GqcrskX2dE1Dx6mHgh6abEpCKUz5bV0c9kzakJEHPYS3+qnxy59BVepM+A== X-Received: by 2002:a63:6e02:: with SMTP id j2mr44232385pgc.229.1552578739392; Thu, 14 Mar 2019 08:52:19 -0700 (PDT) Received: from shemminger-XPS-13-9360 (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id y6sm23283840pfy.87.2019.03.14.08.52.18 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 14 Mar 2019 08:52:19 -0700 (PDT) Date: Thu, 14 Mar 2019 08:52:15 -0700 From: Stephen Hemminger To: Matan Azrad Cc: "dev@dpdk.org" , "vpp-dev@lists.fd.io" Message-ID: <20190314085215.26c6daf0@shemminger-XPS-13-9360> In-Reply-To: References: <20190313151858.2175-1-stephen@networkplumber.org> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [RFC] net/vdev_netvsc: check for required related drivers 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Message-ID: <20190314155215.n2YqS4JYctBZaF5rJzGx3-3BeJw2o1TdbAqILSK9BnE@z> On Thu, 14 Mar 2019 11:26:05 +0000 Matan Azrad wrote: > Hi > > From: Stephen Hemminger > > The vdev_netvsc virtual driver that is used to do initialization on Hyper- > > V/Azure won't work without failsafe and tap device. > > If the related devices aren't present, it causes confusing errors later in > > initialization when it crafts devargs and attempts to send them to a device > > driver that isn't there. > > > > Unfortunately, this is common with VPP where the TAP and FAILSAFE PMD's > > are both optional. The suggestion here is to detect this in the startup phase > > earlier. > > > > Alternative would be to use RTE_BUILD_BUG_ON(!defined(...)) but that > > would break people doing normal VPP build. > > > > The failsafe and tap devices are created by the vdev_netvsc PMD, so it is not expected to find them in the scan time. > If the VM doesn't want vdev_netvsc driver to run, it have 2 options: > 1. assign IP to the netvsc netdevs. > 2. run --vdev="vdev_netvsc0,ignore=1" - see documentation for more info. > How do we improve the error reporting for configurations that have run Hyper-V/Azure but forget to build failsafe, tap or mlx5 device drivers. Right now the error messages are confusing, misleading and waste significant amount of developer time. What solution do you propose? The DPDK build system is not as smart as kernel Kconfig, there is no way to force dependencies.