Page MenuHomeVyOS Platform

VPP Bond Subinterface Reconfiguration Causes Bond Connectivity Loss
Closed, ResolvedPublicBUG

Description

Hello,

I found another issue related to VPP bonding and VLAN subinterfaces.

Reconfiguring a single subinterface on a bonded VPP interface causes all subinterfaces on the bond to go down, resulting in loss of connectivity across the entire bonded interface.

This makes the solution unstable in my environments.

vpp {
    bonding vppbond0 {
        hash-policy layer3+4
        member {
            interface eth6
            interface eth7
            interface eth8
            interface eth9
        }
        mode 802.3ad
        mtu 1500
        vif 38 {
            address 198.51.100.2/30
            address 2001:db8:100::2/126
            mtu 1500
        }
        vif 30 {
            address 203.0.113.2/24
            mtu 1500
        }
    }
}

}

Initial state:

vyos@r1# run show interfaces vpp

BondEthernet0 bond 02:fe:d9:33:87:4d 9000 up
BondEthernet0.38 bond 198.51.100.2/30 00:00:00:00:00:00 1500 up
BondEthernet0.30 bond 203.0.113.2/24 00:00:00:00:00:00 1500 up

Removing a single IPv6 address from one VLAN subinterface:

delete interfaces vpp bonding vppbond0 vif 38 address 2001:db8:100::2/126

Immediately causes both VLAN subinterfaces to transition to DOWN state:

vyos@r1# run show interfaces vpp

BondEthernet0 bond 02:fe:3e:39:fa:41 9000 up
BondEthernet0.38 bond 198.51.100.2/30 00:00:00:00:00:00 1500 down
BondEthernet0.30 bond 203.0.113.2/24 00:00:00:00:00:00 1500 down

Additional observations:

BondEthernet0 itself remains UP

All underlying DPDK interfaces remain operational

The issue appears to affect only VLAN subinterfaces on the VPP bonded interface

MAC addresses on subinterfaces are displayed as 00:00:00:00:00:00

VPP logs also report:
Secondary MAC Addresses not supported for interface index 0

This behavior is reproducible and occurs during normal configuration changes such as adding/removing IP addresses from a single VIF.

Environment:

VyOS rolling / 2026.03

VPP dataplane

LACP bond with multiple VLAN subinterfaces

Please let me know if additional debugging information is required.

Details

Version
1.5
Is it a breaking change?
Unspecified (possibly destroys the router)
Issue type
Bug (incorrect behavior)

Event Timeline

The issue only occurs when active BGP sessions are present.
If BGP neighbors are administratively shut down before committing the change, the VPP bond subinterfaces remain UP and operate normally after the commit.

With active BGP sessions, removing an IPv6 address from a bond VIF causes all bond subinterfaces to transition to DOWN state and BGP sessions flap/reset.

Additionally, when BGP sessions are established and the router has a full routing table installed, even non-functional configuration changes โ€” for example changing only the interface description โ€” may bring VPP subinterfaces down during commit.

Example:
changing only:
set interfaces vpp bonding vppbond0 vif 30 description ...

causes:

VPP VLAN subinterfaces to down,
Keepalived to enter FAULT state,
and FRR/zebra dataplane installation failures.

This issue does not occur consistently when BGP sessions are not established.

c-po triaged this task as Normal priority.
Viacheslav moved this task from Need Triage to Completed on the VyOS Rolling board.