summaryrefslogtreecommitdiff
path: root/proto/pipe/pipe.c
diff options
context:
space:
mode:
authorOndrej Zajicek (work) <santiago@crfreenet.org>2018-07-31 18:40:38 +0200
committerOndrej Zajicek (work) <santiago@crfreenet.org>2018-07-31 18:40:38 +0200
commit5bd734317c05008a66eefaa14fc98a6d533cf9ef (patch)
treeafe7e898b8eca7916b52c71eaa0b133c2809f03c /proto/pipe/pipe.c
parent318acb0f6cb77a32aad5d7f79e06f3c5065ac702 (diff)
BGP: Long-lived graceful restart
The patch implements long-lived graceful restart for BGP, namely draft-uttaro-idr-bgp-persistence-03.
Diffstat (limited to 'proto/pipe/pipe.c')
-rw-r--r--proto/pipe/pipe.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/proto/pipe/pipe.c b/proto/pipe/pipe.c
index 7aada37e..82ccf38a 100644
--- a/proto/pipe/pipe.c
+++ b/proto/pipe/pipe.c
@@ -78,6 +78,12 @@ pipe_rt_notify(struct proto *P, struct channel *src_ch, net *n, rte *new, rte *o
e->pref = new->pref;
e->pflags = new->pflags;
+#ifdef CONFIG_BGP
+ /* Hack to cleanup cached value */
+ if (e->attrs->src->proto->proto == &proto_bgp)
+ e->u.bgp.stale = -1;
+#endif
+
src = a->src;
}
else