diff options
| -rw-r--r-- | bgpd/bgp_fsm.c | 2 | ||||
| -rw-r--r-- | bgpd/bgp_open.c | 13 | ||||
| -rw-r--r-- | bgpd/bgp_open.h | 1 |
3 files changed, 15 insertions, 1 deletions
diff --git a/bgpd/bgp_fsm.c b/bgpd/bgp_fsm.c index 8664a7582e..01c61615a3 100644 --- a/bgpd/bgp_fsm.c +++ b/bgpd/bgp_fsm.c @@ -1304,7 +1304,7 @@ void bgp_fsm_change_status(struct peer *peer, int status) peer->rtt_keepalive_rcv = 0; /* Fire backward transition hook if that's the case */ - if (peer->ostatus > peer->status) + if (peer->ostatus == Established && peer->status != Established) hook_call(peer_backward_transition, peer); /* Save event that caused status change. */ diff --git a/bgpd/bgp_open.c b/bgpd/bgp_open.c index d1667fac26..c8cb6b77e2 100644 --- a/bgpd/bgp_open.c +++ b/bgpd/bgp_open.c @@ -357,6 +357,7 @@ static void bgp_capability_orf_not_support(struct peer *peer, iana_afi_t afi, } static const struct message orf_type_str[] = { + {ORF_TYPE_RESERVED, "Reserved"}, {ORF_TYPE_PREFIX, "Prefixlist"}, {ORF_TYPE_PREFIX_OLD, "Prefixlist (old)"}, {0}}; @@ -433,6 +434,12 @@ static int bgp_capability_orf_entry(struct peer *peer, switch (hdr->code) { case CAPABILITY_CODE_ORF: switch (type) { + case ORF_TYPE_RESERVED: + if (bgp_debug_neighbor_events(peer)) + zlog_debug( + "%s Addr-family %d/%d has reserved ORF type, ignoring", + peer->host, afi, safi); + break; case ORF_TYPE_PREFIX: break; default: @@ -443,6 +450,12 @@ static int bgp_capability_orf_entry(struct peer *peer, break; case CAPABILITY_CODE_ORF_OLD: switch (type) { + case ORF_TYPE_RESERVED: + if (bgp_debug_neighbor_events(peer)) + zlog_debug( + "%s Addr-family %d/%d has reserved ORF type, ignoring", + peer->host, afi, safi); + break; case ORF_TYPE_PREFIX_OLD: break; default: diff --git a/bgpd/bgp_open.h b/bgpd/bgp_open.h index 19ddd9bd25..6be94443c8 100644 --- a/bgpd/bgp_open.h +++ b/bgpd/bgp_open.h @@ -76,6 +76,7 @@ struct graceful_restart_af { /* Cooperative Route Filtering Capability. */ /* ORF Type */ +#define ORF_TYPE_RESERVED 0 #define ORF_TYPE_PREFIX 64 #define ORF_TYPE_PREFIX_OLD 128 |
