diff options
author | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2018-12-11 17:57:14 +0100 |
---|---|---|
committer | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2018-12-11 17:57:14 +0100 |
commit | d506263da713673f95bc17aaedceebaaad03580d (patch) | |
tree | 12ce1ee337d6c8c92f9f6030e1dcfffae6060cf2 /proto/bgp | |
parent | baeacdcfd3ce30b3fa89ebdd4e53c60c38c26c31 (diff) |
Nest: Forbid adding channels during reconfiguration
When a new channel is found during reconfiguration, do force restart
of the protocol, like with any other un-reconfigurable change.
The old behavior was that the new channel was added but remained in down
state, even if the protocol was up, so a manual protocol restart was
often necessary.
In the future this should be improved such that a reconfigurable
channel addition (e.g. direct) is accepted and channel is started,
while an un-reconfigurable addition forces protocol restart.
Diffstat (limited to 'proto/bgp')
-rw-r--r-- | proto/bgp/bgp.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/proto/bgp/bgp.c b/proto/bgp/bgp.c index 496393ab..e20097ae 100644 --- a/proto/bgp/bgp.c +++ b/proto/bgp/bgp.c @@ -1878,7 +1878,9 @@ bgp_reconfigure(struct proto *P, struct proto_config *CF) { C = (struct channel *) bgp_find_channel(p, cc->afi); same = proto_configure_channel(P, &C, &cc->c) && same; - C->stale = 0; + + if (C) + C->stale = 0; } WALK_LIST_DELSAFE(C, C2, p->p.channels) |