aboutsummaryrefslogtreecommitdiffstats
path: root/pingu_host.h
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2011-08-05 09:37:27 +0200
committerNatanael Copa <ncopa@alpinelinux.org>2011-08-05 09:46:34 +0200
commitdcd2b0e077ff2995660f15ef28580e8a002c5c5f (patch)
treea1e67a24467e5c9600fe738994cb7090ba6917d4 /pingu_host.h
parentaff9e3e9c991544a8ade2b576da3690dc0dbb071 (diff)
downloadpingu-dcd2b0e077ff2995660f15ef28580e8a002c5c5f.tar.bz2
pingu-dcd2b0e077ff2995660f15ef28580e8a002c5c5f.tar.xz
pingu: implement new config format
New format allows users to define interfaces and ping hosts separately. This means we can run pingu in routing-only mode to set up and manage route tables for multi-isp. We allow the user config a preferred alternate route table for each interface. If not configured, pingu will pick one. Example interface definition looks like: interface eth0 { route-table 10 } Example host definition looks like: host 192.168.0.1 { bind-interface eth0 }
Diffstat (limited to 'pingu_host.h')
-rw-r--r--pingu_host.h15
1 files changed, 8 insertions, 7 deletions
diff --git a/pingu_host.h b/pingu_host.h
index f19c461..71e83a7 100644
--- a/pingu_host.h
+++ b/pingu_host.h
@@ -8,14 +8,10 @@
struct pingu_host {
struct list_head host_list_entry;
char *host;
- char *source_ip;
char *label;
- char *interface;
- char *gateway;
- char *up_action;
- char *down_action;
+ const char *up_action;
+ const char *down_action;
int status;
- int iface_route_table;
int max_retries;
int required_replies;
ev_tstamp timeout;
@@ -26,8 +22,13 @@ struct pingu_host {
struct pingu_iface *iface;
};
+struct pingu_host *pingu_host_new(char *hoststr, float burst_interval,
+ int max_retries, int required_replies,
+ float timeout,
+ const char *up_action,
+ const char *down_action);
int pingu_host_set_status(struct pingu_host *host, int status);
-int pingu_host_init(struct ev_loop *loop, const char *config_file);
+int pingu_host_init(struct ev_loop *loop);
int pingu_host_verify_status(struct ev_loop *loop, struct pingu_host *host);
#endif