Date: Thu, 27 Jul 2017 13:03:36 +0000 (UTC) From: "Bjoern A. Zeeb" <bz@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r321618 - in head: sys/conf sys/net sys/netinet sys/netinet6 usr.bin/netstat Message-ID: <201707271303.v6RD3amQ080937@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: bz Date: Thu Jul 27 13:03:36 2017 New Revision: 321618 URL: https://svnweb.freebsd.org/changeset/base/321618 Log: After inpcb route caching was put back in place there is no need for flowtable anymore (as flowtable was never considered to be useful in the forwarding path). Reviewed by: np Differential Revision: https://reviews.freebsd.org/D11448 Deleted: head/sys/net/flowtable.c head/sys/net/flowtable.h head/usr.bin/netstat/flowtable.c Modified: head/sys/conf/NOTES head/sys/conf/options head/sys/net/route.c head/sys/netinet/ip_output.c head/sys/netinet6/ip6_output.c head/usr.bin/netstat/Makefile head/usr.bin/netstat/main.c head/usr.bin/netstat/netstat.h Modified: head/sys/conf/NOTES ============================================================================== --- head/sys/conf/NOTES Thu Jul 27 12:37:18 2017 (r321617) +++ head/sys/conf/NOTES Thu Jul 27 13:03:36 2017 (r321618) @@ -646,9 +646,6 @@ options LIBMCHAIN # libalias library, performing NAT options LIBALIAS -# flowtable cache -options FLOWTABLE - # # SCTP is a NEW transport protocol defined by # RFC2960 updated by RFC3309 and RFC3758.. and Modified: head/sys/conf/options ============================================================================== --- head/sys/conf/options Thu Jul 27 12:37:18 2017 (r321617) +++ head/sys/conf/options Thu Jul 27 13:03:36 2017 (r321618) @@ -454,8 +454,6 @@ TCP_RFC7413_MAX_KEYS opt_inet.h TCP_SIGNATURE opt_ipsec.h VLAN_ARRAY opt_vlan.h XBONEHACK -FLOWTABLE opt_route.h -FLOWTABLE_HASH_ALL opt_route.h # # SCTP Modified: head/sys/net/route.c ============================================================================== --- head/sys/net/route.c Thu Jul 27 12:37:18 2017 (r321617) +++ head/sys/net/route.c Thu Jul 27 13:03:36 2017 (r321618) @@ -59,7 +59,6 @@ #include <net/route.h> #include <net/route_var.h> #include <net/vnet.h> -#include <net/flowtable.h> #ifdef RADIX_MPATH #include <net/radix_mpath.h> @@ -1504,79 +1503,12 @@ rt_mpath_unlink(struct rib_head *rnh, struct rt_addrin } #endif -#ifdef FLOWTABLE -static struct rtentry * -rt_flowtable_check_route(struct rib_head *rnh, struct rt_addrinfo *info) -{ -#if defined(INET6) || defined(INET) - struct radix_node *rn; -#endif - struct rtentry *rt0; - - rt0 = NULL; - /* "flow-table" only supports IPv6 and IPv4 at the moment. */ - switch (dst->sa_family) { -#ifdef INET6 - case AF_INET6: -#endif -#ifdef INET - case AF_INET: -#endif -#if defined(INET6) || defined(INET) - rn = rnh->rnh_matchaddr(dst, &rnh->head); - if (rn && ((rn->rn_flags & RNF_ROOT) == 0)) { - struct sockaddr *mask; - u_char *m, *n; - int len; - - /* - * compare mask to see if the new route is - * more specific than the existing one - */ - rt0 = RNTORT(rn); - RT_LOCK(rt0); - RT_ADDREF(rt0); - RT_UNLOCK(rt0); - /* - * A host route is already present, so - * leave the flow-table entries as is. - */ - if (rt0->rt_flags & RTF_HOST) { - RTFREE(rt0); - rt0 = NULL; - } else if (!(flags & RTF_HOST) && netmask) { - mask = rt_mask(rt0); - len = mask->sa_len; - m = (u_char *)mask; - n = (u_char *)netmask; - while (len-- > 0) { - if (*n != *m) - break; - n++; - m++; - } - if (len == 0 || (*n < *m)) { - RTFREE(rt0); - rt0 = NULL; - } - } - } -#endif/* INET6 || INET */ - } - - return (rt0); -} -#endif - int rtrequest1_fib(int req, struct rt_addrinfo *info, struct rtentry **ret_nrt, u_int fibnum) { int error = 0; struct rtentry *rt, *rt_old; -#ifdef FLOWTABLE - struct rtentry *rt0; -#endif struct radix_node *rn; struct rib_head *rnh; struct ifaddr *ifa; @@ -1710,10 +1642,6 @@ rtrequest1_fib(int req, struct rt_addrinfo *info, stru } #endif -#ifdef FLOWTABLE - rt0 = rt_flowtable_check_route(rnh, info); -#endif /* FLOWTABLE */ - /* XXX mtu manipulation will be done in rnh_addaddr -- itojun */ rn = rnh->rnh_addaddr(ndst, netmask, &rnh->head, rt->rt_nodes); @@ -1748,18 +1676,8 @@ rtrequest1_fib(int req, struct rt_addrinfo *info, stru ifa_free(rt->rt_ifa); R_Free(rt_key(rt)); uma_zfree(V_rtzone, rt); -#ifdef FLOWTABLE - if (rt0 != NULL) - RTFREE(rt0); -#endif return (EEXIST); } -#ifdef FLOWTABLE - else if (rt0 != NULL) { - flowtable_route_flush(dst->sa_family, rt0); - RTFREE(rt0); - } -#endif if (rt_old != NULL) { rt_notifydelete(rt_old, info); Modified: head/sys/netinet/ip_output.c ============================================================================== --- head/sys/netinet/ip_output.c Thu Jul 27 12:37:18 2017 (r321617) +++ head/sys/netinet/ip_output.c Thu Jul 27 13:03:36 2017 (r321618) @@ -63,7 +63,6 @@ __FBSDID("$FreeBSD$"); #include <net/netisr.h> #include <net/pfil.h> #include <net/route.h> -#include <net/flowtable.h> #ifdef RADIX_MPATH #include <net/radix_mpath.h> #endif @@ -243,11 +242,6 @@ ip_output(struct mbuf *m, struct mbuf *opt, struct rou ro = &iproute; bzero(ro, sizeof (*ro)); } - -#ifdef FLOWTABLE - if (ro->ro_rt == NULL) - (void )flowtable_lookup(AF_INET, m, ro); -#endif if (opt) { int len = 0; Modified: head/sys/netinet6/ip6_output.c ============================================================================== --- head/sys/netinet6/ip6_output.c Thu Jul 27 12:37:18 2017 (r321617) +++ head/sys/netinet6/ip6_output.c Thu Jul 27 13:03:36 2017 (r321618) @@ -117,10 +117,6 @@ __FBSDID("$FreeBSD$"); #include <netinet6/ip6protosw.h> #include <netinet6/scope6_var.h> -#ifdef FLOWTABLE -#include <net/flowtable.h> -#endif - extern int in6_mcast_loop; struct ip6_exthdrs { @@ -502,10 +498,6 @@ ip6_output(struct mbuf *m0, struct ip6_pktopts *opt, if (opt && opt->ip6po_rthdr) ro = &opt->ip6po_route; dst = (struct sockaddr_in6 *)&ro->ro_dst; -#ifdef FLOWTABLE - if (ro->ro_rt == NULL) - (void )flowtable_lookup(AF_INET6, m, (struct route *)ro); -#endif fibnum = (inp != NULL) ? inp->inp_inc.inc_fibnum : M_GETFIB(m); again: /* Modified: head/usr.bin/netstat/Makefile ============================================================================== --- head/usr.bin/netstat/Makefile Thu Jul 27 12:37:18 2017 (r321617) +++ head/usr.bin/netstat/Makefile Thu Jul 27 13:03:36 2017 (r321618) @@ -6,7 +6,7 @@ PROG= netstat SRCS= if.c inet.c main.c mbuf.c mroute.c netisr.c nl_symbols.c route.c \ unix.c mroute6.c ipsec.c bpf.c pfkey.c sctp.c \ - flowtable.c nl_defs.h + nl_defs.h nl_symbols.c: nlist_symbols awk '\ Modified: head/usr.bin/netstat/main.c ============================================================================== --- head/usr.bin/netstat/main.c Thu Jul 27 12:37:18 2017 (r321617) +++ head/usr.bin/netstat/main.c Thu Jul 27 13:03:36 2017 (r321618) @@ -480,7 +480,6 @@ main(int argc, char *argv[]) xo_open_container("statistics"); if (sflag) { rt_stats(); - flowtable_stats(); } else routepr(fib, af); xo_close_container("statistics"); Modified: head/usr.bin/netstat/netstat.h ============================================================================== --- head/usr.bin/netstat/netstat.h Thu Jul 27 12:37:18 2017 (r321617) +++ head/usr.bin/netstat/netstat.h Thu Jul 27 13:03:36 2017 (r321618) @@ -140,7 +140,6 @@ void intpr(void (*)(char *), int); void pr_family(int); void rt_stats(void); -void flowtable_stats(void); char *routename(struct sockaddr *, int); const char *netname(struct sockaddr *, struct sockaddr *);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201707271303.v6RD3amQ080937>