diff options
author | Marco Pfatschbacher <mpf@cvs.openbsd.org> | 2008-02-05 22:57:32 +0000 |
---|---|---|
committer | Marco Pfatschbacher <mpf@cvs.openbsd.org> | 2008-02-05 22:57:32 +0000 |
commit | 279d8911f3838a3d1546b31c4801fac650ddc9ce (patch) | |
tree | 3f4efb4bfc2385425ae2ad31c7f392ddc1729137 /sys/netinet6 | |
parent | 1c85bd544fb9501c3922670c79d44a2d5baedad0 (diff) |
Move carp load balancing (ARP/IP) to a simpler configuration scheme.
Instead of using the same IP on multiple interfaces, carp has to be
configured with the new "carpnodes" and "balancing" options.
# ifconfig carp0 carpnodes 1:0,2:100,3:100 balancing ip carpdev sis0 192.168.5.50
Please note, that this is a flag day for anyone using carp balancing.
You'll need to adjust your configuration accordingly.
Addititionally this diff adds IPv6 NDP balancing support.
Tested and OK mcbride@, reyk@.
Manpage help by jmc@.
Diffstat (limited to 'sys/netinet6')
-rw-r--r-- | sys/netinet6/icmp6.c | 3 | ||||
-rw-r--r-- | sys/netinet6/ip6_input.c | 4 | ||||
-rw-r--r-- | sys/netinet6/nd6_nbr.c | 4 |
3 files changed, 4 insertions, 7 deletions
diff --git a/sys/netinet6/icmp6.c b/sys/netinet6/icmp6.c index 4a0e360a936..8800a65f449 100644 --- a/sys/netinet6/icmp6.c +++ b/sys/netinet6/icmp6.c @@ -1,4 +1,4 @@ -/* $OpenBSD: icmp6.c,v 1.94 2007/06/01 00:52:38 henning Exp $ */ +/* $OpenBSD: icmp6.c,v 1.95 2008/02/05 22:57:31 mpf Exp $ */ /* $KAME: icmp6.c,v 1.217 2001/06/20 15:03:29 jinmei Exp $ */ /* @@ -481,7 +481,6 @@ icmp6_input(mp, offp, proto) #if NCARP > 0 if (m->m_pkthdr.rcvif->if_type == IFT_CARP && - m->m_pkthdr.rcvif->if_flags & IFF_LINK0 && icmp6->icmp6_type == ICMP6_ECHO_REQUEST && carp_lsdrop(m, AF_INET6, ip6->ip6_src.s6_addr32, ip6->ip6_dst.s6_addr32)) diff --git a/sys/netinet6/ip6_input.c b/sys/netinet6/ip6_input.c index 2459d5d2688..f101308eb9d 100644 --- a/sys/netinet6/ip6_input.c +++ b/sys/netinet6/ip6_input.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ip6_input.c,v 1.80 2007/12/14 18:33:41 deraadt Exp $ */ +/* $OpenBSD: ip6_input.c,v 1.81 2008/02/05 22:57:31 mpf Exp $ */ /* $KAME: ip6_input.c,v 1.188 2001/03/29 05:34:31 itojun Exp $ */ /* @@ -258,7 +258,6 @@ ip6_input(m) #if NCARP > 0 if (m->m_pkthdr.rcvif->if_type == IFT_CARP && - m->m_pkthdr.rcvif->if_flags & IFF_LINK0 && ip6->ip6_nxt != IPPROTO_ICMPV6 && carp_lsdrop(m, AF_INET6, ip6->ip6_src.s6_addr32, ip6->ip6_dst.s6_addr32)) @@ -552,7 +551,6 @@ ip6_input(m) #if NCARP > 0 if (m->m_pkthdr.rcvif->if_type == IFT_CARP && - m->m_pkthdr.rcvif->if_flags & IFF_LINK0 && ip6->ip6_nxt == IPPROTO_ICMPV6 && carp_lsdrop(m, AF_INET6, ip6->ip6_src.s6_addr32, ip6->ip6_dst.s6_addr32)) diff --git a/sys/netinet6/nd6_nbr.c b/sys/netinet6/nd6_nbr.c index 6168ed52a84..aaa5ceccab4 100644 --- a/sys/netinet6/nd6_nbr.c +++ b/sys/netinet6/nd6_nbr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: nd6_nbr.c,v 1.46 2007/12/09 21:24:58 hshoexer Exp $ */ +/* $OpenBSD: nd6_nbr.c,v 1.47 2008/02/05 22:57:31 mpf Exp $ */ /* $KAME: nd6_nbr.c,v 1.61 2001/02/10 16:06:14 jinmei Exp $ */ /* @@ -195,7 +195,7 @@ nd6_ns_input(m, off, icmp6len) #if NCARP > 0 if (ifp->if_type == IFT_CARP) { ifa = (struct ifaddr *)in6ifa_ifpwithaddr(ifp, &taddr6); - if (ifa && !carp_iamatch6(ifp, ifa)) + if (ifa && !carp_iamatch6(ifp, lladdr, &proxydl)) ifa = NULL; } else { ifa = (struct ifaddr *)in6ifa_ifpwithaddr(ifp, &taddr6); |