Bug 2172293

Summary: use_vmac not allowed with unicast vrrp, after keepalived update to 2.1.5-9
Product: Red Hat Enterprise Linux 8 Reporter: Curtis Taylor <cutaylor>
Component: keepalivedAssignee: Ryan O'Hara <rohara>
Status: NEW --- QA Contact: cluster-qe <cluster-qe>
Severity: high Docs Contact:
Priority: high    
Version: 8.7CC: cluster-maint, kwalker, mmhatre
Target Milestone: rcFlags: cutaylor: needinfo? (kwalker)
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Curtis Taylor 2023-02-21 21:10:30 UTC
Description of problem:
After update from keepalived 2.0.10 to 2.1.5-9 in RHEL8 attempt to use use_vmac reports:

    Cannot use VMAC/ipvlan with unicast peers - clearing use_vmac

This worked in Keepalived 2.0.10.

Keepalived VRRP cluster should support the use of use_vmac, vmac_xmit_base and unicast peering.

Needed commit:

https://github.com/acassen/keepalived/pull/1733/commits/97429b3b7e6ec2f5b9c93a5d507b152bab30f919

Version-Release number of selected component (if applicable):
keepalived 2.1.5-9.

How reproducible:

Steps to Reproduce:
1. 
Start keepalived to 
$ cat keepalived.conf
! Configuration File for keepalived

global_defs {
    vrrp_version 3
    enable_script_security
    script_user root
    nftables
}

vrrp_script check_peer_HE {
    script /usr/local/bin/check_peer_HE.sh
    interval 2
}

vrrp_instance VI_1 {
    interface core
    use_vmac
    vmac_xmit_base
    priority 100
    advert_int 1
    virtual_router_id 51
    virtual_ipaddress {
        10.0.0.1
    }
    unicast_src_ip 10.0.0.3
    unicast_peer {
      10.0.0.2
    }
    track_script {
	check_peer_HE
    }
    garp_master_delay 10
    garp_master_repeat 1
    garp_lower_prio_delay 10
    garp_lower_prio_repeat 1
    garp_master_refresh 60
    garp_master_refresh_repeat 2
}

Actual results:

    Cannot use VMAC/ipvlan with unicast peers - clearing use_vmac

Expected results:

Keepalived allows use_vmac with vmac_xmit_base set.

Additional info:

This is affecting a production environment, by disabling use_vmac capability and reducing high availability of a network system which contains devices that require long lived arp caches. These devices are unable to handle the failover of VRRP clusters with out the use_vmac feature.

Customer provided link to regression fix from upstream source: https://github.com/acassen/keepalived/pull/1733/commits/97429b3b7e6ec2f5b9c93a5d507b152bab30f919

Comment 6 Mithil Mhatre 2023-07-25 02:15:05 UTC
Hello Team,

Any update on this?