diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2011-08-05 09:37:27 +0200 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2011-08-05 09:46:34 +0200 |
commit | dcd2b0e077ff2995660f15ef28580e8a002c5c5f (patch) | |
tree | a1e67a24467e5c9600fe738994cb7090ba6917d4 /pingu_host.h | |
parent | aff9e3e9c991544a8ade2b576da3690dc0dbb071 (diff) | |
download | pingu-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.h | 15 |
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 |