Date: Thu, 11 Jun 2009 10:26:39 +0000 (UTC) From: "Bjoern A. Zeeb" <bz@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r193983 - in head/sys: conf net Message-ID: <200906111026.n5BAQdOi044315@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: bz Date: Thu Jun 11 10:26:38 2009 New Revision: 193983 URL: http://svn.freebsd.org/changeset/base/193983 Log: carp(4) allows people to share a set of IP addresses and can only use IPv4/v6 for inter-node communication (according to my reading). Properly wrap the carp callouts in INET || INET6 and refelect this in sys/conf/files as well. While in theory this should be ok, it might be a bit optimistic to think that carp could build with inet6 only[1]. Discussed with: mlaier [1] Modified: head/sys/conf/files head/sys/net/if.c head/sys/net/if_bridge.c head/sys/net/if_ethersubr.c Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Thu Jun 11 09:59:47 2009 (r193982) +++ head/sys/conf/files Thu Jun 11 10:26:38 2009 (r193983) @@ -2352,7 +2352,7 @@ netinet/if_atm.c optional atm netinet/if_ether.c optional ether netinet/igmp.c optional inet netinet/in.c optional inet -netinet/ip_carp.c optional carp +netinet/ip_carp.c optional inet carp | inet6 carp netinet/in_gif.c optional gif inet netinet/ip_gre.c optional gre inet netinet/ip_id.c optional inet Modified: head/sys/net/if.c ============================================================================== --- head/sys/net/if.c Thu Jun 11 09:59:47 2009 (r193982) +++ head/sys/net/if.c Thu Jun 11 10:26:38 2009 (r193983) @@ -86,9 +86,11 @@ #include <netinet/if_ether.h> #include <netinet/vinet.h> #endif +#if defined(INET) || defined(INET6) #ifdef DEV_CARP #include <netinet/ip_carp.h> #endif +#endif #include <security/mac/mac_framework.h> @@ -1738,10 +1740,12 @@ if_unroute(struct ifnet *ifp, int flag, pfctlinput(PRC_IFDOWN, ifa->ifa_addr); ifp->if_qflush(ifp); +#if defined(INET) || defined(INET6) #ifdef DEV_CARP if (ifp->if_carp) carp_carpdev_state(ifp->if_carp); #endif +#endif rt_ifmsg(ifp); } @@ -1762,10 +1766,12 @@ if_route(struct ifnet *ifp, int flag, in TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) if (fam == PF_UNSPEC || (fam == ifa->ifa_addr->sa_family)) pfctlinput(PRC_IFUP, ifa->ifa_addr); +#if defined(INET) || defined(INET6) #ifdef DEV_CARP if (ifp->if_carp) carp_carpdev_state(ifp->if_carp); #endif +#endif rt_ifmsg(ifp); #ifdef INET6 in6_if_up(ifp); @@ -1816,10 +1822,12 @@ do_link_state_change(void *arg, int pend if ((ifp->if_type == IFT_ETHER || ifp->if_type == IFT_L2VLAN) && IFP2AC(ifp)->ac_netgraph != NULL) (*ng_ether_link_state_p)(ifp, link_state); +#if defined(INET) || defined(INET6) #ifdef DEV_CARP if (ifp->if_carp) carp_carpdev_state(ifp->if_carp); #endif +#endif if (ifp->if_bridge) { KASSERT(bstp_linkstate_p != NULL,("if_bridge bstp not loaded!")); (*bstp_linkstate_p)(ifp, link_state); Modified: head/sys/net/if_bridge.c ============================================================================== --- head/sys/net/if_bridge.c Thu Jun 11 09:59:47 2009 (r193982) +++ head/sys/net/if_bridge.c Thu Jun 11 10:26:38 2009 (r193983) @@ -122,9 +122,11 @@ __FBSDID("$FreeBSD$"); #include <netinet6/ip6_var.h> #include <netinet6/vinet6.h> #endif +#if defined(INET) || defined(INET6) #ifdef DEV_CARP #include <netinet/ip_carp.h> #endif +#endif #include <machine/in_cksum.h> #include <netinet/if_ether.h> /* for struct arpcom */ #include <net/bridgestp.h> @@ -2231,7 +2233,7 @@ bridge_input(struct ifnet *ifp, struct m return (m); } -#ifdef DEV_CARP +#if (defined(INET) || defined(INET6)) && defined(DEV_CARP) # define OR_CARP_CHECK_WE_ARE_DST(iface) \ || ((iface)->if_carp \ && carp_forus((iface)->if_carp, eh->ether_dhost)) Modified: head/sys/net/if_ethersubr.c ============================================================================== --- head/sys/net/if_ethersubr.c Thu Jun 11 09:59:47 2009 (r193982) +++ head/sys/net/if_ethersubr.c Thu Jun 11 10:26:38 2009 (r193983) @@ -79,9 +79,11 @@ #include <netinet6/nd6.h> #endif +#if defined(INET) || defined(INET6) #ifdef DEV_CARP #include <netinet/ip_carp.h> #endif +#endif #ifdef IPX #include <netipx/ipx.h> @@ -393,11 +395,13 @@ ether_output(struct ifnet *ifp, struct m return (error); } +#if defined(INET) || defined(INET6) #ifdef DEV_CARP if (ifp->if_carp && (error = carp_output(ifp, m, dst, NULL))) goto bad; #endif +#endif /* Handle ng_ether(4) processing, if any */ if (IFP2AC(ifp)->ac_netgraph != NULL) { @@ -712,6 +716,7 @@ ether_input(struct ifnet *ifp, struct mb } } +#if defined(INET) || defined(INET6) #ifdef DEV_CARP /* * Clear M_PROMISC on frame so that carp(4) will see it when the @@ -727,6 +732,7 @@ ether_input(struct ifnet *ifp, struct mb m->m_flags &= ~M_PROMISC; } else #endif +#endif { /* * If the frame received was not for our MAC address, set the
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906111026.n5BAQdOi044315>