diff options
Diffstat (limited to 'proto/static')
-rw-r--r-- | proto/static/Makefile | 10 | ||||
-rw-r--r-- | proto/static/static.c | 10 |
2 files changed, 6 insertions, 14 deletions
diff --git a/proto/static/Makefile b/proto/static/Makefile index 61fadbea..3ace39cf 100644 --- a/proto/static/Makefile +++ b/proto/static/Makefile @@ -1,6 +1,4 @@ -source=static.c -root-rel=../../ -dir-name=proto/static - -include ../../Rules - +src := static.c +obj := $(src-o-files) +$(all-daemon) +$(cf-local) diff --git a/proto/static/static.c b/proto/static/static.c index 6239fccb..28cb1e77 100644 --- a/proto/static/static.c +++ b/proto/static/static.c @@ -60,7 +60,6 @@ p_igp_table(struct proto *p) static void static_install(struct proto *p, struct static_route *r, struct iface *ifa) { - net *n; rta a; rte *e; @@ -112,15 +111,13 @@ static_install(struct proto *p, struct static_route *r, struct iface *ifa) /* We skip rta_lookup() here */ - n = net_get(p->main_channel->table, r->net); e = rte_get_temp(&a); - e->net = n; e->pflags = 0; if (r->cmds) f_eval_rte(r->cmds, &e, static_lp); - rte_update(p, n, e); + rte_update(p, r->net, e); r->installed = 1; if (r->cmds) @@ -130,14 +127,11 @@ static_install(struct proto *p, struct static_route *r, struct iface *ifa) static void static_remove(struct proto *p, struct static_route *r) { - net *n; - if (!r->installed) return; DBG("Removing static route %N via %I\n", r->net, r->via); - n = net_find(p->main_channel->table, r->net); - rte_update(p, n, NULL); + rte_update(p, r->net, NULL); r->installed = 0; } |