Date: Wed, 11 Aug 2010 14:36:23 -0400 From: John Baldwin <jhb@FreeBSD.org> To: Will Andrews <will@FreeBSD.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r211157 - in head/sys: modules modules/if_carp net netinet netinet6 Message-ID: <4C62EDA7.5070001@FreeBSD.org> In-Reply-To: <201008110051.o7B0pp10084996@svn.freebsd.org> References: <201008110051.o7B0pp10084996@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Will Andrews wrote: > Author: will > Date: Wed Aug 11 00:51:50 2010 > New Revision: 211157 > URL: http://svn.freebsd.org/changeset/base/211157 > > Log: > Allow carp(4) to be loaded as a kernel module. Follow precedent set by > bridge(4), lagg(4) etc. and make use of function pointers and > pf_proto_register() to hook carp into the network stack. > > Currently, because of the uncertainty about whether the unload path is free > of race condition panics, unloads are disallowed by default. Compiling with > CARPMOD_CAN_UNLOAD in CFLAGS removes this anti foot shooting measure. > > This commit requires IP6PROTOSPACER, introduced in r211115. This doesn't compile due to duplicate function pointer definitions (e.g. if_bridge.c and if_ether.c). You should move all the function pointer definitions to net/if.c and add declarations for them to a header instead of a bunch of 'extern' declarations in if_carp.c itself. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4C62EDA7.5070001>