Date: Sat, 21 Apr 2012 19:22:53 +0000 (UTC) From: "Alexander V. Chernikov" <melifaro@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r234557 - in stable/9/sys: modules/netgraph/netflow netgraph/netflow Message-ID: <201204211922.q3LJMrDb001687@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: melifaro Date: Sat Apr 21 19:22:53 2012 New Revision: 234557 URL: http://svn.freebsd.org/changeset/base/234557 Log: MFC r232921: Use rt_numfibs variable instead of compile-time RT_NUMFIBS. Approved by: kib(mentor) Modified: stable/9/sys/modules/netgraph/netflow/Makefile stable/9/sys/netgraph/netflow/netflow.c stable/9/sys/netgraph/netflow/ng_netflow.c stable/9/sys/netgraph/netflow/ng_netflow.h Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/modules/netgraph/netflow/Makefile ============================================================================== --- stable/9/sys/modules/netgraph/netflow/Makefile Sat Apr 21 18:36:53 2012 (r234556) +++ stable/9/sys/modules/netgraph/netflow/Makefile Sat Apr 21 19:22:53 2012 (r234557) @@ -17,8 +17,6 @@ opt_inet6.h: echo "#define INET6 1" > ${.TARGET} .endif -opt_route.h: - echo "#define ROUTETABLES RT_MAXFIBS" > ${.TARGET} .endif .include <bsd.kmod.mk> Modified: stable/9/sys/netgraph/netflow/netflow.c ============================================================================== --- stable/9/sys/netgraph/netflow/netflow.c Sat Apr 21 18:36:53 2012 (r234556) +++ stable/9/sys/netgraph/netflow/netflow.c Sat Apr 21 19:22:53 2012 (r234557) @@ -630,7 +630,7 @@ ng_netflow_cache_flush(priv_p priv) free(priv->hash6, M_NETFLOW_HASH); #endif - for (i = 0; i < RT_NUMFIBS; i++) { + for (i = 0; i < priv->maxfibs; i++) { if ((fe = priv_to_fib(priv, i)) == NULL) continue; Modified: stable/9/sys/netgraph/netflow/ng_netflow.c ============================================================================== --- stable/9/sys/netgraph/netflow/ng_netflow.c Sat Apr 21 18:36:53 2012 (r234556) +++ stable/9/sys/netgraph/netflow/ng_netflow.c Sat Apr 21 19:22:53 2012 (r234557) @@ -225,6 +225,11 @@ ng_netflow_constructor(node_p node) /* Initialize private data */ priv = malloc(sizeof(*priv), M_NETGRAPH, M_WAITOK | M_ZERO); + /* Initialize fib data */ + priv->maxfibs = rt_numfibs; + priv->fib_data = malloc(sizeof(fib_export_p) * priv->maxfibs, + M_NETGRAPH, M_WAITOK | M_ZERO); + /* Make node and its data point at each other */ NG_NODE_SET_PRIVATE(node, priv); priv->node = node; @@ -901,8 +906,10 @@ loopend: /* Check packet FIB */ fib = M_GETFIB(m); - if (fib >= RT_NUMFIBS) { - CTR2(KTR_NET, "ng_netflow_rcvdata(): packet fib %d is out of range of available fibs: 0 .. %d", fib, RT_NUMFIBS); + if (fib >= priv->maxfibs) { + CTR2(KTR_NET, "ng_netflow_rcvdata(): packet fib %d is out of " + "range of available fibs: 0 .. %d", + fib, priv->maxfibs); goto bypass; } @@ -973,6 +980,7 @@ ng_netflow_rmnode(node_p node) NG_NODE_SET_PRIVATE(node, NULL); NG_NODE_UNREF(priv->node); + free(priv->fib_data, M_NETGRAPH); free(priv, M_NETGRAPH); return (0); Modified: stable/9/sys/netgraph/netflow/ng_netflow.h ============================================================================== --- stable/9/sys/netgraph/netflow/ng_netflow.h Sat Apr 21 18:36:53 2012 (r234556) +++ stable/9/sys/netgraph/netflow/ng_netflow.h Sat Apr 21 19:22:53 2012 (r234557) @@ -413,7 +413,8 @@ struct netflow { struct flow_hash_entry *hash6; #endif /* Multiple FIB support */ - fib_export_p fib_data[RT_NUMFIBS]; /* array of pointers to fib-specific data */ + fib_export_p *fib_data; /* array of pointers to per-fib data */ + uint16_t maxfibs; /* number of allocated fibs */ /* * RFC 3954 clause 7.3
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201204211922.q3LJMrDb001687>