From 938742decc6e1d6d3a0375dd012b75172e747bbc Mon Sep 17 00:00:00 2001 From: Maria Matejka Date: Mon, 30 May 2022 12:03:03 +0200 Subject: Squashing the route attribute structure into one level. For now, all route attributes are stored as eattrs in ea_list. This should make route manipulation easier and it also allows for a layered approach of route attributes where updates from filters will be stored as an overlay over the previous version. --- proto/pipe/pipe.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'proto/pipe/pipe.c') diff --git a/proto/pipe/pipe.c b/proto/pipe/pipe.c index e458a238..bdffed3b 100644 --- a/proto/pipe/pipe.c +++ b/proto/pipe/pipe.c @@ -55,7 +55,6 @@ pipe_rt_notify(struct proto *P, struct channel *src_ch, net *n, rte *new, rte *o struct rte_src *src; rte *e; - rta *a; if (!new && !old) return; @@ -71,11 +70,8 @@ pipe_rt_notify(struct proto *P, struct channel *src_ch, net *n, rte *new, rte *o { src = new->src; - a = alloca(rta_size(new->attrs)); - memcpy(a, new->attrs, rta_size(new->attrs)); - - a->cached = 0; - ea_unset_attr(&a->eattrs, 0, &ea_gen_hostentry); + ea_list *a = new->attrs; + ea_unset_attr(&a, 0, &ea_gen_hostentry); e = rte_get_temp(a, src); e->pflags = new->pflags; -- cgit v1.2.3