svn commit: r368648 - in head/sys: amd64/conf arm64/conf i386/conf powerpc/conf riscv/conf
Alexander V. Chernikov
melifaro at FreeBSD.org
Mon Dec 14 22:23:10 UTC 2020
Author: melifaro
Date: Mon Dec 14 22:23:08 2020
New Revision: 368648
URL: https://svnweb.freebsd.org/changeset/base/368648
Log:
Enable ROUTE_MPATH support in GENERIC kernels.
Ability to load-balance traffic over multiple path is a must-have thing for routers.
It may be used by the servers to balance outgoing traffic over multiple default gateways.
The previous implementation, RADIX_MPATH stayed in the shadow for too long.
It was not well maintained, which lead us to a vicious circle - people were using
non-contiguous mask or firewalls to achieve similar goals. As a result, some routing
daemons implementation still don't have multipath support enabled for FreeBSD.
Turning on ROUTE_MPATH by default would fix it. It will allow to reduce networking
feature gap to other operating systems. Linux and OpenBSD enabled similar support
at least 5 years ago.
ROUTE_MPATH does not consume memory unless actually used. It enables around ~1k LOC.
It does not bring any behaviour changes for userland.
Additionally, feature is (temporarily) turned off by the net.route.multipath sysctl
defaulting to 0.
Differential Revision: https://reviews.freebsd.org/D27428
Modified:
head/sys/amd64/conf/GENERIC
head/sys/arm64/conf/GENERIC
head/sys/i386/conf/GENERIC
head/sys/powerpc/conf/GENERIC64
head/sys/riscv/conf/GENERIC
Modified: head/sys/amd64/conf/GENERIC
==============================================================================
--- head/sys/amd64/conf/GENERIC Mon Dec 14 22:13:58 2020 (r368647)
+++ head/sys/amd64/conf/GENERIC Mon Dec 14 22:23:08 2020 (r368648)
@@ -31,6 +31,7 @@ options VIMAGE # Subsystem virtualization, e.g. VNE
options INET # InterNETworking
options INET6 # IPv6 communications protocols
options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5
+options ROUTE_MPATH # Multipath routing support
options TCP_OFFLOAD # TCP offload
options TCP_BLACKBOX # Enhanced TCP event logging
options TCP_HHOOK # hhook(9) framework for TCP
Modified: head/sys/arm64/conf/GENERIC
==============================================================================
--- head/sys/arm64/conf/GENERIC Mon Dec 14 22:13:58 2020 (r368647)
+++ head/sys/arm64/conf/GENERIC Mon Dec 14 22:23:08 2020 (r368648)
@@ -30,6 +30,7 @@ options PREEMPTION # Enable kernel thread preemption
options VIMAGE # Subsystem virtualization, e.g. VNET
options INET # InterNETworking
options INET6 # IPv6 communications protocols
+options ROUTE_MPATH # Multipath routing support
options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5
options TCP_HHOOK # hhook(9) framework for TCP
options TCP_OFFLOAD # TCP offload
Modified: head/sys/i386/conf/GENERIC
==============================================================================
--- head/sys/i386/conf/GENERIC Mon Dec 14 22:13:58 2020 (r368647)
+++ head/sys/i386/conf/GENERIC Mon Dec 14 22:23:08 2020 (r368648)
@@ -32,6 +32,7 @@ options VIMAGE # Subsystem virtualization, e.g. VNE
options INET # InterNETworking
options INET6 # IPv6 communications protocols
options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5
+options ROUTE_MPATH # Multipath routing support
options TCP_HHOOK # hhook(9) framework for TCP
options TCP_OFFLOAD # TCP offload
options SCTP_SUPPORT # Allow kldload of SCTP
Modified: head/sys/powerpc/conf/GENERIC64
==============================================================================
--- head/sys/powerpc/conf/GENERIC64 Mon Dec 14 22:13:58 2020 (r368647)
+++ head/sys/powerpc/conf/GENERIC64 Mon Dec 14 22:23:08 2020 (r368648)
@@ -42,6 +42,7 @@ options VIMAGE # Subsystem virtualization, e.g. VNE
options INET #InterNETworking
options INET6 #IPv6 communications protocols
options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5
+options ROUTE_MPATH # Multipath routing support
options TCP_OFFLOAD # TCP offload
options TCP_BLACKBOX # Enhanced TCP event logging
options TCP_HHOOK # hhook(9) framework for TCP
Modified: head/sys/riscv/conf/GENERIC
==============================================================================
--- head/sys/riscv/conf/GENERIC Mon Dec 14 22:13:58 2020 (r368647)
+++ head/sys/riscv/conf/GENERIC Mon Dec 14 22:23:08 2020 (r368648)
@@ -31,6 +31,7 @@ options INET # InterNETworking
options INET6 # IPv6 communications protocols
options TCP_HHOOK # hhook(9) framework for TCP
options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5
+options ROUTE_MPATH # Multipath routing support
options TCP_OFFLOAD # TCP offload
options SCTP_SUPPORT # Allow kldload of SCTP
options FFS # Berkeley Fast Filesystem
More information about the svn-src-head
mailing list