diff options
author | bz <bz@FreeBSD.org> | 2011-04-17 16:35:16 +0000 |
---|---|---|
committer | bz <bz@FreeBSD.org> | 2011-04-17 16:35:16 +0000 |
commit | 0082d50ef6e83de5022497c14421f2dcefb71537 (patch) | |
tree | 0a36c8f3da83ba53cfb29f958f8c857f45a00fb5 | |
parent | 92630a5a271c45d151f4a01f2653027de2dffe1c (diff) | |
download | FreeBSD-src-0082d50ef6e83de5022497c14421f2dcefb71537.zip FreeBSD-src-0082d50ef6e83de5022497c14421f2dcefb71537.tar.gz |
Make in_proto.c dependent on either inet or inet6.
While it does not provide any functionality for IPv6, it provides
the sysctl nodes for net.inet.* that a lot of functionality shared
between IPv4 and IPv6 depends on. We cannot change these anymore
without breaking a lot of management and tuning.
In case of IPv6 only, we compile out everything but the sysctl node
declarations.
Reviewed by: gnn
Sponsored by: The FreeBSD Foundation
Sponsored by: iXsystems
MFC After: 5 days
-rw-r--r-- | sys/conf/files | 2 | ||||
-rw-r--r-- | sys/netinet/in_proto.c | 9 |
2 files changed, 10 insertions, 1 deletions
diff --git a/sys/conf/files b/sys/conf/files index b772c78..ee9d597 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -2653,7 +2653,7 @@ netinet/ip_gre.c optional gre inet netinet/ip_id.c optional inet netinet/in_mcast.c optional inet netinet/in_pcb.c optional inet | inet6 -netinet/in_proto.c optional inet \ +netinet/in_proto.c optional inet | inet6 \ compile-with "${NORMAL_C} -I$S/contrib/pf" netinet/in_rmx.c optional inet netinet/ip_divert.c optional inet ipdivert ipfirewall diff --git a/sys/netinet/in_proto.c b/sys/netinet/in_proto.c index 110301a..a5907ec 100644 --- a/sys/netinet/in_proto.c +++ b/sys/netinet/in_proto.c @@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$"); #include "opt_ipx.h" #include "opt_mrouting.h" #include "opt_ipsec.h" +#include "opt_inet.h" #include "opt_inet6.h" #include "opt_pf.h" #include "opt_sctp.h" @@ -50,6 +51,13 @@ __FBSDID("$FreeBSD$"); #include <sys/queue.h> #include <sys/sysctl.h> +/* + * While this file provides the domain and protocol switch tables for IPv4, it + * also provides the sysctl node declarations for net.inet.* often shared with + * IPv6 for common features or by upper layer protocols. In case of no IPv4 + * support compile out everything but these sysctl nodes. + */ +#ifdef INET #include <net/if.h> #include <net/route.h> #ifdef RADIX_MPATH @@ -372,6 +380,7 @@ struct domain inetdomain = { }; VNET_DOMAIN_SET(inet); +#endif /* INET */ SYSCTL_NODE(_net, PF_INET, inet, CTLFLAG_RW, 0, "Internet Family"); |