From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0F820A0350; Thu, 27 Jan 2022 09:42:23 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8CD2042727; Thu, 27 Jan 2022 09:42:22 +0100 (CET) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mails.dpdk.org (Postfix) with ESMTP id B0B1E4067C for ; Thu, 27 Jan 2022 09:42:20 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1643272940; x=1674808940; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=NLIpM58+X9KvA5wrs78ZT+M5og69gNVfhDhiZi+Skxo=; b=aRjXnIlOfvG0SCZ6wZmWo5JZVKQarZvSNH08RuZ3hJ0C0mj0S7aArp2g 1xNbOCzEfEFOeoOS2WPob3EZBJI8DPVPe3s72QAbtSFxjLqwNkzrWLnpy JYY6jGsu0oGb8g6TtHnnBzqeGTNQkbsWTVUIdL2D6vc3xwzG7z65k0Y79 2LgH73ISIvTqH2vlw+NyT1m/QX5SqrEZSwtpvAcAwFkf3Hf07RbrpxgQU ihcK13O9RpuKKRsGkqndG7TH0ow5Hi2V5Jx6/UggQb4DxPLN5gFtrfZhJ wDbCY2X59ykuKgczQbZvVk1QsFcwtKPTSGXwOUb48LarDqJf5vU/rd/2f g==; X-IronPort-AV: E=McAfee;i="6200,9189,10239"; a="227461554" X-IronPort-AV: E=Sophos;i="5.88,320,1635231600"; d="scan'208";a="227461554" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Jan 2022 00:42:19 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,320,1635231600"; d="scan'208";a="563707846" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orsmga001.jf.intel.com with ESMTP; 27 Jan 2022 00:42:13 -0800 Received: from fmsmsx604.amr.corp.intel.com (10.18.126.84) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Thu, 27 Jan 2022 00:42:13 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20 via Frontend Transport; Thu, 27 Jan 2022 00:42:13 -0800 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.57.48) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.20; Thu, 27 Jan 2022 00:42:12 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Sh3POrwUCpnWO6H6gkdBEBpFHRYjQdcY6uojI80QcnROkPrYR089/g8J34wX2ZF0TmB7mgNJHFZ4OumivhFAzAjv0IVyWTD+XUVZsJjl6fsW0ZkSo8i+iIvntO18uzFv3oRXEfqZUtGe4YqgDh2kYmwjnL0KMqecM3XmbqPvXxt6AIECz2Gajjdo3lRQdVMwzShJcfaXI9JJpZkiS4amiPxZWy2+8riD2vJlQXssqFQwMb7e/vNXLRIgacfvTTp6EewTcQYg/3FT0b8nE/XHG3A57OXdg5EjpzZgh92uYtawhZz/AkZ3ceqGWkxDRhN+eKjkB7x04KEScUvpXtbH0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=bDlGshyprU0SIcqXnvFWEmxOM1awXYwbLJ3SZ1O0Ycs=; b=LTuuBAwoewM2KM2Ppsaj2ED2zn5FUKvKMTzk/BiQqhyK8IZLuy60hkDn6IYdaT/eP7gbAdnxK45FRJ+qWY25boyLDn7JvFN9zSUZHIuRUt8oJAi3fgrGSUkLmPpos0dMvExOiusMuopHwzHuYE3+FK7J6JDG+5vW9zcY/J4rTZhWQj1O6NttUkrm99GtzSp41ywamU6ESnQ0wvZixQt8UCNpTLiJxdju4nthNRb+HSBsbBteU2i4ZvjcTgOs5XtsJg8s4G4Cx07Bj+R/Iy0kQQzW4rEdPdmGS93iXqpf12CcXyv83nLmPbKmaYfxVnbxwhamuUSmKMxGI7+MNA/YwA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from PH0PR11MB4791.namprd11.prod.outlook.com (2603:10b6:510:43::10) by DM5PR1101MB2346.namprd11.prod.outlook.com (2603:10b6:3:a6::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.12; Thu, 27 Jan 2022 08:42:09 +0000 Received: from PH0PR11MB4791.namprd11.prod.outlook.com ([fe80::c08a:3b4b:e8f:c789]) by PH0PR11MB4791.namprd11.prod.outlook.com ([fe80::c08a:3b4b:e8f:c789%4]) with mapi id 15.20.4930.017; Thu, 27 Jan 2022 08:42:09 +0000 From: "Loftus, Ciara" To: "Richardson, Bruce" CC: "dev@dpdk.org" , "Yigit, Ferruh" Subject: RE: [PATCH v2] net/af_xdp: use libxdp if available Thread-Topic: [PATCH v2] net/af_xdp: use libxdp if available Thread-Index: AQHYEbwhFW1rDRAp3k6bFvIbQSMC/axzeC4AgAMXUrA= Date: Thu, 27 Jan 2022 08:42:09 +0000 Message-ID: References: <20220112130731.39771-1-ciara.loftus@intel.com> <20220125072043.1590-1-ciara.loftus@intel.com> In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.200.16 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: bc1f32b3-ebdc-44ac-5cc4-08d9e170e831 x-ms-traffictypediagnostic: DM5PR1101MB2346:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3513; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Zu+gFfO7GmjcknllNrSve15er65QZF/KcT0sX0dp3ExcDf6Ld5z3LibWrPQRpmim+tV+0E04DXd4xynZ3TvKkh4CdDtzlHHZD08HK5abcWhGntkV1w47hYMcWiJ/AecATM8V5c6EL65MFtczuU93nyzfKi09y1nVrD2oM1OlrBNnMw/Dhy4RGYGBmotcTlAJGH2EJXIOG9GnroIY5a6HBuehnvbH+E5ZlLMn98jcXTZP9sxD5He0LWe3yn6Kw0G6ZO/4tzkUiwp8Q15P+IHRMQSTYxekR3RcuLBaGLwwC3fYJ9vdfxHR8c/aKu80FuKEs4kk+QzMkaO+rzi6rI8onGwcEZGg07p8ebNDxhR4072/cjLLKF0nTtlYfChWQQ9XZcateFYhLdR7IfPGQmhUJ8wQMUuhkQUmQfU9OEklvfHrF3NXwAOqgiIfiFJpTiJoXYAL+5Y/Xrl/2bBp/gYJzo7FOajNXijCj0SuzV83osPEBkMOJ9G12ZOS76sBmXHavd+qD8Iu8Ga/dzzzwmiutextJ1zj+oIegrxRM3WbMI6S5lWLuywD0bn5Zic3e5caCe9UO3Y7Ab77OJYg2zhvyo6FNNST04IFPOQTTuyVdMSCuiwajPRbA3DzEyshUVHWpVpj5MzrVUXAT2cYS3ucKHjVvYxUeUjJxL74slH57t5KBYRvYxU8llg+7qwrHSKaKyolLOVStdvlxkQtD2Ad7LdmsSidTlYwUowSm1PnGe20G5+jo44kRBjxXrhmn093zOrxpfGIszUteBSov7KLvXQREcFZ1SYyBk9cOhIEg4pJtCFfNNMvNMdUV/ezgRM2UNtuz+f/ymPQCd/eQtnc5T/485AiVvk93ZdBT6NQhh8= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR11MB4791.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(55016003)(6636002)(186003)(38100700002)(122000001)(38070700005)(82960400001)(8936002)(26005)(33656002)(107886003)(7696005)(54906003)(316002)(508600001)(86362001)(52536014)(966005)(6506007)(83380400001)(66446008)(4326008)(66556008)(64756008)(2906002)(8676002)(76116006)(66946007)(9686003)(71200400001)(5660300002)(6862004)(66476007)(131093003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?gHXcK40IXohar0bsO1nT9Frqnt8nVYFW+agjZYHFKZfVzuiFPjFK4tOSLryc?= =?us-ascii?Q?fJsJr4bX1/OGYlsLbaUIGk41qssXVArIy+0Wl21dF43pd5XXeZU58gtzgaGi?= =?us-ascii?Q?cs5rWGgxFs9XUp6mw7UtXPeuVJIDHKf55uq0S7a58SPofdg2rXZHBmG36WJl?= =?us-ascii?Q?hY3PrdEAlVZ+uMxFvD8mR2shXYSaHKuME0pSMx8xzErDy8mt2Cjy3XfNz6oW?= =?us-ascii?Q?qmNd0bpANeyQry47vLaYBDittmLGhjsWn6nrc1l5ncqlFd0lC/z1D9xBbUaj?= =?us-ascii?Q?yK25C+IVDz653H9pDs13ldhMUBZO36M1uJVatw2gLPep9MnRLix5lTpUwtF5?= =?us-ascii?Q?qvPrKWtnS5zeX6vZQy9XFPii1wJAVW+1sIifs47vKcmDqJMoJy6Oqawen2cS?= =?us-ascii?Q?Ferdh7n+x2/us4VOjExDY0M8+PnsKAnqkpmiRccG05ZLyCO5BwJ3N9jlsfIQ?= =?us-ascii?Q?iopM7dkB+HGdVkKodc5QaZ4acprZDNwniQh2DpftrIQv5EMRZFtxrmrhhfWU?= =?us-ascii?Q?SF+dFBiQiD0DuPnY+pCYtdRYBotQrTPXQZ5m/0r1pUOurcGrCRGTK1Q1V6qq?= =?us-ascii?Q?/RSRUvhcxGcQH1CREWBy75BeidqTs5HMLWmAgHppv0mS2dQ1nSzEsGRJV3vU?= =?us-ascii?Q?atEOMT/v4H1X6lVzbq4/U1Pfn8pFebTPIFxk6mMoLCiDfcRl1G4iKWe7wd43?= =?us-ascii?Q?tWXRuzN3T5x05wgEipeBUh2CWXoJEjbyQeondgMO1ops//GGUr9VNqGsYAtg?= =?us-ascii?Q?mPFZPjONN80H4E36u8jl5vPJmQBNxlqLTcQsuTVYBGaCq7p7fwiIfdnmqwKh?= =?us-ascii?Q?csufBNsIAi1w9Zy9j5FP1Rq7BhDUmWIwYyUhoOMV7NJat+cNhN7pVktP5mjp?= =?us-ascii?Q?3y6FTmhxJ4Q4uOt8RpBP+6mEqv+UapFovHbh1gQxGd3kHiV5Pbu0DDzjqrBJ?= =?us-ascii?Q?/sGMS1g3yZfknmFwDYszDEBwNACAPPv+C1oEPMV/QLoFxuasmLefJrnD83Ur?= =?us-ascii?Q?xvCKPFEKsG312zA4gg2u/lY+T7K18OYwmE7MN/5P4eFoNG5p/lbjv0GLNIcH?= =?us-ascii?Q?Db6vr2HDjGQC7pbZlH9Kfg+lk7T/a6gJCOzdk7FUB670eZ6xSgcOT49tWXCT?= =?us-ascii?Q?SvXfZ9ypszo0hxGg+w5EkwmozFKQHC/W+8CEQudrN7A+ZFed3MIccxaSnVmt?= =?us-ascii?Q?Bw+JsSrRlY1/UghBHA1kWlJ3DcMCv/7fT+JRkR4GZP2EO6GTIaWn4NWtYtPP?= =?us-ascii?Q?tt7pp7tIRt2ex84ozR5h1YsoSYyHQjDfuRvbMjqQJNwtzYSUOh4mJIanXDvs?= =?us-ascii?Q?1bBU1oekSJ20GosQ1Om/PNQVRYpdnzkJKK8ePbSNeUIIhXWKrW+zWqTLXds7?= =?us-ascii?Q?WGigKkFuLarII1NHgHxrAH35h18VpgnGWO1DD9fRyKXwQg8kddLAqMkuV1pO?= =?us-ascii?Q?CqIANOjV5tl8guwLJWEPw3rVhQ6xZUBu4WMl9YF6ELfL/7oBXf6zUQ7W49q1?= =?us-ascii?Q?NXxcoGf+//PrSb+sj3Yl4sKhjKZlAaCMjEi1UgkjIcYvmz6/f9ycW4uyxAtK?= =?us-ascii?Q?2jD1Txj7ZbglRnz3aCQQcyS/VBMMrcPybxpW6QmjKUF8r61G/czzBNz4CTVE?= =?us-ascii?Q?Gg=3D=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB4791.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: bc1f32b3-ebdc-44ac-5cc4-08d9e170e831 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Jan 2022 08:42:09.6990 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: FVxGOU1PcynA0yGQ0oyDxkCQQ1x6RixvGADvNTQ4HsuMn3Q3+v2zbCBkghZIDRrZaw4n0cwbD+f26jvAaOwROA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR1101MB2346 X-OriginatorOrg: intel.com X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org >=20 > On Tue, Jan 25, 2022 at 07:20:43AM +0000, Ciara Loftus wrote: > > AF_XDP support is deprecated in libbpf since v0.7.0 [1]. The > > libxdp library now provides the functionality which once was in > > libbpf and which the AF_XDP PMD relies on. This commit updates the > > AF_XDP meson build to use the libxdp library if a version >=3D v1.2.2 i= s > > available. If it is not available, only versions of libbpf prior to v0.= 7.0 > > are allowed, as they still contain the required AF_XDP functionality. > > > > libbpf still remains a dependency even if libxdp is present, as we > > use libbpf APIs for program loading. > > > > The minimum required kernel version for libxdp for use with AF_XDP is > v5.3. > > For the library to be fully-featured, a kernel v5.10 or newer is > > recommended. The full compatibility information can be found in the > libxdp > > README. > > > > v1.2.2 of libxdp includes an important fix required for linking with > > DPDK which is why this version or greater is required. Meson uses > > pkg-config to verify the version of libxdp on the system, so it is > > necessary that the library is discoverable using pkg-config in order fo= r > > the PMD to use it. To verify this, you can run: > > pkg-config --modversion libxdp > > > > [1] https://github.com/libbpf/libbpf/commit/277846bc6c15 > > > > Signed-off-by: Ciara Loftus >=20 > Hi Ciara, >=20 > couple of comments inline below. >=20 > /Bruce >=20 > > --- > > v2: > > * Set minimum libxdp version at v1.2.2 > > > > RFC -> v1: > > * Set minimum libxdp version at v1.3.0 > > * Don't provide alternative to discovery via pkg-config > > * Add missing newline to end of file > > --- > > doc/guides/nics/af_xdp.rst | 6 ++-- > > doc/guides/rel_notes/release_22_03.rst | 4 +++ > > drivers/net/af_xdp/compat.h | 4 +++ > > drivers/net/af_xdp/meson.build | 39 +++++++++++++++++++++----- > > drivers/net/af_xdp/rte_eth_af_xdp.c | 1 - > > 5 files changed, 42 insertions(+), 12 deletions(-) > > > > diff --git a/doc/guides/nics/af_xdp.rst b/doc/guides/nics/af_xdp.rst > > index c9d0e1ad6c..db02ea1984 100644 > > --- a/doc/guides/nics/af_xdp.rst > > +++ b/doc/guides/nics/af_xdp.rst > > @@ -43,9 +43,7 @@ Prerequisites > > This is a Linux-specific PMD, thus the following prerequisites apply: > > > > * A Linux Kernel (version > v4.18) with XDP sockets configuration ena= bled; > > -* libbpf (within kernel version > v5.1-rc4) with latest af_xdp suppor= t > installed, > > - User can install libbpf via `make install_lib` && `make install_hea= ders` in > > - /tools/lib/bpf; > > +* Both libxdp >=3Dv1.2.2 and libbpf libraries installed, or, libbpf <= =3Dv0.6.0 > > * A Kernel bound interface to attach to; > > * For need_wakeup feature, it requires kernel version later than v5.3= -rc1; > > * For PMD zero copy, it requires kernel version later than v5.4-rc1; > > @@ -143,4 +141,4 @@ Limitations > > NAPI context from a watchdog timer instead of from softirqs. More > information > > on this feature can be found at [1]. > > > > - [1] https://lwn.net/Articles/837010/ > > \ No newline at end of file > > + [1] https://lwn.net/Articles/837010/ > > diff --git a/doc/guides/rel_notes/release_22_03.rst > b/doc/guides/rel_notes/release_22_03.rst > > index 8a202ec4f4..ad7283df65 100644 > > --- a/doc/guides/rel_notes/release_22_03.rst > > +++ b/doc/guides/rel_notes/release_22_03.rst > > @@ -55,6 +55,10 @@ New Features > > Also, make sure to start the actual text at the margin. > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D > > > > +* **Update AF_XDP PMD** > > + > > + * Added support for libxdp >=3Dv1.2.2. > > + > > > > Removed Items > > ------------- > > diff --git a/drivers/net/af_xdp/compat.h b/drivers/net/af_xdp/compat.h > > index 3880dc7dd7..245df1b109 100644 > > --- a/drivers/net/af_xdp/compat.h > > +++ b/drivers/net/af_xdp/compat.h > > @@ -2,7 +2,11 @@ > > * Copyright(c) 2020 Intel Corporation. > > */ > > > > +#ifdef RTE_LIBRTE_AF_XDP_PMD_LIBXDP >=20 > This is a really long macro name. With meson builds we have largely moved > away from using "RTE_LIBRTE_" as a prefix, and also have dropped "PMD" > from > names too. The global enable macro for AF_XDP driver is now > "RTE_NET_AF_XDP" so I'd suggest this macro could be shortened to > "RTE_NET_AF_XDP_LIBXDP". +1 >=20 > > +#include > > +#else > > #include > > +#endif > > #include > > #include > > > > diff --git a/drivers/net/af_xdp/meson.build > b/drivers/net/af_xdp/meson.build > > index 3ed2b29784..981d4c6087 100644 > > --- a/drivers/net/af_xdp/meson.build > > +++ b/drivers/net/af_xdp/meson.build > > @@ -9,19 +9,44 @@ endif > > > > sources =3D files('rte_eth_af_xdp.c') > > > > +xdp_dep =3D dependency('libxdp', version : '>=3D1.2.2', required: fals= e, > method: 'pkg-config') > > bpf_dep =3D dependency('libbpf', required: false, method: 'pkg-config'= ) > > if not bpf_dep.found() > > bpf_dep =3D cc.find_library('bpf', required: false) > > endif > > > > -if bpf_dep.found() and cc.has_header('bpf/xsk.h') and > cc.has_header('linux/if_xdp.h') > > - ext_deps +=3D bpf_dep > > - bpf_ver_dep =3D dependency('libbpf', version : '>=3D0.2.0', > > - required: false, method: 'pkg-config') > > - if bpf_ver_dep.found() > > - dpdk_conf.set('RTE_LIBRTE_AF_XDP_PMD_SHARED_UMEM', 1) > > +if cc.has_header('linux/if_xdp.h') > > + if xdp_dep.found() and cc.has_header('xdp/xsk.h') > > + if bpf_dep.found() and cc.has_header('bpf/bpf.h') > > + dpdk_conf.set('RTE_LIBRTE_AF_XDP_PMD_LIBXDP', 1) > > + dpdk_conf.set('RTE_LIBRTE_AF_XDP_PMD_SHARED_UMEM', 1) >=20 > Do these defines need to be exposed to the end user, or are they for > internal use only? If they don't need to be exposed to the user, I'd > suggest changing them to cflags, rather than writing them to the build > config. As well as reducing the info we show to the end user, not having > them in the build config means that if they change, only this driver need= s > a rebuild, rather than the whole of DPDK. [Every DPDK file includes the > build config, so a change there requires everything rebuild] These don't need to be exposed to the end user. Thanks for the suggestion, it definitely makes more sense to use cflags instead. I'll add that in the = v3. Thanks, Ciara >=20 > > + ext_deps +=3D xdp_dep > > + ext_deps +=3D bpf_dep > > + else > > + build =3D false > > + reason =3D 'missing dependency, libbpf' > > + endif >