diff options
author | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2018-07-31 18:40:38 +0200 |
---|---|---|
committer | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2018-07-31 18:40:38 +0200 |
commit | 5bd734317c05008a66eefaa14fc98a6d533cf9ef (patch) | |
tree | afe7e898b8eca7916b52c71eaa0b133c2809f03c /proto/pipe/pipe.c | |
parent | 318acb0f6cb77a32aad5d7f79e06f3c5065ac702 (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.c | 6 |
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 |