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-all mailing list