in linkfd.c the way vtun detects a dead network link
is in the idle loop of the select in function lfd_linker.
This works ok normally, however, if there is data
coming in on the local side, the select timeout loop
may never be executed.. and thus, vtun may never detect
the network link as being dead and dropout.
Now this obviously woulnd't be a common occurance in
normal usage, but it was with the way we were using
vtun.. and I guess if you used bridging mode it would
Here is a patch, that also makes it do echo requests if
theres been no data received within ka_interval seconds
and there is still input data on the local side.
This seems to resolve this issue for our situation.
Also.. it would be a good idea for ka_interval and
ka_failure to be able to be set in the configuration
file.. rather than just being hard coded.