diff options
| author | 2008-02-05 22:57:30 +0000 | |
|---|---|---|
| committer | 2008-02-05 22:57:30 +0000 | |
| commit | 633baea01c6bbe9e8ec7aeca9cd689d1f6a91b12 (patch) | |
| tree | 9b94c9c81588c831211eee86082db4f72cb3788c /sys/net/if_ethersubr.c | |
| parent | ACPI 3.0 seems to work just fine so lets enable it. (diff) | |
| download | wireguard-openbsd-633baea01c6bbe9e8ec7aeca9cd689d1f6a91b12.tar.xz wireguard-openbsd-633baea01c6bbe9e8ec7aeca9cd689d1f6a91b12.zip | |
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/net/if_ethersubr.c')
| -rw-r--r-- | sys/net/if_ethersubr.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c index 7ea08f926be..26e2b69bd29 100644 --- a/sys/net/if_ethersubr.c +++ b/sys/net/if_ethersubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_ethersubr.c,v 1.113 2008/01/17 17:50:59 bluhm Exp $ */ +/* $OpenBSD: if_ethersubr.c,v 1.114 2008/02/05 22:57:30 mpf Exp $ */ /* $NetBSD: if_ethersubr.c,v 1.19 1996/05/07 02:40:30 thorpej Exp $ */ /* @@ -564,12 +564,10 @@ ether_input(ifp, eh, m) (carp_input(m, (u_int8_t *)&eh->ether_shost, (u_int8_t *)&eh->ether_dhost, eh->ether_type) == 0)) return; - /* Always clear multicast flags if received on a carp address */ + /* clear mcast if received on a carp IP balanced address */ else if (ifp->if_type == IFT_CARP && - ifp->if_flags & IFF_LINK2 && m->m_flags & (M_BCAST|M_MCAST) && - !bcmp(((struct arpcom *)ifp)->ac_enaddr, - (caddr_t)eh->ether_dhost, ETHER_ADDR_LEN)) + carp_our_mcastaddr(ifp, (u_int8_t *)&eh->ether_dhost)) m->m_flags &= ~(M_BCAST|M_MCAST); } #endif /* NCARP > 0 */ |
