Hello community, here is the log from the commit of package keepalived for openSUSE:Factory checked in at 2019-03-22 15:08:13 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/keepalived (Old) and /work/SRC/openSUSE:Factory/.keepalived.new.25356 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "keepalived" Fri Mar 22 15:08:13 2019 rev:25 rq:687165 version:2.0.13 Changes: -------- --- /work/SRC/openSUSE:Factory/keepalived/keepalived.changes 2019-01-21 11:03:24.603038617 +0100 +++ /work/SRC/openSUSE:Factory/.keepalived.new.25356/keepalived.changes 2019-03-22 15:08:25.689439462 +0100 @@ -1,0 +2,262 @@ +Wed Mar 20 23:31:55 UTC 2019 - Marcus Rueckert <[email protected]> + +- update to 2.0.13 + - Add BFD build option to keepalived.spec rpm file + Issue #1114 identified that the keepalived.spec file was not being + generated to build BFD support even if keepalived had been configured + to support it. + - Copy tarball to rpmbuild/SOURCES when building in place + It seems that even when building in place, rpmbuild expects the + tarball to be in the rpmbuild/SOURCES directory. + - Fix configure check for __always_inline + - Handle interface MAC addresses changing + When an interface is added to a bond interface, if it is the first + interface added, the MAC address of the bond interface is changed + to the MAC address of the added interface. When subsequent interfaces + are added, their MAC addresses are changed to that of the bond + interface. + Issue #1112 identified that if a bond interface is deleted and + recreated, the gratuitous ARPs were sent with the wrong source MAC + address. + This commit now updates interface MAC addresses from the netlink + RTM_NEWLINK messages, so that the correct MAC address is always + used. + - Minor tidying up of opening gratuitous ARP socket. + - Streamline setting SOCK_NONBLOCK on vrrp sockets. + - Use netlink reported hardware address length for unsolicited NAs + ETH_ALEN is correct for Ethernet type interaces, but is not right + for Infiniband interfaces. + - Minor tidying up of opening gratuitous NA socket. + - Make gratuitous ARP/NA sockets non blocking + keepalived shouldn't block when sending gratutious ARP/NA messages. + It is better to lose the messages than for keepalived to block, so + set the sockets non blocking. + - Use netlink provided broadcast address for gratuitous ARP + If an interface has a non-standard broadcast address, we should + honour it. + - Fix building on pre 3.10 kernels re track_process + Issue #1119 reported that keepalived wouldn't build on CentOS 6. + Various PROC_EVENT_- declarations were assumed to exist, some of which + were not introduced until Linux v3.10. Most of them are not needed, but + PROC_EVENT_COMM is used by the track_process code. + This commit now checks for the existence of the PROC_EVENT_- declarations, + but since keepalived uses PROC_EVENT_COMM, track_process is not supported + prior to Linux v3.2. + - Make track_process work prior to Linux 3.2, but with limitations + Prior to Linux 3.2 the PROC_EVENT_COMM event did not exist, which + means that keepalived is unable to detect changes to process name + (/proc/PID/comm) prior to Linux 3.2. most processes do not change + their process name, and so using track_process prior to Linux 3.2 + is safe so long as the monitored processes are known not to change + their process name. + - Stop configure failing when nftables is not supported. + - Streamline socket use with linkbeat. + Previously the socket used for ioctls was opened and closed twice per + poll if using MII or ETHTOOL polling, and once per poll if using ioctl + polling. This commit opens the socket once at startup, uses that socket + for all linkbeat polls, and closes it on termination. + - Enable linkbeat polling to work with dynamic interfaces. + - Add linkbeat_interfaces configuration block + It was not possible to indicate that an interface that wasn't used + as the interface of a vrrp instance, but was used either as a track + interface, or for virtual/static ip addresses or routes should use + linkbeat. This commit adds that capability. + - Add ability to specify linkbeat type in linkbeat_interfaces block. + - Add --disable-linkbeat configure option + Does anyone use linkbeat anymore? This commit enables keepalived to + be build without the linkbeat code. + - Don't remove link local IPv6 address from VMAC that isn't keepalived's + If IFLA_INET6_ADDR_GEN_MODE isn't supported and a macvlan interface + already had a (non-default) link local addresss and the link local + address that matched the interface's MAC address was added, keepalived + was removing it as soon as it was added. This commit stop keepalived + removing the address when we shouldn't. + - Set configure init type correctly in keepalived.spec file. + - Fix handling of VMACs with multiple reloads + If a configuration is loaded that has a VRRP instance using a VMAC, + then the configuration is updated to remove that VRRP instance and + keepalived reloads its configuration, then the configuration is + updated again to reinstate the VRRP instance and the configuration + is again reloaded, keepalived thought the VMAC interface still + existed, whereas it was deleted following the first reload. + This commit ensures that keepalived properly detects whether an + interface exists following a reload. + - Remember more than one interface local address per interface + Keepalived needs a local address for each interface it sends adverts + on. If the address keepalived is using is deleted and another address + is configured on the interface, then keepalived should start using + that address. To do this, a list of configured address on each + interfaces needs to be maintained. + - Don't consider VIPs as local addresses when restart after crash + Keepalived maintains a list of addresses per interface that can be + used as source adddresses for adverts. To build the list, keepalived + reads the addresses configured on interfaces when it starts. However, + if keepalived crashed it will have left VIPs configured on interfaces, + and we don't want to use them as advert source addresses. + This commit makes keepalived compare the addresses on interfaces + to VIPs, and ignores any addresses that are VIPs. + - Fix removing left over VIPs at startup. + - Use read_timer() when parsing config where appropriate. + - Allow fractional warmup, delay_loop and delay_before_retry for checkers + To shorten the real server monitoring interval, make it possible to specify + decimal value for following items: + warmup + delay_loop + delay_before_retry + - Update connect_timeout configuration options + Based on the patch submitted by [email protected] this patch + allows setting the connect_timeout to a resolution of micro-seconds. + The patch also adds the ability to set a default value at the virtual + server and real server levels. + - Fix unused variable warning when building only with RFC compliant + SNMP. + - It enable to set zero value as mintime for delay_loop and connect_timeout. + - Add option not to check for EINTR if using signalfd() + If keepalived is using signalfd(), there are no asynchronous signal + handlers, and therefore EINTR cannot be returned. + Currently the check for EINTR is enabled by default, and configure + option --disable-eintr-debug disables the check, while + --enable-eintr-debug enables writing log entries if EINTR is returned. + Once sufficient testing has been performed, the default will be + changed not to test for EINTR if signalfd() is supported. + - Make checking for EAGAIN/EWOULDBLOCK consistent + The code in some places checked errno for EAGAIN and EWOULDBLOCK + and in other places only checked EAGAIN. On Linux EAGAIN == EWOULDBLOCK, + so the check is not necessary, but EAGAIN is not guaranteed to be the + same value as EWOULDBLOCK, so define check_EAGAIN that only checks EAGAIN + if they are the same value, but checks both if they are different. + - Ensure default connection timeout for smtp checker hosts set. + - Set default connection timeout if no smtp check host specified. + - Fix min timer value, zero to 0.000001Sec. + - Add fixing min time for vs_co_timeout_handler() and rs_co_timeout_handler(). + - Fix parameter of read_timer(), it treat Mintime and Maxtime as microseconds. + - vrrp: vrrp_dispatcher_read() performance extension + We took time with Quentin to simulate and rework this code. We introduced + 2 imbricated while loop: + (1) First one is catching recvfrom EINTR (this code trig + only on kernel older than 2.6.22 where signalfd was firstly introduced). + Newer kernel will immediately break the loop (hey guys: if you are running + older than 2.6.22 it is worth considering upgrading). + (2) Second loop will continue reading from socket until same VRID advert + has been received during the same cycle. After simulating, it appears that + during contention with a lot of VRRP instances (around 1500), this design + is needed to relax socket recvq from growing. This can be viewed as a + Poll-Mode activation during contention and fallback to regular I/O MUX + during normal operations. This loop breaks immediately and re-submit + opration to I/O MUX when there is no more to be read. + - Fix conversion from long for double in read_timer(). + - Remove variable timer of unsigned long cast in read_timer(). + When Double type variable timer is cast to long type, it's scale falls. +- changes from2.0.12 + - Documentation related. + Remove keepalived.conf.SYNOPSIS content to make a pointer to manpage. + Update README manifest to reflect actual Keepalived goal and features. + - Improve error message if process events connector not enabled in + kernel. + - Add option to disable track-process functionality + Issue #1099 reported that their kernel did not support the proc events + connector, and it would therefore be helpful to have an option to build + keepalived without the track-process functionality. + This commit adds the --disable-track-process configure option. + - Fix vrrp instances going to fault state when have virtual routes + If an interface going down caused a vrrp instance to go to fault + state, and the vrrp instance also had virtual routes, the state + of the vrrp instance would be set to backup when the deletion of + the virtual route was detected. This commit ensures that the vrrp + instance stays in fault state until the interface is brought up + again. + - Remove Red Hat Linux 9 and RH Enterprise Linux 3 from spec file. + Red Hat Linux 9 and Red Hat Enterprise Linux 3 are both based on + Linux 2.4, which is no longer supported by keepalived. The options + in the spec file for Reh Hat Linux 9 have twice caused people to + specify wrong options to configure when trying to build keepalived, + so the options are removed to i) avoid confusion and ii) they are + not longer relevant. + - Add global option vrrp_min_garp. + By default keepalived sends 5 gratuitous ARP/NA messages after + transitioning to master, and 5 more 5 seconds later. This isn't + necessary with modern switches, and so if the vrrp_min_garp option + is set, only one gratuitious ARP/NA message is sent after transition + to master, and no repeat messages are sent 4 seconds later. + - Standardise definition of _INCLUDE_UNUSED_CODE_ + - Remove out of date comment re VRRP over IPv6. + - Correct typo in keepalived.conf.5. + - Directly use structure sizes for packet header lengths. + - vrrp_state_fault_rx() is not used. + Wrap the function in conditional compilation so it is not compiled + - Convert so list loops to use LIST_FOREACH. + - Don't recalculate vrrp packet header address. + vrrp_get_header() calculates the address of the vrrp header in a + received packet, but it was being recalculated in vrrp_in_chk(). + This commit passes the already calculated address to vrrp_in_chk(). + - Ensure a received packet has an AH header if and only if AH auth. + Ensure that a received packet has an AH header if we expect AH + authentication, and doesn't have an AH header if we don't expect + AH authentication. + - Ensure all protocol headers received before return pointer to vrrp header + vrrp_get_header() returns a pointer to the vrrp header, but it now returns ++++ 65 more lines (skipped) ++++ between /work/SRC/openSUSE:Factory/keepalived/keepalived.changes ++++ and /work/SRC/openSUSE:Factory/.keepalived.new.25356/keepalived.changes Old: ---- keepalived-2.0.11.tar.gz New: ---- keepalived-2.0.13.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ keepalived.spec ++++++ --- /var/tmp/diff_new_pack.iHCUlr/_old 2019-03-22 15:08:26.341438898 +0100 +++ /var/tmp/diff_new_pack.iHCUlr/_new 2019-03-22 15:08:26.345438895 +0100 @@ -43,7 +43,7 @@ %bcond_without json Name: keepalived -Version: 2.0.11 +Version: 2.0.13 Release: 0 Summary: A keepalive facility for Linux License: GPL-2.0-or-later ++++++ keepalived-2.0.11.tar.gz -> keepalived-2.0.13.tar.gz ++++++ ++++ 8288 lines of diff (skipped)
