Skip to content

vrrp remains in FAULT state when dualstack is configured. #2688

@Anj1Krish

Description

@Anj1Krish

Describe the bug
VRRP status remains as FAULT.

To Reproduce

1. Create vlan interface 200
2. Assign interface ip 200.1.1.1
3. Assign interface ipv6 address 200::1
4. Enable ipv6 on interface v200
5. Configure vrrp interface 2
6. Configure vrrp ip address 200.1.1.100
7. Configure vrrp ipv6 address 200::100
8. Add vlan 200 to a port which is up 

Expected behavior
A clear and concise description of what you expected to happen.

Keepalived version

keepalived --version
Keepalived v2.2.8 (04/04,2023), git commit v2.2.7-154-g292b299e+

Copyright(C) 2001-2023 Alexandre Cassen, <acassen@gmail.com>

Built with kernel headers for Linux 6.6.0
Running on Linux 6.6.96-yocto-standard #1 SMP Tue Jul  8 12:56:33 UTC 2025
Distro:  (scarthgap)

configure options: --build=x86_64-linux --host=x86_64-poky-linux --target=x86_64-poky-linux --prefix=/usr --exec_prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/libexec --datadir=/usr/share --sysconfdir=/etc --sharedstatedir=/com --localstatedir=/var --libdir=/usr/lib --includedir=/usr/include --oldincludedir=/usr/include --infodir=/usr/share/info --mandir=/usr/share/man --disable-silent-rules --disable-dependency-tracking --with-libtool-sysroot=<scrubbed>/recipe-sysroot --disable-static --enable-libnl --enable-snmp --with-init=SYSV--disable-libiptc --disable-snmp --enable-log-file --enable-json build_alias=x86_64-linux host_alias=x86_64-poky-linux target_alias=x86_64-poky-linux PKG_CONFIG_PATH=<scrubbed>/recipe-sysroot/usr/lib/pkgconfig:<scrubbed>/recipe-sysroot/usr/share/pkgconfig PKG_CONFIG_LIBDIR=<scrubbed>/recipe-sysroot/usr/lib/pkgconfig CC=ccache x86_64-poky-linux-gcc -m64 -march=nehalem -mtune=generic -mfpmath=sse -msse4.2 -fstack-protector-strong -Wformat -Wformat-security -Werror=format-security --sysroot=<scrubbed>/recipe-sysroot CFLAGS= -O2 -pipe -g -feliminate-unused-debug-types -fcanon-prefix-map -fmacro-prefix-map=<scrubbed>/keepalived-2.2.8=/usr/src/debug/keepalived/2.2.8 -fdebug-prefix-map=<scrubbed>/keepalived-2.2.8=/usr/src/debug/keepalived/2.2.8 -fmacro-prefix-map=<scrubbed>/build=/usr/src/debug/keepalived/2.2.8 -fdebug-prefix-map=<scrubbed>/build=/usr/src/debug/keepalived/2.2.8 -fdebug-prefix-map=<scrubbed>/recipe-sysroot= -fmacro-prefix-map=<scrubbed>/recipe-sysroot= -fdebug-prefix-map=<scrubbed>/recipe-sysroot-native= -mno-avx512f LDFLAGS=-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fcanon-prefix-map -fmacro-prefix-map=<scrubbed>/keepalived-2.2.8=/usr/src/debug/keepalived/2.2.8 -fdebug-prefix-map=<scrubbed>/keepalived-2.2.8=/usr/src/debug/keepalived/2.2.8 -fmacro-prefix-map=<scrubbed>/build=/usr/src/debug/keepalived/2.2.8 -fdebug-prefix-map=<scrubbed>/build=/usr/src/debug/keepalived/2.2.8 -fdebug-prefix-map=<scrubbed>/recipe-sysroot= -fmacro-prefix-map=<scrubbed>/recipe-sysroot= -fdebug-prefix-map=<scrubbed>/recipe-sysroot-native= -Wl,-z,relro,-z,now CPPFLAGS=

Config options:  LVS VRRP VRRP_AUTH VRRP_VMAC JSON OLD_CHKSUM_COMPAT FILE_LOGGING LOG_FILE_APPEND INIT=SYSV--disable-libiptc

