summaryrefslogtreecommitdiff
path: root/proto
diff options
context:
space:
mode:
authorMaria Matejka <mq@ucw.cz>2022-02-11 22:29:13 +0100
committerMaria Matejka <mq@ucw.cz>2022-03-09 11:27:34 +0100
commit8a4bc4fdbf2f4c6ccaa684c922779ddc11489e68 (patch)
treef763a7e90fea42a258b3b7d998aba754f1fa8551 /proto
parent24773af9e099530aa6ccf4c730ad31c452284228 (diff)
BGP Flowspec validation: Removed in-route optimization for multithreading compatibility
Diffstat (limited to 'proto')
-rw-r--r--proto/bgp/bgp.h1
-rw-r--r--proto/bgp/packets.c6
-rw-r--r--proto/pipe/pipe.c3
3 files changed, 0 insertions, 10 deletions
diff --git a/proto/bgp/bgp.h b/proto/bgp/bgp.h
index 26e04966..88e3bf34 100644
--- a/proto/bgp/bgp.h
+++ b/proto/bgp/bgp.h
@@ -453,7 +453,6 @@ struct bgp_parse_state {
jmp_buf err_jmpbuf;
struct hostentry *hostentry;
- struct rtable *base_table;
adata *mpls_labels;
/* Cached state for bgp_rte_update() */
diff --git a/proto/bgp/packets.c b/proto/bgp/packets.c
index 1ab8c793..aeeb3c7a 100644
--- a/proto/bgp/packets.c
+++ b/proto/bgp/packets.c
@@ -1025,9 +1025,6 @@ bgp_apply_flow_validation(struct bgp_parse_state *s, const net_addr *n, rta *a)
int valid = rt_flowspec_check(c->base_table, c->c.table, n, a, s->proto->is_interior);
a->dest = valid ? RTD_NONE : RTD_UNREACHABLE;
- /* Set rte.bgp.base_table later from this state variable */
- s->base_table = c->base_table;
-
/* Invalidate cached rta if dest changes */
if (s->cached_rta && (s->cached_rta->dest != a->dest))
{
@@ -1398,7 +1395,6 @@ bgp_rte_update(struct bgp_parse_state *s, const net_addr *n, u32 path_id, rta *a
e->pflags = 0;
e->u.bgp.suppressed = 0;
e->u.bgp.stale = -1;
- e->u.bgp.base_table = s->base_table;
rte_update3(&s->channel->c, n, e, s->last_src);
}
@@ -2462,8 +2458,6 @@ bgp_decode_nlri(struct bgp_parse_state *s, u32 afi, byte *nlri, uint len, ea_lis
s->last_id = 0;
s->last_src = s->proto->p.main_source;
- s->base_table = NULL;
-
/*
* IPv4 BGP and MP-BGP may be used together in one update, therefore we do not
* add BA_NEXT_HOP in bgp_decode_attrs(), but we add it here independently for
diff --git a/proto/pipe/pipe.c b/proto/pipe/pipe.c
index 636c3e58..de86b62b 100644
--- a/proto/pipe/pipe.c
+++ b/proto/pipe/pipe.c
@@ -82,10 +82,7 @@ pipe_rt_notify(struct proto *P, struct channel *src_ch, net *n, rte *new, rte *o
#ifdef CONFIG_BGP
/* Hack to cleanup cached value */
if (e->src->proto->proto == &proto_bgp)
- {
e->u.bgp.stale = -1;
- e->u.bgp.base_table = NULL;
- }
#endif
}
else