keepalived-0.4.8 v0.4.8
authorAlexandre Cassen <acassen@freebox.fr>
Wed, 21 Nov 2001 14:52:21 +0000 (15:52 +0100)
committerAlexandre Cassen <acassen@freebox.fr>
Mon, 28 Sep 2009 08:58:54 +0000 (10:58 +0200)
commit64b059dd27a5bd8539084f43b8194af9332e0551
tree919714bd8289389adc48d76bc5c92a1527179cb1
parent5fa8aaf845a80f183a7a39b496154054c8f04063
keepalived-0.4.8

* keepalived-0.4.8 released.
* Rewrite the whole VRRP previous code.
* VRRP : Created a hierarchic scheduling framework.
  Handle VRRP instances multiplexing on the same I/O fd.
  VRRP I/O events are handled by our global scheduling
  framework. Then the global sheduling framework call a VRRP
  I/O instance dispatcher to manage VRRP instances.
* VRRP : Created a temporary socket pool to handle register
         our VRRP thread instances.
  We create & allocate a socket pool here. The soft design
  can be sum up by the following sketch :

         fd1  fd2    fd3  fd4          fdi  fdi+1
      -----\__/--------\__/---........---\__/---
         | ETH0 |    | ETH1 |          | ETHn |
         +------+    +------+          +------+

    Here we have n physical NIC. Each NIC own a maximum of 2 fds.
  (one for VRRP the other for IPSEC_AH). All our VRRP instances
  are multiplexed through this fds. So our design can handle 2*n
  multiplexing points.
* VRRP : Review the multicast socket creating. We bind the socket
  to a specific NIC. inbound & outbound traffic are bound to the
  NIC.
  => why IP_ADD_MEMBERSHIP & IP_MULTICAST_IF doesnt set
     sk->bound_dev_if themself ??? !!!
     Needed for filter multicasted advert per interface.
  => For inbound binding we use SO_BINDTODEVICE kernel option.
* VRRP : Created a read dispatcher thread to deal with our sockpool.
  Handle VRRP states & transition states.
* VRRP : Created a VRRP synchronization instance circuit. This
  functionnality gave you the ability to monitor VRRP instance
  each other. This mean that if 2 VRRP instances are monitoring
  themself and if one of this instance change state, the other
  follow the same state. ex.: With 2 VRRP instances (VI_1 & VI_2)
  if VI_1 become backup then VI_2 become backup too. (symetricly
  with master VRRP state).
* VRRP : Rewrite the netlink interface to use non blocking socket.
* VRRP : Rewrite the ipaddress handling to use the new netlink
  interface.
* VRRP : Remove the VRPP VMAC handling since linux kernel only
  permit to use one MAC address on a specific NIC. We use gratuitous
  arp when setting up VRRP VIP, to uptade remote host arp caches.
  => In certain case this can cause a TCP session renegociation
     which can cause a permature session end.
  => To be fully compliant with the VRRP RFC, need to patch the
     kernel to gave it the possibility to deal with more than one
     MAC address at a time. Give me clue on it please ! to same me
     a little time :)
* Starting VRRP documentation.
* Patch a pidfile handling bug when forking the keepalived daemon.
  Thanks goes to Gianni D'Aprile for pointing it to me.
* Patch a timer race condition into the scheduling framework.
  This bug caused tcpcheck to respawn quickly...
  Thanks goes to Gianni D'Aprile for pointing it to me.
* keepalived-0.3.8 released.
* Added support to native IPTABLE LVS CODE
  => using NAT on 2.4 kernel ipchains kernel support
     has been removed.
* Added support to Direct Routing & Tunneling.
* Review the keepalived.init script to be much more generic.
52 files changed:
ChangeLog
INSTALL
Makefile
TODO
cfreader.c
cfreader.h
check.h
check_http.c
check_http.h
check_misc.c [new file with mode: 0644]
check_misc.h [new file with mode: 0644]
check_tcp.c
check_tcp.h
etc/rc.d/init.d/keepalived.init
ipfwwrapper.c
ipfwwrapper.h
ipvswrapper.c
ipvswrapper.h
ipwrapper.c
ipwrapper.h
layer4.c
layer4.h
libnetlink/Makefile [deleted file]
libnetlink/libnetlink.c [deleted file]
libnetlink/libnetlink.h [deleted file]
libnetlink/ll_map.c [deleted file]
libnetlink/ll_map.h [deleted file]
main.c
main.h
pidfile.c
pidfile.h
samples/keepalived.conf.misc_check [new file with mode: 0644]
samples/keepalived.conf.sample [moved from keepalived.conf.sample with 100% similarity]
samples/keepalived.conf.vrrp [moved from keepalived.conf.vrrp with 52% similarity]
samples/keepalived.conf.vrrp.sync [new file with mode: 0644]
samples/sample.misccheck.smbcheck.sh [new file with mode: 0644]
scheduler.c
scheduler.h
smtp.c
smtp.h
utils.c
vrrp.c
vrrp.h
vrrp_ipaddress.c
vrrp_ipaddress.h
vrrp_iproute.c [deleted file]
vrrp_ipsecah.c
vrrp_ipsecah.h
vrrp_netlink.c [new file with mode: 0644]
vrrp_netlink.h [moved from vrrp_iproute.h with 53% similarity]
vrrp_scheduler.c [new file with mode: 0644]
vrrp_scheduler.h [new file with mode: 0644]