aboutsummaryrefslogtreecommitdiffstats
path: root/pingu_iface.h
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2011-10-07 16:10:10 +0200
committerNatanael Copa <ncopa@alpinelinux.org>2011-10-07 16:10:10 +0200
commit2b4edba3ad8431f8bd8b7218e9f8a5a5e4ee18ac (patch)
tree6561f793b675ae209e6936d8bf9f25f5749df9d1 /pingu_iface.h
parentf8b192af8b6611c3832df3024cbabaafffb47591 (diff)
downloadpingu-2b4edba3ad8431f8bd8b7218e9f8a5a5e4ee18ac.tar.bz2
pingu-2b4edba3ad8431f8bd8b7218e9f8a5a5e4ee18ac.tar.xz
pingu_iface: support binding multiple ping hosts to same iface
Add config option for executing actions when interface gateway goes up/down. Add config option for required hosts up per interface (defaults to 1)
Diffstat (limited to 'pingu_iface.h')
-rw-r--r--pingu_iface.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/pingu_iface.h b/pingu_iface.h
index 14f8ba5..e6c8b24 100644
--- a/pingu_iface.h
+++ b/pingu_iface.h
@@ -12,6 +12,12 @@
struct pingu_iface {
char name[32];
+ char *label;
+ char *gw_up_action;
+ char *gw_down_action;
+ int hosts_online;
+ int required_hosts_online;
+
int index;
int has_link;
int has_address;
@@ -39,7 +45,10 @@ int pingu_iface_init(struct ev_loop *loop);
void pingu_iface_set_balance(struct pingu_iface *iface, int balance_weight);
void pingu_iface_set_addr(struct pingu_iface *iface, int family,
void *data, int len);
+void pingu_iface_adjust_hosts_online(struct pingu_iface *iface, int adjustment);
int pingu_iface_set_route_table(struct pingu_iface *iface, int table);
+
+int pingu_iface_gw_is_online(struct pingu_iface *iface);
void pingu_iface_gw_action(struct pingu_iface *iface,
struct pingu_route *gw, int action);
void pingu_iface_update_routes(struct pingu_iface *iface, int action);