aboutsummaryrefslogtreecommitdiff
path: root/sys/netinet/in_mcast.c
diff options
context:
space:
mode:
authorMarko Zec <zec@FreeBSD.org>2008-11-19 09:39:34 +0000
committerMarko Zec <zec@FreeBSD.org>2008-11-19 09:39:34 +0000
commit44e33a075818146eb289c39c3ca2817f54517c9f (patch)
tree3d398563f1e14b804a0558dd3dda1de9a42b9970 /sys/netinet/in_mcast.c
parent6f0e1ffd076c821819632e0371db2f38434ad02c (diff)
downloadsrc-44e33a075818146eb289c39c3ca2817f54517c9f.tar.gz
src-44e33a075818146eb289c39c3ca2817f54517c9f.zip
Change the initialization methodology for global variables scheduled
for virtualization. Instead of initializing the affected global variables at instatiation, assign initial values to them in initializer functions. As a rule, initialization at instatiation for such variables should never be introduced again from now on. Furthermore, enclose all instantiations of such global variables in #ifdef VIMAGE_GLOBALS blocks. Essentialy, this change should have zero functional impact. In the next phase of merging network stack virtualization infrastructure from p4/vimage branch, the new initialization methology will allow us to switch between using global variables and their counterparts residing in virtualization containers with minimum code churn, and in the long run allow us to intialize multiple instances of such container structures. Discussed at: devsummit Strassburg Reviewed by: bz, julian Approved by: julian (mentor) Obtained from: //depot/projects/vimage-commit2/... X-MFC after: never Sponsored by: NLnet Foundation, The FreeBSD Foundation
Notes
Notes: svn path=/head/; revision=185088
Diffstat (limited to 'sys/netinet/in_mcast.c')
-rw-r--r--sys/netinet/in_mcast.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/netinet/in_mcast.c b/sys/netinet/in_mcast.c
index 65e6be8a0860..6cf6d927b9cc 100644
--- a/sys/netinet/in_mcast.c
+++ b/sys/netinet/in_mcast.c
@@ -86,7 +86,9 @@ static MALLOC_DEFINE(M_IPMSOURCE, "in_msource", "IPv4 multicast source filter");
* ip_output() to send IGMP packets while holding the lock; this probably is
* not quite desirable.
*/
+#ifdef VIMAGE_GLOBALS
struct in_multihead in_multihead; /* XXX BSS initialization */
+#endif
struct mtx in_multi_mtx;
MTX_SYSINIT(in_multi_mtx, &in_multi_mtx, "in_multi_mtx", MTX_DEF | MTX_RECURSE);