dpinger failing to detect up connection

Started by cpw, May 26, 2020, 04:26:24 PM

Previous topic - Next topic
Is dpinger supposed to detect a working link, after a temporary outage?

It seems that on a pretty regular basis, dpinger detects down for a link, and continues doing so indefinitely, even if the interruption was momentary. It only recovers (and gateways associated with the dpinger process) when you restart the dpinger process manually.

Is this by design? Do I need to tell monit to kick them every 5 minutes to ensure they work somewhat reliably?

Update, I'm hoping someone can help here.

It seems that dpinger reports
#define ENETDOWN 50 /* Network is down */
and never recovers from this state.

Specifically, dpinger is monitoring a PPPOE connection, which occasionally drops for reasons, and recycles. The dpinger process might be stuck with an old "dead" connection, which is no longer going to be valid, after the PPPOE connection resumes. Is there a way to tell dpinger to start again in this case? I have monit monitoring everything in case something crashes (dpinger sometimes crashes to the floor in these circumstances).

Where is the code for dpinger? I don't see anything specific for it in the opnsense github. Are you using https://github.com/dennypage/dpinger ?


yes, we're using  https://github.com/dennypage/dpinger (see https://github.com/opnsense/ports/blob/master/net/dpinger/Makefile).

Unfortunately I can't really help you with your question, although it sounds a bit odd if it doesn't recover from a disconnected network, if the address is lost, usually a reconnect will automatically signal dpinger with a monitoring event. (https://github.com/opnsense/core/blob/6529ef77efaefb9723d2b20c1c8b1ba839687625/src/etc/rc.newwanip#L155)

Best regards,

Ad

I think in the case of a pppoe disconnection event, the network interface itself goes away, which might be confusing dpinger, hence why it doesn't recover. See the github issue I opened: https://github.com/opnsense/core/issues/4149

Although i would really love to use this product the inability of dpinger to detect a failed connection and this is not only on pppoe, the same happens on ipsec vti interfaces lead me to return to pfsense.
My scenario has 2 wan pppoe(vdsl) connections 6 vpn ipsec(VTI) tunnels and bgp running on all ipsec connections.
I had to be on top of the box constantly to push a button and do a fake change on gateways in order dpinger to start working correctly.
I would really like to see this feature fixed and try this once again.