summaryrefslogtreecommitdiff
path: root/proto/ospf
diff options
context:
space:
mode:
authorMaria Matejka <mq@ucw.cz>2020-04-10 17:08:29 +0200
committerMaria Matejka <mq@ucw.cz>2021-10-13 19:09:04 +0200
commit5cff1d5f022755df61af6fc21cc4f2e5d384404e (patch)
treed98b4b352a47257fe3943dcb050ff73c5c14aecf /proto/ospf
parenteb937358c087eaeb6f209660cc7ecfe6d6eff739 (diff)
Route: moved rte_src pointer from rta to rte
It is an auxiliary key in the routing table, not a route attribute.
Diffstat (limited to 'proto/ospf')
-rw-r--r--proto/ospf/ospf.c2
-rw-r--r--proto/ospf/rt.c3
2 files changed, 2 insertions, 3 deletions
diff --git a/proto/ospf/ospf.c b/proto/ospf/ospf.c
index 4b69e011..03b16350 100644
--- a/proto/ospf/ospf.c
+++ b/proto/ospf/ospf.c
@@ -490,7 +490,7 @@ ospf_preexport(struct proto *P, rte *e)
struct ospf_area *oa = ospf_main_area(p);
/* Reject our own routes */
- if (e->attrs->src->proto == P)
+ if (e->src->proto == P)
return -1;
/* Do not export routes to stub areas */
diff --git a/proto/ospf/rt.c b/proto/ospf/rt.c
index eb2aa393..cda464e0 100644
--- a/proto/ospf/rt.c
+++ b/proto/ospf/rt.c
@@ -2053,7 +2053,6 @@ again1:
if (nf->n.type) /* Add the route */
{
rta a0 = {
- .src = p->p.main_source,
.source = nf->n.type,
.scope = SCOPE_UNIVERSE,
.dest = RTD_UNICAST,
@@ -2064,7 +2063,7 @@ again1:
if (reload || ort_changed(nf, &a0))
{
rta *a = rta_lookup(&a0);
- rte *e = rte_get_temp(a);
+ rte *e = rte_get_temp(a, p->p.main_source);
rta_free(nf->old_rta);
nf->old_rta = rta_clone(a);