aboutsummaryrefslogtreecommitdiffstats
path: root/pingu_iface.c
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2011-09-09 11:08:24 +0200
committerNatanael Copa <ncopa@alpinelinux.org>2011-09-09 11:48:23 +0200
commit3236826dd6ae7f441f166ed1c58ffa328fc3b728 (patch)
treef50871bbeae1d20226f2833b15ad75844102f2f4 /pingu_iface.c
parent13f678af89969ff8701b90c5589fdc2044360a17 (diff)
downloadpingu-3236826dd6ae7f441f166ed1c58ffa328fc3b728.tar.bz2
pingu-3236826dd6ae7f441f166ed1c58ffa328fc3b728.tar.xz
pingu_iface: only update default route in main route table
This is related the d3c9eca81e94978284e619aca58cee93977f30a7 fix where we save all the routes in list, not only default gateways.
Diffstat (limited to 'pingu_iface.c')
-rw-r--r--pingu_iface.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/pingu_iface.c b/pingu_iface.c
index cb8d584..9f63587 100644
--- a/pingu_iface.c
+++ b/pingu_iface.c
@@ -170,7 +170,8 @@ 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);
+ if (is_default_gw(route) && iface->has_address)
+ kernel_route_modify(action, route, iface, RT_TABLE_MAIN);
}
kernel_route_multipath(action, &iface_list, RT_TABLE_MAIN);
}