Page MenuHomeVyOS Platform

arp-monitor on bond interface does not commit
Closed, ResolvedPublicBUG

Description

arp-monitor on bond interface will not commit.

vyos@vyos# show interfaces bonding bond0 arp-monitor 
+interval 10000
+target 192.168.1.10
[edit]
vyos@vyos# commit
[ interfaces bonding bond0 arp-monitor interval 10000 ]
sh: line 0: echo: write error: Invalid argument

[[interfaces bonding bond0]] failed
Commit failed

bonding config -

vyos@vyos# show interfaces bonding 
 bonding bond0 {
     address 192.168.1.1/24
+    arp-monitor {
+        interval 10000
+        target 192.168.1.10
+    }
     description "Interface Bond"
     firewall {
     }
     hash-policy layer2
     mode 802.3ad
 }

Details

Difficulty level
Unknown (require assessment)
Version
1.1.8
Why the issue appeared?
Will be filled on close

Event Timeline

@xrpixer thanks for submitting. Any change you could double check it on a recent nightly build of VyOs 1.2.x? => https://downloads.vyos.io/?dir=rolling/current/amd64

Sorry for the late response on this.

I checked the nightly build. The error still exists there, but the message is much more clear.

option arp_interval: mode dependency failed, not supported in mode 802.3ad(4)

Ah! This makes sense.
It got me looking at how this should actually work.
arp_interval is used to detected dead links. When using mode 4, this is done using miimon.
Using the two in junction is not possible according to this -
https://www.kernel.org/doc/Documentation/networking/bonding.txt

I did find that if you configure arp monitor and then afterwards configured the mode and hash policy it would actually commit. However, if you look at the underlying config in /sys/class/net/bondx/bonding/arp_interval, it is set back to 0 and miimon is configured.

Anyway, I ran across this when working with bonding to a set of switches. I later got it to work when bonding to a different vendors switches, thus the arp-monitor was never the issue.

Thus, i'm an idiot. haha

Thanks!!

xrpixer claimed this task.

@xrpixer thank you very much for the clarification. Hopefully other users can benefit from it, too.