summaryrefslogtreecommitdiff
path: root/sys/netinet/ip_carp.c
AgeCommit message (Collapse)Author
2004-06-10zero the cif struct correctly.Ryan Thomas McBride
2004-06-10Plug a memory leak in carp_clone_destroy()Ryan Thomas McBride
From Patrick Latifi
2004-05-31initialize struct carp_if and let vhif_nvrs counter work. ok mcbride@Marco Pfatschbacher
2004-05-30compile without INET6; ok mcbridePeter Valchev
2004-05-29Remove multicast addresses and promiscuous mode when destroying theRyan Thomas McBride
carp interface.
2004-05-29carp_ioctl() happens after ifioctl(); check flags correctly so thatRyan Thomas McBride
'ifconfig carp0 down' and 'ifconfig carp0 up' work as expected.
2004-05-25let sc_counter wrap automatically, ok mcbride@Jolan Luff
2004-05-24Check for sc->sc_ifp != NULL in carp_setroute(). Running dhclient on theRyan Thomas McBride
carp interface won't work, but it doesn't mean we should panic the box!
2004-05-16When we back off due to problems with the physical interface, advertiseRyan Thomas McBride
the backoff immediately on all of the interfaces instead of waiting for the next scheduled advertisement.
2004-05-16Remove useless test pointed out by Frank Denis <j@pureftpd.org>.Ryan Thomas McBride
2004-05-13Act like our advskew is 240 when receiving packets as well as sending ifRyan Thomas McBride
we're backing off. Makes the backoff actually work like it's supposed to instead of flip-flopping. Problem pointed out by ho@ and jakob@
2004-05-13Add cloned interface destruction to carp (ifconfig carp0 destroy).Ryan Thomas McBride
ok deraadt@
2004-05-13KNFRyan Thomas McBride
2004-05-10Make sure advskew set correctly in advertisement when configured to a valueRyan Thomas McBride
greater than 240. From Frank Denis <j@pureftpd.org>, PR3774.
2004-05-08If a carp interface has more than CARP_SENDAD_MAX_ERRORS failedRyan Thomas McBride
advertisements in a row, back off all the other interfaces, until CARP_SENDAD_MIN_SUCCESS advertisements are successful. This makes carp deal better with ip output errors.
2004-04-28Make carp(4) aware of its physical interface:Ryan Thomas McBride
- If the physical interface goes down or the link goes down, the carp interface goes down as well. - We treat this like the preemption holdoff with pfsync. So if one of the carp interfaces is known to be bad (because the physical interface it's associated with is bad), all the other carp interfaces back off: they won't preempt, and their advskew goes to 240. ok cedric@
2004-03-26don't use mbuf after free; ok mcbride, deraadt, cloderMarkus Friedl
2004-03-26Also raise advskew to 240 while we wait for pfsync to get it's bulk update.Ryan Thomas McBride
This is to deal with situations where the network is not working during boot so we become master by default - the high advskew value allows other carp boxes to preempt us when the network finally comes up. ok deraadt@ beck@
2004-03-24Correct size in error message. From mickey@Ryan Thomas McBride
ok deraadt@
2004-03-24Disable net.inet.carp.log by default.Ryan Thomas McBride
ok deraadt@
2004-03-22Support for best effort bulk transfers of states when pfsync syncif isRyan Thomas McBride
configured. This this allows pfsync+carp clusters to come up gracefully without killing active connections. pfsync now prevents carp from preempting to become master until the state table has sync'd. ABI change, any application which use struct pf_state must be recompiled. Reminded about this by Christian Gut. Thanks to beck@ cedric@ and dhartmei@ for testing and comments. ok deraadt@
2004-03-20Unbreak routing change handling for state changes; count addresses differentlyRyan Thomas McBride
depending on where we're calling carp_addrcount() from.
2004-03-18Allow the state to be changed explicitly via the ioctl.Ryan Thomas McBride
ok markus@
2004-03-10Don't permit a negative index. Pointed out by Patrick Latifi.Ryan Thomas McBride
2004-03-05Only send route add or delete messages if it's the first identicalRyan Thomas McBride
address being added or the last identical address being removed, respectively. Part of a larger diff approved by markus@ and dhartmei@, API changes held back for now.
2004-01-18send RTM_IFINFO on carp state changes; with mpf@; ok mcbride@, mpf@Markus Friedl
2004-01-15missing #ifdef INET6, ok henning@Daniel Hartmeier
2004-01-13Add and remove IPv6 routes so when we're MASTER, we can connect to theRyan Thomas McBride
common address.
2003-12-10de-register. deraadt okJun-ichiro itojun Hagino
2003-12-06Mark u_int64_t constants with ULL to make gcc3 happy.Alexander Yurchenko
ok drahn@
2003-12-03add support for ifconfig clone; ok henning deraadtMarkus Friedl
2003-11-16compile without INET6Markus Friedl
2003-11-14Don't include KAME link-local interface ID in HMAC.Ryan Thomas McBride
from itojun@
2003-11-09No need to pass an unused struct carp_softc * into carp_input_c() fromRyan Thomas McBride
carp_input() and carp6_input().
2003-11-08typos from Jonathon Gray;Jason McIntyre
2003-11-07Check to make sure that the packet was received on a carp-enabled interface.Ryan Thomas McBride
Pointed out by Marco Pfatschbacher, ok mickey@
2003-11-07Clean up carp_iamatch() behaviour so we don't reply to arp requests whenRyan Thomas McBride
the interface is ifconfig'd down. Patch from Marco Pfatschbacher
2003-11-07Add missing #ifdef INET6.Ryan Thomas McBride
Courtesy of markus@
2003-11-05Cleanups.Ryan Thomas McBride
- Remove error variable which is not needed. - Add missing /* INET6 */ comments.
2003-11-04Add carp_setroute(), add and remove routes when the carp(4) interfaceRyan Thomas McBride
enters and leaves MASTER state. Allows the system to connect to the common address when it is master. ok cedric@ henning@
2003-11-04Use MGETHDR() instead of m_gethdr()Ryan Thomas McBride
Patch from Marco Pfatschbacher (Marco_Pfatschbacher at genua dot de)
2003-11-04- Remove bogus function prototypeRyan Thomas McBride
- Put the correct address family in the BPF header Pointed out by Max Laier.
2003-11-04kill a no longer relevant todo itemMichael Shalayeff
2003-11-04Some cleanups from Andrey Matveev <andrushock@korovino.net>:Ryan Thomas McBride
- remove duplicate string; - carp_set_addr() -> carp_set_addr6() when INET6; - spacing police. Oh yeah, and we can take inet6 support off the todo list.
2003-11-03Cleanups:Ryan Thomas McBride
- missing #ifdef INET6. - fix check for interface going down in carp_send_ad(). - fix memory leak which occurs when when ifpromisc() fails. All from Max Laier, thanks.
2003-11-03spacingTheo de Raadt
2003-11-03Some KNF cleanup. There's probably more to do.Ryan Thomas McBride
2003-11-02Typo; #ifdef INET not INET6.Ryan Thomas McBride
From Max Laier.
2003-10-31Add IPv6 support to CARP.Ryan Thomas McBride
ok deraadt@
2003-10-27Skew the advertisement interval correctly when we reschedule.Ryan Thomas McBride