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 | ||||
| -rw-r--r-- | bgpd/bgp_vty.c | 4 | ||||
| -rw-r--r-- | bgpd/rfapi/rfapi.c | 9 | ||||
| -rw-r--r-- | doc/user/bgp.rst | 2 | ||||
| -rw-r--r-- | lib/agentx.c | 2 | ||||
| -rw-r--r-- | vtysh/vtysh_config.c | 4 |
8 files changed, 26 insertions, 11 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 diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c index 057f9ffc37..1f66080e93 100644 --- a/bgpd/bgp_vty.c +++ b/bgpd/bgp_vty.c @@ -3394,7 +3394,7 @@ DEFUN (no_bgp_graceful_restart_rib_stale_time, } DEFUN(bgp_llgr_stalepath_time, bgp_llgr_stalepath_time_cmd, - "bgp long-lived-graceful-restart stale-time (1-4294967295)", + "bgp long-lived-graceful-restart stale-time (1-16777215)", BGP_STR "Enable Long-lived Graceful Restart\n" "Specifies maximum time to wait before purging long-lived stale routes\n" @@ -3411,7 +3411,7 @@ DEFUN(bgp_llgr_stalepath_time, bgp_llgr_stalepath_time_cmd, } DEFUN(no_bgp_llgr_stalepath_time, no_bgp_llgr_stalepath_time_cmd, - "no bgp long-lived-graceful-restart stale-time [(1-4294967295)]", + "no bgp long-lived-graceful-restart stale-time [(1-16777215)]", NO_STR BGP_STR "Enable Long-lived Graceful Restart\n" "Specifies maximum time to wait before purging long-lived stale routes\n" diff --git a/bgpd/rfapi/rfapi.c b/bgpd/rfapi/rfapi.c index ed0714ce2d..a5d57748b7 100644 --- a/bgpd/rfapi/rfapi.c +++ b/bgpd/rfapi/rfapi.c @@ -3174,13 +3174,17 @@ DEFUN (debug_rfapi_unregister_vn_un, "debug rfapi-dev unregister vn <A.B.C.D|X:X::X:X> un <A.B.C.D|X:X::X:X> prefix <A.B.C.D/M|X:X::X:X/M> [kill]", DEBUG_STR DEBUG_RFAPI_STR - "rfapi_register\n" + "rfapi_unregister\n" "indicate vn addr follows\n" "virtual network interface address\n" + "virtual network interface address\n" "indicate xt addr follows\n" "underlay network interface address\n" + "underlay network interface address\n" "prefix to remove\n" - "Remove without holddown") + "prefix to remove\n" + "prefix to remove\n" + "Remove without holddown\n") { struct rfapi_ip_addr vn; struct rfapi_ip_addr un; @@ -3195,7 +3199,6 @@ DEFUN (debug_rfapi_unregister_vn_un, if ((rc = rfapiCliGetRfapiIpAddr(vty, argv[4]->arg, &vn))) return rc; - /* * Get UN addr */ diff --git a/doc/user/bgp.rst b/doc/user/bgp.rst index 695530dbfe..7083b19b90 100644 --- a/doc/user/bgp.rst +++ b/doc/user/bgp.rst @@ -1052,7 +1052,7 @@ Long-lived Graceful Restart Currently, only restarter mode is supported. This capability is advertised only if graceful restart capability is negotiated. -.. clicmd:: bgp long-lived-graceful-restart stale-time (1-4294967295) +.. clicmd:: bgp long-lived-graceful-restart stale-time (1-16777215) Specifies the maximum time to wait before purging long-lived stale routes for helper routers. diff --git a/lib/agentx.c b/lib/agentx.c index 4c087219cb..6c2923fcf8 100644 --- a/lib/agentx.c +++ b/lib/agentx.c @@ -48,8 +48,6 @@ static void agentx_events_update(void); static void agentx_timeout(struct thread *t) { - timeout_thr = NULL; - snmp_timeout(); run_alarms(); netsnmp_check_outstanding_agent_requests(); diff --git a/vtysh/vtysh_config.c b/vtysh/vtysh_config.c index 0f28b49f72..1ebc84b356 100644 --- a/vtysh/vtysh_config.c +++ b/vtysh/vtysh_config.c @@ -492,8 +492,8 @@ void vtysh_config_parse_line(void *arg, const char *line) strlen("no ip prefix-list")) == 0 || strncmp(line, "no ipv6 prefix-list", strlen("no ipv6 prefix-list")) == 0 || - strncmp(line, "service cputime-stats", - strlen("service cputime-stats")) == 0 || + strncmp(line, "service ", strlen("service ")) == + 0 || strncmp(line, "no service cputime-stats", strlen("no service cputime-stats")) == 0 || strncmp(line, "service cputime-warning", |
