LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

[ANNOUNCE] Keepalived 0.5.9

To: lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Subject: [ANNOUNCE] Keepalived 0.5.9
Cc: keepalived-announce@xxxxxxxxxxxxxxxxxxxxx, keepalived-devel@xxxxxxxxxxxxxxxxxxxxx, xerox@xxxxxxxxxx
From: Alexandre Cassen <Alexandre.Cassen@xxxxxxxxxx>
Date: Thu, 30 May 2002 19:53:46 +0200
Hi all,

I have just published the new Keepalived release. The work done on this release was focused on the VRRP framework, adding extension and probe the code on a real world production env. I would like to specially thanks Paul, <xerox@xxxxxxxxxx> for his time simulating heavy load on its network and providing me access to his pre-production Internet Backbone.

The most important issue we observed was VRRP instance state flapping. We simulated a heavy loaded network using juno & ping flooding to simultate DOS. The constatation were : "hey VRRP is constantly flapping.... !!!!! Whats the hell with this". The problem was not, as I previously posted, a packet dropping issue due to a congested network, it was, it was... yes, yes, it was :) => grrr a VRRP timer degradation that caused a too long delay sending MASTER advert.... After the issue fixed, we probe on the heavy loaded network (with 2 linux routers) => 80,000 pps, and no problems... After a 3 days work fulltime on this issue, the bug was fixed with one code line !!!! some time coding network engine is really frustrating ! :)

The ChangeLog for this new release is :

2002-05-30  Alexandre Cassen  <acassen@xxxxxxxxxxxx>
        * keepalived-0.5.9 released.
* Added support to realserver_group. The work is not yet finished since it introduces new compilation design currently not supported. So please
          do not use yet.
        * VRRP : Review the script notification. Moved to a script per VRRP
          instance state => Created new keywords notify_backup|master|fault
to run a specific script during backup|master|fault state transition. * VRRP : Added support to quoted strings for notify_backup|master|fault.
          Can now launch script passing arguments.
          See sample directory for examples.
* VRRP : Added a protocol extension called "virtual_ipaddress_excluded".
          This configuration block is similar to "virtual_ipaddress" block =>
those VIPs (called E-VIPs) are set throught netlink kernel channel and
          gratuitous arp are sent over each E-VIP. The only difference is that
          they are not added into VRRP packet adverts. This can be usefull for
          big env where you want to run many VRRP VIPs (200 for example).
VRRP packet lenght are limited to a 20 VIPs, if you want more VRRP VIPs
          add them to the "virtual_ipaddress_excluded" configuration block.
* VRRP : Added more logging facility when setting/removings VIPs & E-VIPs.
        * VRRP : Created a new FSM state called become_master in charge of
VIPs/E-VIPs/notifications handling. The goto_master state is now a state where the instance send an advert to force a new MASTER election setting
          the instance into a transition mode. If election success its finaly
transit to become_master state to own VIPs/E-VIPs and launch scripts. * VRRP : Force a new MASTER election when receiving a lower prio advert. * VRRP : Review the vrrp_scheduler.c to use more conventional FSM design.
          This reduce and beautifull the code.
* VRRP : Fixed a very noisy flapping issue observed on heavy loaded env.
          Simulating big traffic on a backbone figure out this flapping issue.
Added support to a TIMER_MICRO_ADJUST to prevent against timer degradation. This can be view as a DOS protection policy. VRRP MASTER timers are adjusted if they are too degradated, due to heavy loaded networking env introducing
          latency receiving/sending VRRP protocol adverts.
Thanks goes to Paul, <xerox@xxxxxxxxxx> for pointing it out and providing
          access to its Internet routing backbone.

Any comments will be welcome,

Best regards,
Alexandre



<Prev in Thread] Current Thread [Next in Thread>
  • [ANNOUNCE] Keepalived 0.5.9, Alexandre Cassen <=