From owner-svn-src-all@FreeBSD.ORG Tue Mar 13 12:51:36 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 33413106566B; Tue, 13 Mar 2012 12:51:36 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mx1.sbone.de (mx1.sbone.de [IPv6:2a01:4f8:130:3ffc::401:25]) by mx1.freebsd.org (Postfix) with ESMTP id AB7338FC0A; Tue, 13 Mar 2012 12:51:35 +0000 (UTC) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:31::2013:587]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.sbone.de (Postfix) with ESMTPS id 7397125D3893; Tue, 13 Mar 2012 12:51:34 +0000 (UTC) Received: from content-filter.sbone.de (content-filter.sbone.de [IPv6:fde9:577b:c1a9:31::2013:2742]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id 8ACB7BDD4E6; Tue, 13 Mar 2012 12:51:33 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:31::2013:587]) by content-filter.sbone.de (content-filter.sbone.de [fde9:577b:c1a9:31::2013:2742]) (amavisd-new, port 10024) with ESMTP id wN6Aj71g2Xlq; Tue, 13 Mar 2012 12:51:31 +0000 (UTC) Received: from orange-en1.sbone.de (orange-en1.sbone.de [IPv6:fde9:577b:c1a9:31:cabc:c8ff:fecf:e8e3]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id 619D7BDD4E5; Tue, 13 Mar 2012 12:51:31 +0000 (UTC) Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii From: "Bjoern A. Zeeb" In-Reply-To: <201203131108.q2DB8e5d040995@svn.freebsd.org> Date: Tue, 13 Mar 2012 12:51:30 +0000 Content-Transfer-Encoding: quoted-printable Message-Id: <1FC92093-FAEA-4C84-8A27-7726C4930CD6@FreeBSD.org> References: <201203131108.q2DB8e5d040995@svn.freebsd.org> To: Alexander V. Chernikov X-Mailer: Apple Mail (2.1084) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r232921 - in head/sys: modules/netgraph/netflow netgraph/netflow X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Mar 2012 12:51:36 -0000 On 13. Mar 2012, at 11:08 , Alexander V. Chernikov wrote: > Author: melifaro > Date: Tue Mar 13 11:08:40 2012 > New Revision: 232921 > URL: http://svn.freebsd.org/changeset/base/232921 >=20 > Log: > Use rt_numfibs variable instead of compile-time RT_NUMFIBS. Thanks a lot for doing this! This will allow us to go ahead and get rid of the mandatory kernel = option now. I'll try to find my patch from last year and post it for = your review. Are you intending to MFC this? Requested by: bz (a while ago with low prio) > Reviewed by: glebius (previous version) > Approved by: kib(mentor), ae(mentor) >=20 > Modified: > head/sys/modules/netgraph/netflow/Makefile > head/sys/netgraph/netflow/netflow.c > head/sys/netgraph/netflow/ng_netflow.c > head/sys/netgraph/netflow/ng_netflow.h >=20 > Modified: head/sys/modules/netgraph/netflow/Makefile > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D > --- head/sys/modules/netgraph/netflow/Makefile Tue Mar 13 = 10:54:14 2012 (r232920) > +++ head/sys/modules/netgraph/netflow/Makefile Tue Mar 13 = 11:08:40 2012 (r232921) > @@ -17,8 +17,6 @@ opt_inet6.h: > echo "#define INET6 1" > ${.TARGET} > .endif >=20 > -opt_route.h: > - echo "#define ROUTETABLES RT_MAXFIBS" > ${.TARGET} > .endif >=20 > .include >=20 > Modified: head/sys/netgraph/netflow/netflow.c > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D > --- head/sys/netgraph/netflow/netflow.c Tue Mar 13 10:54:14 2012 = (r232920) > +++ head/sys/netgraph/netflow/netflow.c Tue Mar 13 11:08:40 2012 = (r232921) > @@ -630,7 +630,7 @@ ng_netflow_cache_flush(priv_p priv) > free(priv->hash6, M_NETFLOW_HASH); > #endif >=20 > - for (i =3D 0; i < RT_NUMFIBS; i++) { > + for (i =3D 0; i < priv->maxfibs; i++) { > if ((fe =3D priv_to_fib(priv, i)) =3D=3D NULL) > continue; >=20 >=20 > Modified: head/sys/netgraph/netflow/ng_netflow.c > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D > --- head/sys/netgraph/netflow/ng_netflow.c Tue Mar 13 10:54:14 2012 = (r232920) > +++ head/sys/netgraph/netflow/ng_netflow.c Tue Mar 13 11:08:40 2012 = (r232921) > @@ -225,6 +225,11 @@ ng_netflow_constructor(node_p node) > /* Initialize private data */ > priv =3D malloc(sizeof(*priv), M_NETGRAPH, M_WAITOK | M_ZERO); >=20 > + /* Initialize fib data */ > + priv->maxfibs =3D rt_numfibs; > + priv->fib_data =3D 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 =3D node; > @@ -901,8 +906,10 @@ loopend: > =09 > /* Check packet FIB */ > fib =3D M_GETFIB(m); > - if (fib >=3D 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 >=3D 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; > } >=20 > @@ -973,6 +980,7 @@ ng_netflow_rmnode(node_p node) > NG_NODE_SET_PRIVATE(node, NULL); > NG_NODE_UNREF(priv->node); >=20 > + free(priv->fib_data, M_NETGRAPH); > free(priv, M_NETGRAPH); >=20 > return (0); >=20 > Modified: head/sys/netgraph/netflow/ng_netflow.h > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D > --- head/sys/netgraph/netflow/ng_netflow.h Tue Mar 13 10:54:14 2012 = (r232920) > +++ head/sys/netgraph/netflow/ng_netflow.h Tue Mar 13 11:08:40 2012 = (r232921) > @@ -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 */ >=20 > /* > * RFC 3954 clause 7.3 --=20 Bjoern A. Zeeb You have to have visions! It does not matter how good you are. It matters what good you do!