The following config works as expected (since nexthop dhcp was fixed in T3395):
load-balancing { wan { interface-health eth0 { nexthop dhcp test 1 { target 8.8.8.8 type ping } } interface-health eth1 { nexthop dhcp test 1 { target 1.1.1.1 type ping } } rule 1 { inbound-interface br0 interface eth0 { } interface eth1 { } } } }
Running show wan-load-balance:
Interface: eth0 Status: active Last Status Change: Tue May 10 11:04:42 2022 +Test: ping Target: 8.8.8.8 Last Interface Success: 0s Last Interface Failure: 1h21m14s # Interface Failure(s): 0 Interface: eth1 Status: failed Last Status Change: Tue May 10 11:05:29 2022 -Test: ping Target: 1.1.1.1 Last Interface Success: n/a Last Interface Failure: 0s # Interface Failure(s): 1986
But if additional tests are performed to the same address into the health check of every interface, it will fail for all interfaces when one interface fails its checks:
load-balancing { wan { interface-health eth0 { nexthop dhcp test 1 { target 8.8.8.8 type ping } } interface-health eth1 { nexthop dhcp test 1 { target 8.8.8.8 type ping } } rule 1 { inbound-interface br0 interface eth0 { } interface eth1 { } } } }
Interface: eth0 Status: failed Last Status Change: Tue May 10 17:15:59 2022 -Test: ping Target: 8.8.8.8 Last Interface Success: n/a Last Interface Failure: 0s # Interface Failure(s): 5 Interface: eth1 Status: failed Last Status Change: Tue May 10 17:15:59 2022 -Test: ping Target: 8.8.8.8 Last Interface Success: n/a Last Interface Failure: 0s # Interface Failure(s): 5
This bug can be reproduced in 1.3.0-rc6, 1.3-rolling-202205100648 and in 1.4-rolling-202205080844.
Version: VyOS 1.3.0-rc6 Release Train: equuleus Built by: Sentrium S.L. Built on: Sun 22 Aug 2021 15:37 UTC Build UUID: 965518de-857d-4e61-ab09-381aadf24eb1 Build Commit ID: 75b37b28b2e9ab Architecture: x86_64 Boot via: installed image System type: bare metal Hardware vendor: Supermicro Hardware model: X10SLH-N6-ST031 Hardware S/N: 0123456789 Hardware UUID: Unknown Copyright: VyOS maintainers and contributors