Author: melifaro
Date: Sun Nov 29 19:43:33 2020
New Revision: 368164
URL: https://svnweb.freebsd.org/changeset/base/368164

Log:
  Remove RADIX_MPATH config option.
  
  ROUTE_MPATH is the new config option controlling new multipath routing
   implementation. Remove the last pieces of RADIX_MPATH-related code and
   the config option.
  
  Reviewed by:  glebius
  Differential Revision:        https://reviews.freebsd.org/D27244

Deleted:
  head/sys/net/radix_mpath.c
  head/sys/net/radix_mpath.h
Modified:
  head/sys/conf/options
  head/sys/net/route.c
  head/sys/net/route/route_ctl.c
  head/sys/net/route/route_ifaddrs.c
  head/sys/net/rtsock.c
  head/sys/netinet/ip_input.c
  head/sys/netinet6/nd6.c

Modified: head/sys/conf/options
==============================================================================
--- head/sys/conf/options       Sun Nov 29 19:38:03 2020        (r368163)
+++ head/sys/conf/options       Sun Nov 29 19:43:33 2020        (r368164)
@@ -452,7 +452,6 @@ MROUTING            opt_mrouting.h
 NFSLOCKD
 PCBGROUP               opt_pcbgroup.h
 PF_DEFAULT_TO_DROP     opt_pf.h
-RADIX_MPATH            opt_mpath.h
 ROUTE_MPATH            opt_route.h
 ROUTETABLES            opt_route.h
 RSS                    opt_rss.h

Modified: head/sys/net/route.c
==============================================================================
--- head/sys/net/route.c        Sun Nov 29 19:38:03 2020        (r368163)
+++ head/sys/net/route.c        Sun Nov 29 19:43:33 2020        (r368164)
@@ -65,10 +65,6 @@
 #include <net/route/nhop.h>
 #include <net/vnet.h>
 
-#ifdef RADIX_MPATH
-#include <net/radix_mpath.h>
-#endif
-
 #include <netinet/in.h>
 #include <netinet/ip_mroute.h>
 
@@ -674,87 +670,6 @@ rt_print(char *buf, int buflen, struct rtentry *rt)
        }
 
        return (i);
-}
-#endif
-
-#ifdef RADIX_MPATH
-/*
- * Deletes key for single-path routes, unlinks rtentry with
- * gateway specified in @info from multi-path routes.
- *
- * Returnes unlinked entry. In case of failure, returns NULL
- * and sets @perror to ESRCH.
- */
-struct radix_node *
-rt_mpath_unlink(struct rib_head *rnh, struct rt_addrinfo *info,
-    struct rtentry *rto, int *perror)
-{
-       /*
-        * if we got multipath routes, we require users to specify
-        * a matching RTAX_GATEWAY.
-        */
-       struct rtentry *rt; // *rto = NULL;
-       struct radix_node *rn;
-       struct sockaddr *gw;
-
-       gw = info->rti_info[RTAX_GATEWAY];
-       rt = rt_mpath_matchgate(rto, gw);
-       if (rt == NULL) {
-               *perror = ESRCH;
-               return (NULL);
-       }
-
-       /*
-        * this is the first entry in the chain
-        */
-       if (rto == rt) {
-               rn = rn_mpath_next((struct radix_node *)rt);
-               /*
-                * there is another entry, now it's active
-                */
-               if (rn) {
-                       rto = RNTORT(rn);
-                       rto->rte_flags |= RTF_UP;
-               } else if (rt->rte_flags & RTF_GATEWAY) {
-                       /*
-                        * For gateway routes, we need to 
-                        * make sure that we we are deleting
-                        * the correct gateway. 
-                        * rt_mpath_matchgate() does not 
-                        * check the case when there is only
-                        * one route in the chain.  
-                        */
-                       if (gw &&
-                           (rt->rt_nhop->gw_sa.sa_len != gw->sa_len ||
-                               memcmp(&rt->rt_nhop->gw_sa, gw, gw->sa_len))) {
-                               *perror = ESRCH;
-                               return (NULL);
-                       }
-               }
-
-               /*
-                * use the normal delete code to remove
-                * the first entry
-                */
-               rn = rnh->rnh_deladdr(info->rti_info[RTAX_DST],
-                                       info->rti_info[RTAX_NETMASK],
-                                       &rnh->head);
-               if (rn != NULL) {
-                       *perror = 0;
-               } else {
-                       *perror = ESRCH;
-               }
-               return (rn);
-       }
-               
-       /*
-        * if the entry is 2nd and on up
-        */
-       if (rt_mpath_deldup(rto, rt) == 0)
-               panic ("rtrequest1: rt_mpath_deldup");
-       *perror = 0;
-       rn = (struct radix_node *)rt;
-       return (rn);
 }
 #endif
 