System options:  VSYSLOG MEMFD_CREATE IPV6_MULTICAST_ALL IPV4_DEVCONF LIBNL3 RTA_ENCAP RTA_EXPIRES RTA_NEWDST RTA_PREF FRA_SUPPRESS_PREFIXLEN FRA_SUPPRESS_IFGROUP FRA_TUN_ID RTAX_CC_ALGO RTAX_QUICKACK RTEXT_FILTER_SKIP_STATS FRA_L3MDEV FRA_UID_RANGE RTAX_FASTOPEN_NO_COOKIE RTA_VIA FRA_PROTOCOL FRA_IP_PROTO FRA_SPORT_RANGE FRA_DPORT_RANGE RTA_TTL_PROPAGATE IFA_FLAGS LWTUNNEL_ENCAP_MPLS LWTUNNEL_ENCAP_ILA NET_LINUX_IF_H_COLLISION LIBIPTC_LINUX_NET_IF_H_COLLISION LIBIPVS_NETLINK IPVS_DEST_ATTR_ADDR_FAMILY IPVS_SYNCD_ATTRIBUTES IPVS_64BIT_STATS IPVS_TUN_TYPE IPVS_TUN_CSUM IPVS_TUN_GRE VRRP_IPVLAN IFLA_LINK_NETNSID GLOB_BRACE GLOB_ALTDIRFUNC INET6_ADDR_GEN_MODE VRF SO_MARK

Distro (please complete the following information):
Name:Yocto (Poky)
Version: 2.2.0 (Scarthgap)
Architecture: x86_64
Details of any containerisation or hosted service (e.g. AWS)
NA

Configuration file:

global_defs
{
  vrrp_version 3
  enable_script_security
  script_user root
  vrrp_netlink_cmd_rcv_bufs 2097152
  vrrp_netlink_monitor_rcv_bufs 2097152
}
vrrp_sync_group VI_2_200_v200
{
  group {
    VI_2_200_6_v200
    VI_2_200_4_v200
 }
}
vrrp_instance VI_2_200_6_v200
{
  interface v200
  virtual_router_id 2
  use_vmac
  garp_master_refresh 60
  priority 100
  advert_int 1
  virtual_ipaddress
  {
    200::100
  }
}
vrrp_instance VI_2_200_4_v200
{
  interface v200
  virtual_router_id 2
  use_vmac
  garp_master_refresh 60
  priority 100
  advert_int 1
  virtual_ipaddress
  {
    200.1.1.100
  }
}

Notify and track scripts

If any notify or track scripts are in use, please provide copies of them

System Log entries

Full keepalived system log entries from when keepalived started

Did keepalived coredump?

No 

Additional context
When same steps where followed in keepalived version 2.2.2 , no issue was observed. It runs perfectly fine in following version

keepalived --version
Keepalived v2.2.2 (03/05,2021)

Copyright(C) 2001-2021 Alexandre Cassen, <acassen@gmail.com>

Built with kernel headers for Linux 5.16.0
Running on Linux 6.6.96-yocto-standard #1 SMP Tue Jul  8 12:56:33 UTC 2025
Distro:  (scarthgap)

Let me know if this issue is fixed in any later release as the issue seems related to ipv6 . If i remove the vrrp ipv6 configuration vrrp instance comes up as Master. Also if the vlan is already added to port (interface up) , then dualstack config works .

Logs given below when dualstack is confgured

