Date: Thu, 6 Aug 2020 14:58:53 -0700 From: Don Wilde <dwilde1@gmail.com> To: Aryeh Friedman <aryeh.friedman@gmail.com> Cc: FreeBSD Mailing List <freebsd-questions@freebsd.org> Subject: Re: Unroutable packer to specific IP forces process to run Message-ID: <af53089c-34ea-696a-eff5-2cfd6a09a26a@gmail.com> In-Reply-To: <CAGBxaX=%2BX1un=w_moJsKO9tmgP6E1XW2jkeLj8vKmPmNAgaS0Q@mail.gmail.com> References: <CAGBxaX=yaBuz35VmfH4WypGz7v3LuvP52Sfwd1hfmwEy7YkCdQ@mail.gmail.com> <89e3f48c-74a1-4198-6b17-7e13a026225b@gmail.com> <CAGBxaX=fonb5R0OhnV8r8KGmqxe7F18FNzXFT2VhNu_dq1cYhQ@mail.gmail.com> <491b2176-7886-7c90-a9a4-f3a6a6a98c08@gmail.com> <CAGBxaX=%2BX1un=w_moJsKO9tmgP6E1XW2jkeLj8vKmPmNAgaS0Q@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 8/6/20 2:40 PM, Aryeh Friedman wrote: > > > On Thu, Aug 6, 2020 at 5:39 PM Don Wilde <dwilde1@gmail.com > <mailto:dwilde1@gmail.com>> wrote: > > > On 8/6/20 2:35 PM, Aryeh Friedman wrote: >> >> >> On Thu, Aug 6, 2020 at 5:33 PM Don Wilde <dwilde1@gmail.com >> <mailto:dwilde1@gmail.com>> wrote: >> >> >> On 8/6/20 2:30 PM, Aryeh Friedman wrote: >> > I have VPN that has stability problems (the fault of the >> ISP and they admit >> > it) I have set up one my FreeBSD machine as a router for >> that specific VPN: >> > # on non-gateway machines in /etc/rc.conf >> > static_routes="internalnet2" >> > route_internalnet2="-net 10.31.10.0/24 >> <http://10.31.10.0/24> 192.168.11.60" >> > >> > Is there any way to force the gateway machine to run a >> preset command if >> > 10.31.10.0/24 <http://10.31.10.0/24> is unreachable? (i.e. >> reset the connection) >> What about a simple scripted cron-job ping, Aryeh? Sometimes the >> simplest solutions are the best. >> >> >> The amount time the connection stays up is unpredictable and due >> to the use case it needs to be repaired immediately if down (not >> even a 5 min delay for cron to do its normal wake up and look for >> a job is acceptable) > > Understood. > > So how about a simple C daemon that pings every ten seconds? Just > set the ping count to 1. > > > System load. (the gateway also hosts 3 moderately used VM's) Okay, so forget a system() call to ping. Send a packet directly to something on the target from the C code. Even simpler, just call getaddrinfo() on host:port of a machine at the "other" end. Honestly, I don't think you can get any simpler than this, Aryeh. There's only so much you can juggle, and no existing package is going to be any faster or more specifically better than what you code yourself. Take a break, drink some coffee, and approach it with a refreshed brain. You do have the resources you need to solve this and I *know* you're good enough to do so. I do understand what you're trying to do. I had my programmers build international database and site replication into a raw C module for Apache 1.3 many dozens of moons ago. We also, IIRC, talked about how your bosses are screwing you out of necessary resources. Sooner or later you're going to have to address that issue head-on, but YMMV and beyond what we've already discussed it's not my business. All the best! :D -- Don Wilde **************************************************** * What is the Internet of Things but a system * * of systems including humans? * ****************************************************
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?af53089c-34ea-696a-eff5-2cfd6a09a26a>
