Health check for WAN load balancing interface, how to stop it from testing next-hop?

My WAN load balancing config is

 wan {
     flush-connections
     interface-health eth0 {
         nexthop dhcp
     }
     interface-health eth2 {
         nexthop 192.168.88.1
         test 1 {
             target 8.8.8.8
         }
     }
     rule 1 {
         failover
         inbound-interface eth1
         interface eth0 {
             weight 2
         }
         interface eth2 {
             weight 1
         }
     }
 }

The WAN on eth2 is using a local bridge so it’s not really helpful to test if the next-hop is pingable to know whether to keep it active. So this is why it has a test to ping 8.8.8.8.
Yet when I run the show wan-load-balance command it flips between the following two.
With the latter being shown most of the time.

Interface:  eth2
  Status:  failed
  Last Status Change:  Tue May  7 18:40:27 2024
  -Test:  ping  Target: 8.8.8.8
    Last Interface Success:  n/a                
    Last Interface Failure:  0s 
    # Interface Failure(s):  917

Interface:  eth2
  Status:  active
  Last Status Change:  Tue May  7 17:27:27 2024
  +Test:  ping  Target: 192.168.88.1
    Last Interface Success:  0s 
    Last Interface Failure:  n/a                
    # Interface Failure(s):  0

Why is the health check still testing the next-hop IP when that’s not listed in the tests. And why does it flip between tests when running the show command?
I’m running the 1.4.0-epa2 build on this box.

It seems like a bug, but because this is my first time trying to use this feature I’m not confident it’s not just a misunderstanding or user error.

You could probably remove the interface-health lines to make it stop checking your nexthop if you think thats unnecessary?

Well I do want the health check to ping 8.8.8.8 as a test, but VyOS also appears to be checking next-hop and switching between active and failed because next-hop is pingable even though it’s actually not able to get out to the Internet.
It’s not possible to create a health check without specifying next-hop.

What I would have expected is that if I create test rules, those rules would be used instead of a default check to next-hop.

You should ping external hosts (in the Internet) instead of some hosts in you LAN.

You can add static route to e.g. 1.1.1.1/32 via WAN1 and route to 1.1.1.2/32 via WAN2. Then you can use 1.1.1.1 and 1.1.1.2 to monitor health of WAN1 and WAN2.

BTW VyOS 1.4 has second WAN failover mechanism: please search docs for ‘protocol failover’.