diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2011-08-15 17:00:47 +0200 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2011-08-15 17:00:47 +0200 |
commit | b8496d9a1211144b86eade1a8617e58e20d13eaa (patch) | |
tree | 2f417c4b60bb82d7a643fc7ff6bbfd58f6e284ca /pingu_iface.c | |
parent | feddb5d300640855717c4eca3002a0e4887f5da3 (diff) | |
download | pingu-b8496d9a1211144b86eade1a8617e58e20d13eaa.tar.bz2 pingu-b8496d9a1211144b86eade1a8617e58e20d13eaa.tar.xz |
pingu: implement load balancing with nexthops
We do loadbalancing by creating a new default gw with nexthops
Diffstat (limited to 'pingu_iface.c')
-rw-r--r-- | pingu_iface.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/pingu_iface.c b/pingu_iface.c index 1cf4ca6..4eef78b 100644 --- a/pingu_iface.c +++ b/pingu_iface.c @@ -154,6 +154,7 @@ void pingu_iface_gw_action(struct pingu_iface *iface, log_debug("%s: removed default gateway", iface->name); break; } + kernel_route_multipath(action, &iface_list, RT_TABLE_MAIN); } void pingu_iface_update_routes(struct pingu_iface *iface, int action) @@ -162,6 +163,7 @@ void pingu_iface_update_routes(struct pingu_iface *iface, int action) list_for_each_entry(route, &iface->gateway_list, gateway_list_entry) { kernel_route_modify(action, route, iface, RT_TABLE_MAIN); } + kernel_route_multipath(action, &iface_list, &iface->default_gw, RT_TABLE_MAIN); } int pingu_iface_set_route_table(struct pingu_iface *iface, int table) |