Page MenuHomeVyOS Platform

Duplicate Address Detection Breaks Interfaces
Confirmed, Unbreak Now!PublicBUG

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

Event Timeline

jjakob added a subscriber: jjakob.May 8 2020, 8:14 AM

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

pasik added a subscriber: pasik.May 8 2020, 9:33 AM

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.