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 A1850A0C41; Fri, 16 Apr 2021 19:19:52 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6E20A161AC6; Fri, 16 Apr 2021 19:19:52 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id BA898161AB6 for ; Fri, 16 Apr 2021 19:19:49 +0200 (CEST) IronPort-SDR: 5s6F2DrTkPYDixUpppVSngo5GrUABo0y0KMHOIwLUetR9yuSiypXbF3KojaTvyj8FIjlznzTZj eYFWRM5ggCjg== X-IronPort-AV: E=McAfee;i="6200,9189,9956"; a="195184255" X-IronPort-AV: E=Sophos;i="5.82,226,1613462400"; d="scan'208";a="195184255" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Apr 2021 10:19:47 -0700 IronPort-SDR: 4SaYC8i3LaPHtrFmv+DK7oFhujGz/nl+D8p3mseuJsixeXzD6kIxJxhA2ouA4g8sa8f4g9sa9Q R+0sCM9I4NNA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,226,1613462400"; d="scan'208";a="601528409" Received: from silpixa00400466.ir.intel.com ([10.237.213.210]) by orsmga005.jf.intel.com with ESMTP; 16 Apr 2021 10:19:44 -0700 From: Conor Walsh To: jerinj@marvell.com, stephen@networkplumber.org, bernard.iremonger@intel.com, konstantin.ananyev@intel.com, vladimir.medvedkin@intel.com, anatoly.burakov@intel.com, john.mcnamara@intel.com, david.marchand@redhat.com Cc: dev@dpdk.org, Conor Walsh Date: Fri, 16 Apr 2021 17:19:36 +0000 Message-Id: <20210416171941.346166-1-conor.walsh@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210406111106.2020555-1-conor.walsh@intel.com> References: <20210406111106.2020555-1-conor.walsh@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v8 0/5] examples/l3fwd: add FIB lookup method to l3fwd 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 Sender: "dev" Currently the l3fwd sample app supports LPM and EM lookup methods this patchset implements the FIB library as another lookup method for l3fwd. Instead of adding an individual flag for FIB, a new flag '--lookup' has been added that allows the user to select their desired lookup method. The flags '-E' and '-L' have been retained for backwards compatibility. --- v8: - Updated commit log to better explain why subnets needed to be changed - Changed the suffix on _common_route varibles to just _route - Corrected spacing issue - Route array symbols now only appear in binary once - Added notice to release notes - Removed large c blocks from doc and replaced with includes v7: - Error log for invalid lookup method now runs within the parse_lookup function for better maintainability v6: - rte_exit no longer used within parse_lookup, exiting due to incorrect config is now handled the same as the other config options - Corrected a typo within print usage - Moved -E and -L to the bottom of print usage as they are now legacy flags v5: - Removed runtime checks to ensure desired port is within portmask, unused ports are still removed during setup v4: - Changed individual switches for lookup methods to an enum for all lookup methods - Removed '-F' and introduced '--lookup' flag to select lookup methods - Fixed indentation issues - Renamed some variables for increased clarity - Minor changes to some logic for readability - Implemented MAC updating for FIB on non-SSE machines - Implemented RFC1812 for FIB on non-SSE machines - Added checks to ensure desired port is within portmask v3: add support for NEON, PPC 64 and machines that do not support SSE, NEON or PPC 64. v2: added the socket header file to fix FreeBSD build. Conor Walsh (5): examples/l3fwd: fix LPM IPv6 subnets examples/l3fwd: move l3fwd routes to common header examples/l3fwd: add FIB infrastructure examples/l3fwd: implement FIB lookup method doc/guides/l3_forward: update documentation for FIB doc/guides/rel_notes/release_21_05.rst | 5 + doc/guides/sample_app_ug/l3_forward.rst | 50 ++- examples/l3fwd/Makefile | 2 +- examples/l3fwd/l3fwd.h | 27 +- examples/l3fwd/l3fwd_event.c | 9 + examples/l3fwd/l3fwd_event.h | 1 + examples/l3fwd/l3fwd_fib.c | 528 ++++++++++++++++++++++++ examples/l3fwd/l3fwd_lpm.c | 68 +-- examples/l3fwd/l3fwd_route.h | 19 + examples/l3fwd/main.c | 150 +++++-- examples/l3fwd/meson.build | 4 +- 11 files changed, 763 insertions(+), 100 deletions(-) create mode 100644 examples/l3fwd/l3fwd_fib.c create mode 100644 examples/l3fwd/l3fwd_route.h -- 2.25.1