aboutsummaryrefslogtreecommitdiffstats
path: root/pingu_netlink.c
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2012-06-12 15:56:23 +0200
committerNatanael Copa <ncopa@alpinelinux.org>2012-06-12 15:59:55 +0200
commitb9e2e0193bffc4d426fc8fa65e82e6ea36f997e9 (patch)
tree9c02ff009194f94c1371a8d3cdd097383b4c126c /pingu_netlink.c
parent17214eeed5ad7029ec0f437f6952e981fe67e1a6 (diff)
downloadpingu-b9e2e0193bffc4d426fc8fa65e82e6ea36f997e9.tar.bz2
pingu-b9e2e0193bffc4d426fc8fa65e82e6ea36f997e9.tar.xz
pingu_host: bring interface down instantly if interface disapears
We need execute the down hook in case interface goes down if we have gre tunnels bound to an interface. If for example ppp0 disapears (pppd restart) and comes back before pingu notices it, the gre interface will not be bound to anything. So we force the "down" event instantly if we detect that the iface is gone.
Diffstat (limited to 'pingu_netlink.c')
-rw-r--r--pingu_netlink.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/pingu_netlink.c b/pingu_netlink.c
index 1dec0c0..e3afbf6 100644
--- a/pingu_netlink.c
+++ b/pingu_netlink.c
@@ -560,6 +560,7 @@ static void netlink_link_del_cb(struct nlmsghdr *msg)
log_info("Interface '%s' deleted", ifname);
iface->index = 0;
iface->has_link = 0;
+ pingu_host_iface_deleted(iface);
}
static void netlink_addr_new_cb(struct nlmsghdr *msg)