git: fb31ad53c471 - stable/13 - route.8: mention DXR in FIB_ALGO section
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 27 May 2023 08:33:06 UTC
The branch stable/13 has been updated by zec: URL: https://cgit.FreeBSD.org/src/commit/?id=fb31ad53c471e01ba473b2fb038c0cff6253654b commit fb31ad53c471e01ba473b2fb038c0cff6253654b Author: Marko Zec <zec@FreeBSD.org> AuthorDate: 2023-05-27 08:31:42 +0000 Commit: Marko Zec <zec@FreeBSD.org> CommitDate: 2023-05-27 08:31:42 +0000 route.8: mention DXR in FIB_ALGO section While here, add a sentence describing DPDK DIR24-8 principle of operation. MFC after: 7 days --- 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 afcf55ab44c7..25aaf8087343 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 March 14, 2023 +.Dd May 27, 2023 .Dt ROUTE 8 .Os .Sh NAME @@ -439,7 +439,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 : @@ -449,6 +451,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