summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bgpd/bgp_fsm.c2
-rw-r--r--bgpd/bgp_open.c13
-rw-r--r--bgpd/bgp_open.h1
-rw-r--r--bgpd/bgp_vty.c4
-rw-r--r--bgpd/rfapi/rfapi.c9
-rw-r--r--doc/user/bgp.rst2
-rw-r--r--lib/agentx.c2
-rw-r--r--vtysh/vtysh_config.c4
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",