git: 32b28e3ae28f - main - route.8: mention DXR in FIB_ALGO section
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 15 Jun 2023 05:23:34 UTC
The branch main has been updated by zec:
URL: https://cgit.FreeBSD.org/src/commit/?id=32b28e3ae28f4d48520ada6ca703b508da8761a7
commit 32b28e3ae28f4d48520ada6ca703b508da8761a7
Author: Marko Zec <zec@FreeBSD.org>
AuthorDate: 2023-06-15 05:21:51 +0000
Commit: Marko Zec <zec@FreeBSD.org>
CommitDate: 2023-06-15 05:21:51 +0000
route.8: mention DXR in FIB_ALGO section
While here, add a sentence describing DPDK DIR24-8 principle of
operation.
MFC after: 2 weeks.
---
sbin/route/route.8 | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/sbin/route/route.8 b/sbin/route/route.8
index 72c22bee23ed..8103625decd4 100644
--- a/sbin/route/route.8
+++ b/sbin/route/route.8
@@ -28,7 +28,7 @@
.\" @(#)route.8 8.3 (Berkeley) 3/19/94
.\" $FreeBSD$
.\"
-.Dd June 13, 2023
+.Dd June 16, 2023
.Dt ROUTE 8
.Os
.Sh NAME
@@ -442,7 +442,9 @@ Lockless immutable radix, re-created on every rtable change,
tailored for a small FIB with <1000 routes.
.It dpdk_lpm
DPDK DIR24-8-based lookups, lockless datastructure, optimized
-for a large FIB.
+for large FIBs.
+DIR24-8 relies on a large flat lookup table (64 MB with IPv4) which is
+directly indexed by the more significant portion of the lookup key.
In order to use the dpdk_lpm algorithm one or both of the
following kernel modules must be loaded via
.Xr loader.conf 5 :
@@ -452,6 +454,16 @@ DPDK implementation for IPv4.
.It dpdk_lpm6.ko
DPDK implementation for IPv6.
.El
+.It dxr
+IPv4 only, lockless, compressed lookup structure
+(below 2.5 Bytes per IPv4 prefix for large BGP FIBs)
+which easily fits into modern CPU cache hierarchies,
+lookup throughput scales linearly with CPU cores.
+Loadable as a kernel module at runtime or via
+.Xr loader.conf 5 :
+.Bl -tag -width fib_dxr.ko -compact
+.It fib_dxr.ko
+.El
.El
.Pp
The algorithms are selected automatically based on the size of the routing