Page MenuHomeVyOS Platform

Duplicate Address Detection Breaks Interfaces
Closed, ResolvedPublicBUG

Description

On the testing rolling-release here:
https://ci.vyos.net/job/vyos-build/job/current/688/artifact/build/live-image-amd64.hybrid.iso

Interfaces which have dup-addr-detect-transmits set fail to start on boot or commit:

vyos@cr01b-vyos# commit
[ interfaces bonding bond1 ipv6 dup-addr-detect-transmits 0 ]
Fatal error: exception Invalid_argument("compare: abstract value")
[ interfaces bonding bond1 ipv6 dup-addr-detect-transmits 0 ]
Invalid value
[[interfaces bonding bond1]] failed
Commit failed

Details

Difficulty level
Easy (less than an hour)
Version
https://ci.vyos.net/job/vyos-build/job/current/688/artifact/build/live-image-amd64.hybrid.isozzz
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Perfectly compatible
Issue type
Bug (incorrect behavior)

Event Timeline

I couldn't reproduce this on my own build I made yesterday, I'll try it with the above ISO

That build was given to me to test in #lobby by Thomas Mangin, so he may be able to tell you more about it if needed.

jjakob changed the task status from Open to Confirmed.May 9 2020, 11:05 AM
jjakob triaged this task as Unbreak Now! priority.

Reproduced with 1.3-rolling-202005090117

This is an issue with the new OCaml validator 29dee3abb55d0f0c6b91b311f30521b45d7e46b6 @dmbaturin

@dmbaturin numeric breaks with --non-negative 0 (should be true)

$ /usr/libexec/vyos/validators/numeric --non-negative 0
Fatal error: exception Invalid_argument("compare: abstract value")

As a workaround you can set it to a non-0 value to make the interface work. Obviously it changes the configuration so it doesn't fix the issue.

dmbaturin edited projects, added test; removed Restricted Project.
erkin set Issue type to Bug (incorrect behavior).Aug 30 2021, 6:18 AM
erkin removed a subscriber: Active contributors.
Viacheslav claimed this task.

Not reproducible in 1.2.8 / 1.3-beta-202108300342

root@r4-1:/home/vyos# /usr/libexec/vyos/validators/numeric --non-negative 0
root@r4-1:/home/vyos# echo $?
0

Config:

[email protected]:~$ show conf com | match bond
set interfaces bonding bond1 address '192.0.2.1/24'
set interfaces bonding bond1 ipv6 address eui64 '2001:db8::/64'
set interfaces bonding bond1 ipv6 dup-addr-detect-transmits '0'
set interfaces bonding bond1 member interface 'eth1'