Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Mar 2021 22:27:49 GMT
From:      "Alexander V. Chernikov" <melifaro@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: 8a25d3f6ce34 - stable/13 - Fix dpdk/ldradix fib lookup algorithm preference calculation.
Message-ID:  <202103102227.12AMRn7Z032523@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch stable/13 has been updated by melifaro:

URL: https://cgit.FreeBSD.org/src/commit/?id=8a25d3f6ce34b80fef5fd6a324da724c56ad94ed

commit 8a25d3f6ce34b80fef5fd6a324da724c56ad94ed
Author:     Alexander V. Chernikov <melifaro@FreeBSD.org>
AuthorDate: 2021-03-07 22:05:34 +0000
Commit:     Alexander V. Chernikov <melifaro@FreeBSD.org>
CommitDate: 2021-03-10 21:50:19 +0000

    Fix dpdk/ldradix fib lookup algorithm preference calculation.
    
    The current preference number were copied from IPv4 code,
     assuming 500k routes to be the full-view. Adjust with the current
     reality (100k full-view).
    
    Reported by:    Marek Zarychta <zarychtam at plan-b.pwste.edu.pl>
    
    (cherry picked from commit d5be41beb7c44119730791d92782d8e77174d312)
---
 sys/contrib/dpdk_rte_lpm/dpdk_lpm6.c | 4 ++--
 sys/netinet6/in6_fib_algo.c          | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/sys/contrib/dpdk_rte_lpm/dpdk_lpm6.c b/sys/contrib/dpdk_rte_lpm/dpdk_lpm6.c
index 250e3e1bde4a..17d35c16346d 100644
--- a/sys/contrib/dpdk_rte_lpm/dpdk_lpm6.c
+++ b/sys/contrib/dpdk_rte_lpm/dpdk_lpm6.c
@@ -129,8 +129,8 @@ rte6_get_pref(const struct rib_rtable_info *rinfo)
 		return (1);
 	else if (rinfo->num_prefixes < 1000)
 		return (rinfo->num_prefixes / 10);
-	else if (rinfo->num_prefixes < 500000)
-		return (100 + rinfo->num_prefixes / 3334);
+	else if (rinfo->num_prefixes < 100000)
+		return (100 + rinfo->num_prefixes / 667);
 	else
 		return (250);
 }
diff --git a/sys/netinet6/in6_fib_algo.c b/sys/netinet6/in6_fib_algo.c
index c9df9387af37..04d194273168 100644
--- a/sys/netinet6/in6_fib_algo.c
+++ b/sys/netinet6/in6_fib_algo.c
@@ -118,8 +118,8 @@ lradix6_get_pref(const struct rib_rtable_info *rinfo)
 
 	if (rinfo->num_prefixes < 10)
 		return (255);
-	else if (rinfo->num_prefixes < 100000)
-		return (255 - rinfo->num_prefixes / 394);
+	else if (rinfo->num_prefixes < 10000)
+		return (255 - rinfo->num_prefixes / 40);
 	else
 		return (1);
 }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202103102227.12AMRn7Z032523>