Hi
@john9527, happy new year! Again your DualWAN (only?) user reporting something weird
wanduck.c, line 327, int do_ping_detect(int wan_unit), is the code that does the ping and checks for the existence of the resulting file as a flag.
Thing is, the ping is done always from the default route, no matter what wan_unit the function had as a parameter
Code:
sprintf(cmd, "ping -c 1 %s >/dev/null && touch %s", wandog_target, PING_RESULT_FILE);
line 352
This is transparent in case the main WAN unit is working, but after failover, when the router checks for connectivity on the main unit, ping requests are going to be send from the secondary unit which acts as the default route, am I right?
/bin/ping has the "'-I" parameter to specify the interface to be used, I had no luck trying to enter either wan
X_ifname not wan
X_pppoe_ifname (my wan1 is pppoe) but it seems to work with wan
X_ipaddr although that might need an additional check in the code for cases were the return value is 0.0.0.0 since that makes ping come out of the default route as well
I am also facing an issue where the failback count is not respected. I have wandog_interval=5 and wandog_fb_count=120 which should result in 10 minutes before failing back, but I have seen scenarios were it does fail back much earlier. I think "set_disconn_count(other_wan_unit, S_IDLE)" should be added before failover.
Regards,
S
--