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 331514326F for ; Thu, 2 Nov 2023 14:14:44 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7F84D42E29; Thu, 2 Nov 2023 14:14:43 +0100 (CET) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mails.dpdk.org (Postfix) with ESMTP id EA07242E1E for ; Thu, 2 Nov 2023 14:14:41 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1698930881; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=TaDhRthnUnO8pSyqdnO9r5Wnx+EI4Hwmr7fKYMDcdWA=; b=JjwESmFYaQ2ZVwzmp5kKMsRJHxyvEVUu49j51Ev46w9grwcFvysrrQd1TPX5QvVlFx3UAX qiWvAOdUSql8pvQOTlMrftCTGA+VV8FXxT1H9wG0afOdgD2T87DDc0neHfZdhl4TAHoSUi 7NNIJwvp65VAu/LWnLfuzuXBVXS3zr4= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-114-rja5ek6zMHmWoopAa5MbLg-1; Thu, 02 Nov 2023 09:14:40 -0400 X-MC-Unique: rja5ek6zMHmWoopAa5MbLg-1 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id C248288CDC8; Thu, 2 Nov 2023 13:14:39 +0000 (UTC) Received: from rh.redhat.com (unknown [10.39.192.45]) by smtp.corp.redhat.com (Postfix) with ESMTP id 1C304474FA0; Thu, 2 Nov 2023 13:14:38 +0000 (UTC) From: Kevin Traynor To: Vladimir Medvedkin Cc: dpdk stable Subject: patch 'fib6: fix adding default route as first route' has been queued to stable release 21.11.6 Date: Thu, 2 Nov 2023 13:12:16 +0000 Message-ID: <20231102131254.315947-70-ktraynor@redhat.com> In-Reply-To: <20231102131254.315947-1-ktraynor@redhat.com> References: <20231102131254.315947-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.10 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII"; x-default=true X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Hi, FYI, your patch has been queued to stable release 21.11.6 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/08/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/kevintraynor/dpdk-stable This queued commit can be viewed at: https://github.com/kevintraynor/dpdk-stable/commit/f3baeaa7574b41b0d7628651fbce19633e411876 Thanks. Kevin --- >From f3baeaa7574b41b0d7628651fbce19633e411876 Mon Sep 17 00:00:00 2001 From: Vladimir Medvedkin Date: Mon, 2 Oct 2023 15:12:01 +0000 Subject: [PATCH] fib6: fix adding default route as first route [ upstream commit fd66617c5774a2869cbb69f86494d1b4803890fc ] Currently when adding default route as first route it is not added and no error is reported. When we enter the loop over an address range in the general case we will eventually reach the check for when the range has ended, and exit the loop. However when adding default route as first route, since address range covered begins and ends at zero this also triggers loop exit without writing to the table. Fixed by adding check for default route, i.e. both ledge and redge are equal to 0::0. Bugzilla ID: 1272 Fixes: c3e12e0f0354 ("fib: add dataplane algorithm for IPv6") Signed-off-by: Vladimir Medvedkin --- lib/fib/trie.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/lib/fib/trie.c b/lib/fib/trie.c index 044095bf03..b096743086 100644 --- a/lib/fib/trie.c +++ b/lib/fib/trie.c @@ -457,4 +457,12 @@ get_nxt_net(uint8_t *ip, uint8_t depth) } +static int +v6_addr_is_zero(const uint8_t ip[RTE_FIB6_IPV6_ADDR_SIZE]) +{ + uint8_t ip_addr[RTE_FIB6_IPV6_ADDR_SIZE] = {0}; + + return rte_rib6_is_equal(ip, ip_addr); +} + static int modify_dp(struct rte_trie_tbl *dp, struct rte_rib6 *rib, @@ -490,9 +498,17 @@ modify_dp(struct rte_trie_tbl *dp, struct rte_rib6 *rib, get_nxt_net(redge, tmp_depth); rte_rib6_copy_addr(ledge, redge); + /* + * we got to the end of address space + * and wrapped around + */ + if (v6_addr_is_zero(ledge)) + break; } else { rte_rib6_copy_addr(redge, ip); get_nxt_net(redge, depth); - if (rte_rib6_is_equal(ledge, redge)) + if (rte_rib6_is_equal(ledge, redge) && + !v6_addr_is_zero(ledge)) break; + ret = install_to_dp(dp, ledge, redge, next_hop); -- 2.41.0 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-11-02 13:09:42.516599357 +0000 +++ 0070-fib6-fix-adding-default-route-as-first-route.patch 2023-11-02 13:09:40.883163560 +0000 @@ -1 +1 @@ -From fd66617c5774a2869cbb69f86494d1b4803890fc Mon Sep 17 00:00:00 2001 +From f3baeaa7574b41b0d7628651fbce19633e411876 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit fd66617c5774a2869cbb69f86494d1b4803890fc ] + @@ -20 +21,0 @@ -Cc: stable@dpdk.org @@ -28 +29 @@ -index 3e780afdaf..09470e7287 100644 +index 044095bf03..b096743086 100644 @@ -31 +32 @@ -@@ -452,4 +452,12 @@ get_nxt_net(uint8_t *ip, uint8_t depth) +@@ -457,4 +457,12 @@ get_nxt_net(uint8_t *ip, uint8_t depth) @@ -44 +45 @@ -@@ -485,9 +493,17 @@ modify_dp(struct rte_trie_tbl *dp, struct rte_rib6 *rib, +@@ -490,9 +498,17 @@ modify_dp(struct rte_trie_tbl *dp, struct rte_rib6 *rib,