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
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to