summaryrefslogtreecommitdiff
path: root/proto/bgp/packets.c
diff options
context:
space:
mode:
authorOndrej Zajicek (work) <santiago@crfreenet.org>2018-01-23 18:29:32 +0100
committerOndrej Zajicek (work) <santiago@crfreenet.org>2018-01-23 18:29:32 +0100
commit75d98b6013c19598b1d3ba5e05e8f84525e8678a (patch)
tree95089f2193c4097f26cddc0539f3a16e801fe0a5 /proto/bgp/packets.c
parentace3072e09e445b2fd8554492b80bea5cc1f3411 (diff)
parentd6cf996151307d083c30e4ecde0f1d7449b19253 (diff)
Merge branch 'master' into int-new
Diffstat (limited to 'proto/bgp/packets.c')
-rw-r--r--proto/bgp/packets.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/proto/bgp/packets.c b/proto/bgp/packets.c
index 95a974eb..aa08732d 100644
--- a/proto/bgp/packets.c
+++ b/proto/bgp/packets.c
@@ -2772,6 +2772,16 @@ bgp_rx_notification(struct bgp_conn *conn, byte *pkt, uint len)
bgp_update_startup_delay(p);
bgp_stop(p, 0, NULL, 0);
}
+ else
+ {
+ uint subcode_bit = 1 << ((subcode <= 8) ? subcode : 0);
+ if (p->cf->disable_after_cease & subcode_bit)
+ {
+ log(L_INFO "%s: Disabled after Cease notification", p->p.name);
+ p->startup_delay = 0;
+ p->p.disabled = 1;
+ }
+ }
}
static void