From c761f12b0a67412cde8a4693f1e8d6aa14c0b70e Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Fri, 29 Jul 2011 14:27:46 +0200 Subject: pingu: remove default gw from main route table when isp goes down --- pingu_iface.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'pingu_iface.c') diff --git a/pingu_iface.c b/pingu_iface.c index 30cbe9a..78d8e9a 100644 --- a/pingu_iface.c +++ b/pingu_iface.c @@ -17,6 +17,7 @@ #include "pingu_host.h" #include "pingu_iface.h" #include "pingu_ping.h" +#include "pingu_netlink.h" #include "sockaddr_util.h" static struct list_head iface_list = LIST_INITIALIZER(iface_list); @@ -245,6 +246,14 @@ void pingu_iface_gw_action(struct pingu_iface *iface, pingu_iface_gateway_dump(iface); } +void pingu_iface_update_routes(struct pingu_iface *iface, int action) +{ + struct pingu_gateway *route; + list_for_each_entry(route, &iface->gateway_list, gateway_list_entry) { + kernel_route_modify(action, route, iface, RT_TABLE_MAIN); + } +} + int pingu_iface_init(struct ev_loop *loop, struct list_head *host_list) { struct pingu_host *host; -- cgit v1.2.3