Modified: head/sys/net/route/route_ctl.c
==============================================================================
--- head/sys/net/route/route_ctl.c      Sun Nov 29 19:38:03 2020        
(r368163)
+++ head/sys/net/route/route_ctl.c      Sun Nov 29 19:43:33 2020        
(r368164)
@@ -54,10 +54,6 @@ __FBSDID("$FreeBSD$");
 #include <net/route/nhop_var.h>
 #include <netinet/in.h>
 
-#ifdef RADIX_MPATH
-#include <net/radix_mpath.h>
-#endif
-
 #include <vm/uma.h>
 
 /*

Modified: head/sys/net/route/route_ifaddrs.c
==============================================================================
--- head/sys/net/route/route_ifaddrs.c  Sun Nov 29 19:38:03 2020        
(r368163)
+++ head/sys/net/route/route_ifaddrs.c  Sun Nov 29 19:43:33 2020        
(r368164)
@@ -32,7 +32,6 @@
  * $FreeBSD$
  */
 
-#include "opt_mpath.h"
 #include "opt_route.h"
 
 #include <sys/param.h>

Modified: head/sys/net/rtsock.c
==============================================================================
--- head/sys/net/rtsock.c       Sun Nov 29 19:38:03 2020        (r368163)
+++ head/sys/net/rtsock.c       Sun Nov 29 19:43:33 2020        (r368164)
@@ -64,9 +64,6 @@
 #include <net/route.h>
 #include <net/route/route_ctl.h>
 #include <net/route/route_var.h>
-#ifdef RADIX_MPATH
-#include <net/radix_mpath.h>
-#endif
 #include <net/vnet.h>
 
 #include <netinet/in.h>

Modified: head/sys/netinet/ip_input.c
==============================================================================
--- head/sys/netinet/ip_input.c Sun Nov 29 19:38:03 2020        (r368163)
+++ head/sys/netinet/ip_input.c Sun Nov 29 19:43:33 2020        (r368164)
@@ -981,11 +981,7 @@ ip_forward(struct mbuf *m, int srcrt)
        sin->sin_family = AF_INET;
        sin->sin_len = sizeof(*sin);
        sin->sin_addr = ip->ip_dst;
-#ifdef RADIX_MPATH
-       flowid = ntohl(ip->ip_src.s_addr ^ ip->ip_dst.s_addr);
-#else
        flowid = m->m_pkthdr.flowid;
-#endif
        ro.ro_nh = fib4_lookup(M_GETFIB(m), ip->ip_dst, 0, NHR_REF, flowid);
        if (ro.ro_nh != NULL) {
                ia = ifatoia(ro.ro_nh->nh_ifa);

Modified: head/sys/netinet6/nd6.c
==============================================================================
--- head/sys/netinet6/nd6.c     Sun Nov 29 19:38:03 2020        (r368163)
+++ head/sys/netinet6/nd6.c     Sun Nov 29 19:43:33 2020        (r368164)
@@ -1316,11 +1316,7 @@ restart:
                         * This is the case where multiple interfaces
                         * have the same prefix, but only one is installed 
                         * into the routing table and that prefix entry
-                        * is not the one being examined here. In the case
-                        * where RADIX_MPATH is enabled, multiple route
-                        * entries (of the same rt_key value) will be 
-                        * installed because the interface addresses all
-                        * differ.
+                        * is not the one being examined here.
                         */
                        if (!IN6_ARE_ADDR_EQUAL(&pr->ndpr_prefix.sin6_addr,
                            &rt_key.sin6_addr))
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to