Mon Feb 23 10:12:15.812484244 2026: Reloading
Mon Feb 23 10:12:15.812839955 2026: Assigned address 200.1.1.1 for interface v200
Mon Feb 23 10:12:15.813179352 2026: (VI_2_200_v200): Success creating VMAC interface vrrp2.2
Mon Feb 23 10:12:15.813375593 2026: (VI_2_200_v200): entering FAULT state (interface v200 down)
Mon Feb 23 10:12:15.813391644 2026: (VI_2_200_v200): entering FAULT state (interface vrrp2.2 down)
Mon Feb 23 10:12:15.813401204 2026: (VI_2_200_v200) entering FAULT state
Mon Feb 23 10:12:15.813408073 2026: send_instance_notifies to VRRPD daemon when any state change
Mon Feb 23 10:12:15.924138608 2026: send_vrrp_state_change_to_vrrpd system cmd successfull exec dcli vrrpd show fault-alarm VI_2_200_v200 2 v200
Mon Feb 23 10:12:15.924212433 2026: Registering gratuitous ARP shared channel
Mon Feb 23 10:12:15.924398091 2026: (VI_2_200_v200) removing VIPs.
Mon Feb 23 10:12:15.924456076 2026: VRRP sockpool: [ifindex(204), family(IPv4), proto(112), fd(14,15) multicast, address(224.0.0.18)]
Mon Feb 23 10:12:40.031387372 2026: Reloading
Mon Feb 23 10:12:40.031656897 2026: (VI_2_200_6_v200) the first IPv6 VIP address should be link local
Mon Feb 23 10:12:40.031694970 2026: Assigned address 200.1.1.1 for interface v200
Mon Feb 23 10:12:40.032031977 2026: (VI_2_200_6_v200): Success creating VMAC interface vrrp3.2
Mon Feb 23 10:12:40.032254878 2026: Assigned address fe80::d276:8fff:fe66:b521 for interface vrrp3.2
Mon Feb 23 10:12:40.032276812 2026: (VI_2_200_4_v200) Found matching interface vrrp2.2
Mon Feb 23 10:12:40.032300278 2026: (VI_2_200_6_v200): entering FAULT state (interface v200 down)
Mon Feb 23 10:12:40.032308697 2026: (VI_2_200_4_v200): entering FAULT state (interface v200 down)
Mon Feb 23 10:12:40.032315238 2026: (VI_2_200_4_v200): entering FAULT state (interface vrrp2.2 down)
Mon Feb 23 10:12:40.032322666 2026: (VI_2_200_6_v200): entering FAULT state (interface vrrp3.2 down)
Mon Feb 23 10:12:40.032329515 2026: (VI_2_200_6_v200) entering FAULT state (no IPv6 address for interface)
Mon Feb 23 10:12:40.032336991 2026: VRRP_Group(VI_2_200_v200): Syncing VI_2_200_6_v200 to FAULT state
Mon Feb 23 10:12:40.032344311 2026: (VI_2_200_6_v200) entering FAULT state
Mon Feb 23 10:12:40.032351358 2026: send_instance_notifies to VRRPD daemon when any state change
Mon Feb 23 10:12:40.143439325 2026: send_vrrp_state_change_to_vrrpd system cmd successfull exec dcli vrrpd show fault-alarm VI_2_200_6_v200 10 v200
Mon Feb 23 10:12:40.143516409 2026: Registering gratuitous NDISC shared channel
Mon Feb 23 10:12:40.143859341 2026: (VI_2_200_6_v200) removing VIPs.
Mon Feb 23 10:12:40.143890281 2026: (VI_2_200_4_v200) removing VIPs.
Mon Feb 23 10:12:40.143924421 2026: VRRP sockpool: [ifindex(205), family(IPv6), proto(112), fd(14,15) multicast, address(ff02::12)]
Mon Feb 23 10:12:40.143944331 2026: VRRP sockpool: [ifindex(204), family(IPv4), proto(112), fd(17,18) multicast, address(224.0.0.18)]
Mon Feb 23 10:12:59.135784488 2026: Netlink reports v200 up
Mon Feb 23 10:12:59.135874687 2026: Netlink reports vrrp2.2 up
Mon Feb 23 10:12:59.135919492 2026: Netlink reports vrrp3.2 up
Mon Feb 23 10:13:00.950706255 2026: Assigned address fe80::d276:8fff:fe66:b521 for interface v200

Removed vrrp ipv6 address ---------> vrrp instance change state to MASTER

Mon Feb 23 10:13:46.853961669 2026: Reloading
Mon Feb 23 10:13:46.854652783 2026: (VI_2_200_v200) Found matching interface vrrp2.2
Mon Feb 23 10:13:46.854704748 2026: Assigned address 200.1.1.1 for interface v200
Mon Feb 23 10:13:46.854735628 2026: Assigned address fe80::d276:8fff:fe66:b521 for interface v200
Mon Feb 23 10:13:46.896612722 2026: (VI_2_200_6_v200) Success removing VMAC interface vrrp3.2
Mon Feb 23 10:13:46.896672292 2026: Interface vrrp3.2 deleted
Mon Feb 23 10:13:46.896791093 2026: (VI_2_200_v200) removing VIPs.
Mon Feb 23 10:13:46.896806043 2026: (VI_2_200_v200) Entering BACKUP STATE (init)
Mon Feb 23 10:13:46.896814288 2026: send_instance_notifies to VRRPD daemon when any state change
Mon Feb 23 10:13:47.006019939 2026: send_vrrp_state_change_to_vrrpd system cmd successfull exec dcli vrrpd show slave-alarm VI_2_200_v200 vrrp2.2 2 v200
Mon Feb 23 10:13:47.006088573 2026: VRRP sockpool: [ifindex(204), family(IPv4), proto(112), fd(14,15) multicast, address(224.0.0.18)]
Mon Feb 23 10:13:50.615483329 2026: (VI_2_200_v200) Receive advertisement timeout
Mon Feb 23 10:13:50.615638548 2026: (VI_2_200_v200) Entering MASTER STATE
Mon Feb 23 10:13:50.615674102 2026: (VI_2_200_v200) setting VIPs.
Mon Feb 23 10:13:50.615857366 2026: (VI_2_200_v200) Sending/queueing gratuitous ARPs on vrrp2.2 for 200.1.1.100

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions