VyOS 1.4 - Reconfig of bonding interface cause physical nic reset

Hi,

we found some strange behavior in combination with the configuration of an existing bonding interface.
If we try to update for example an description, an vif interface or only an ip address witch runs on the bond all the physical interfaces which are connected to the bond are resetting after the commit.
This causes disconnects in BGP sessions an so on.

The issue is for us reproducible with the following releases:

  • vyos-1.4-rolling-202211280318-amd64
  • vyos-1.4-rolling-202210141828-amd64
  • vyos-1.4-rolling-202209090217-amd64

The issue exists not in the release:

  • vyos-1.4-rolling-202208100217-amd64

The bond interface is configured as follows:

set interfaces bonding bond0 member interface ‘eth2’
set interfaces bonding bond0 member interface ‘eth3’
set interfaces bonding bond0 mode ‘802.3ad’
set interfaces bonding bond0 vif 61 address ‘10.11.12.13/24’
set interfaces bonding bond0 vif 61 description ‘XXX’
set interfaces bonding bond0 vif 61 ip enable-proxy-arp
set interfaces bonding bond0 vif 61 mtu ‘1500’

I dont know if im right but i think there is a relation between this issue an these two commits:
https://phabricator.vyos.net/T4668

The kernel log shows while and after the commit messages like this:

Our first idea was, maybe the mellanox nic firmware or driver caused the problem but the problem even exists with intel nics.

Hope you can help.
Thank you,
Florian

Hey Florian,

I was having a similar issue using bonding with VRRP and vifs. The solution I found out is using a bridge or pseudo-ethernet device attached to the bond vif so that I can enable / disable the specific interface without causing the entire bond to flap and trigger VRRP.

Let me know if this helped at all, I’m not a developer on this so the best I can do is workaround.