LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

[lvs-users] [ANNOUNCE] Keepalived 1.2.14

To: keepalived-devel <keepalived-devel@xxxxxxxxxxxxxxxxxxxxx>
Subject: [lvs-users] [ANNOUNCE] Keepalived 1.2.14
Cc: lvs-users@xxxxxxxxxxxxxxxxxxxxxx, keepalived-announce@xxxxxxxxxxxxxxxxxxxxx
From: Alexandre Cassen <acassen@xxxxxxxxx>
Date: Tue, 16 Dec 2014 10:47:36 +0100
Hello,

I just committed a new release. Including bug fixes and extensions. Thanks to 
all contributors. For credit, please refer to github commit log. IPv6 part is 
now ready to merge VRRPv3 code.

ChangeLog for the release look like :

2014-12-16  Alexandre Cassen  <acassen@xxxxxxxxxxxx 
<mailto:acassen@xxxxxxxxxxxx>>
        * keepalived-1.2.14 released.
        * The "Date:" mail header is now localtime.
        * bugfix: fwmark field was formatted as signed int
        * dump_conn_opts: fwmark was not displayed.
        * log_message: emit -Wformat= compiler warnings.
          There could be (and actually are) situations when the format
          string and the arguments list passed to the log_message() are
          inconsistent or mistyped. The compiler did not show any warnings
          because the vsnprintf was called indirectly.
        * Further unification of IP endpoints logging.
          This change tries to keep usage of the standard "[%s]:%d" format
          string to a minimum. Instead, use inet_sockaddrtopair wherever
          possible.
        * Add SNMP subsystem option to man page.
          The keepalived(8) man page did not mention the -x option to
          enable the SNMP subsystem. This patch adds the -x (and --smmp)
          options to the keepalived(8) man page, as described in the
          keepalived help message.
        * vrrp: fix gratuitous ARP refresh timer handling.
          Previous code was using an 'int' to store parsed timer value.
          This value was then expanded to TIMER_HZ which can lead to a
          wrapping issue if requested timer is longer than local machine
          'int' representation. This patch reworked the code to use
          timeval_t instead and perfrom regular timeval operations.
        * vrrp: Fix a memory leak while dropping incoming IPSEC-AH
          authenticated advert. Digest was allocated in previous code
          without freeing it on HMAC-MD5 missmatch.
        * vrrp: Extend IPSEC-AH auth to support unicast.
          If you plane to use IPSEC-AH auth in unicast mode (which THE best
          idea), then IP header TTL MUST be zeroed since it is mutable field
          on transit.
        * vrrp: Update VRRP VMAC doc.
          Add vmac_xmit_base in configuration example and force rp_filter=0
          on macvlan interface.
        * vrrp: make gratuitous ARP repeat count configurable.
          . garp_master_repeat : Gratuitous ARP count sent on the wire
                                 after MASTER state transition.
          . garp_master_refresh_repeat : Gratuitous ARP count sent on the
                                         wire when garp_refresh_timer fir
        * vrrp: fix preempt and state BACKUP when prio 255.
          This makes it so that keepalived will respect various settings that
          should prevent it from assuming the MASTER role for a vrrp_instance
          unconditionally and immediately, even if the priority of the
          vrrp_instance in question is set to 255 (VRRP_PRIO_OWNER). These
          settings include:
          ---- conf ----
          state BACKUP
          preempt_delay <N>
          nopreempt
        * vrrp: in backup state notify when vrrp is not up and move to FAULT
          state.
        * ipvs: failed RS was flapping on config reload.
          The RS disabled by health-checker was turned on w/o health-checking
          by SIGHUP handler in the init_service_rs() subroutine.
          This did not happen with alpha mode set.
        * libipvs: allow IPv4 RS in IPv6 VS and vice versa.
          This change syncronizes local copy of libipvs with the upstream
          (kernel/ipvsadm/ipvsadm.git) to the date. IPVS in Linux 3.18 will
          include the feature of mixing of tunneled RS families in single VS.
          The compatibility with older kernel versions is kept.
        * libipvs: minor bugfix with retreiving dest af.
          This change needs to be sent to the ipvsadm upstream, too.
          This clarifies the previous commit, so there is no need to mention
          it in the changelog.
        * vrrp: check if interface is known when using use_vmac.
          vrrp->ifp is NULL when use_vmac keyword is defined before the
          interface keyword. This would result in a segfault
        * vrrp: simplify macvlan creation.
          Create the macvlan interface in one netlink command rather than
          three (creation of the macvlan in netlink_link_add_vmac function,
          set of the mac address in the netlink_link_setlladdr function, set
          macvlan mode in the netlink_link_setmode function).
          This simplification:
          1. avoids potential issues if the firt netlink command passes butcw
              not the next ones
          2. reduces number of netlink messages (light optimization)
        * ipvs: bugfix quorum state was flapping when Q < H.
          When a service had quorum < hysteresis, the lower threshold of RS
          weights was calculated incorrecly. Unsigned arythmetics was used, so
          errors like this appeared in log: Keepalived_healthcheckers[2535]:
          Lost quorum 1-2=18446744073709551615 > 10 for VS
          The up -> down quorum state transition was happening every time when
          alive RS set was changed. This bug was in place since
          keepalived-1.2.9
        * vrrp: add support to IPv6 mcast src address specification.
          For some reason (well... which one ?), previous code didnt support
          specification of multicast source address in IPv6 mode. If you are
          using 'native_ipv6' and want to specify IPv6 mcast source ip address
          then you can use 'mcast_src_ip' keyword with IPv6 address.
        * vrrp: Add support to IPv6 src_address discrimination in master
          rx state.
          Previous code didnt support IPv6 address discrimination while in
          MASTER state receiving same prio advert. This patch extend previous
          code to support IP address comparison agnostic.
        * vrrp: IPv6 mcast src_addr handling and VMAC fix.
          Properly bind socket for v6 use-case when mcasr_src_ip is in use or
          when VMAC is used. This patch fix VRRP VMAC in native_ipv6 mode,
          previous code just use the vmac interface link-local IP Address as
          src_ip leading to a corner case (to keep polite).
        * vrrp: in IPv6 scope_id is mandatory to bind link-local address.
          In IPv6 use-case, source IP address is set binding sokect to
          socaddr_in6. Linux Kernel requires interface to bind link-local
          address.
        * vrrp: fix nopreempt mode in master_rx.
          While receiving lower prio advert, preempt election according to
          nopreempt keyword. By default preempt is on as requested by RFC.
        * exit on malloc failure.
        * genhash: code cleanup.


Enjoy,
Alexandre
_______________________________________________
Please read the documentation before posting - it's available at:
http://www.linuxvirtualserver.org/

LinuxVirtualServer.org mailing list - lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Send requests to lvs-users-request@xxxxxxxxxxxxxxxxxxxxxx
or go to http://lists.graemef.net/mailman/listinfo/lvs-users

<Prev in Thread] Current Thread [Next in Thread>
  • [lvs-users] [ANNOUNCE] Keepalived 1.2.14, Alexandre Cassen <=