From 5cff1d5f022755df61af6fc21cc4f2e5d384404e Mon Sep 17 00:00:00 2001 From: Maria Matejka Date: Fri, 10 Apr 2020 17:08:29 +0200 Subject: Route: moved rte_src pointer from rta to rte It is an auxiliary key in the routing table, not a route attribute. --- sysdep/unix/krt.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'sysdep/unix') diff --git a/sysdep/unix/krt.c b/sysdep/unix/krt.c index 65d8d968..c03fa047 100644 --- a/sysdep/unix/krt.c +++ b/sysdep/unix/krt.c @@ -300,7 +300,7 @@ krt_learn_announce_update(struct krt_proto *p, rte *e) { net *n = e->net; rta *aa = rta_clone(e->attrs); - rte *ee = rte_get_temp(aa); + rte *ee = rte_get_temp(aa, p->p.main_source); ee->pflags = EA_ID_FLAG(EA_KRT_SOURCE) | EA_ID_FLAG(EA_KRT_METRIC); ee->u.krt = e->u.krt; rte_update(&p->p, n->n.addr, ee); @@ -909,7 +909,7 @@ static int krt_preexport(struct proto *P, rte *e) { // struct krt_proto *p = (struct krt_proto *) P; - if (e->attrs->src->proto == P) + if (e->src->proto == P) return -1; if (!krt_capable(e)) -- cgit v1.2.3