From fc391090e18abe62fdda68270a814dee05350d59 Mon Sep 17 00:00:00 2001
From: Mathieu Poussin <359877+kedare@users.noreply.github.com>
Date: Sat, 25 Apr 2020 05:47:20 +0200
Subject: [PATCH] BGP Polling: Add error code management (#11424)
* BGP Polling: Add error code polling
* Rework describe_bgp_error_code and fix bgp error fields migration
* Add real test data for IOS-XR and Arista EOS
---
...500_add_last_error_fields_to_bgp_peers.php | 37 ++
includes/functions.php | 28 ++
.../html/pages/device/routing/bgp.inc.php | 13 +-
includes/html/pages/routing/bgp.inc.php | 13 +-
includes/polling/bgp-peers.inc.php | 28 +-
misc/db_schema.yaml | 3 +
resources/lang/en/bgp.php | 65 ++++
tests/data/arista_eos.json | 20 +-
tests/data/comware.json | 20 +-
tests/data/edgeos.json | 10 +-
tests/data/ios_3560g.json | 20 +-
tests/data/iosxe.json | 40 +-
tests/data/iosxr.json | 341 ++++++++++++++----
tests/data/ironware.json | 50 ++-
tests/data/junos_ex.json | 30 +-
tests/data/junos_mx.json | 30 +-
tests/data/timos.json | 40 +-
tests/data/vrp_5720-vrf.json | 20 +-
tests/data/vrp_5720.json | 20 +-
tests/data/vrp_ce12804-withvrf.json | 5 +-
tests/data/vrp_ne.json | 100 ++++-
tests/snmpsim/arista_eos.snmprec | 3 +
tests/snmpsim/iosxr.snmprec | 2 +
23 files changed, 780 insertions(+), 158 deletions(-)
create mode 100644 database/migrations/2020_04_13_150500_add_last_error_fields_to_bgp_peers.php
create mode 100644 resources/lang/en/bgp.php
diff --git a/database/migrations/2020_04_13_150500_add_last_error_fields_to_bgp_peers.php b/database/migrations/2020_04_13_150500_add_last_error_fields_to_bgp_peers.php
new file mode 100644
index 0000000000..20aaebe6ab
--- /dev/null
+++ b/database/migrations/2020_04_13_150500_add_last_error_fields_to_bgp_peers.php
@@ -0,0 +1,37 @@
+integer('bgpPeerLastErrorCode')->nullable()->after('bgpPeerAdminStatus');
+ $table->integer('bgpPeerLastErrorSubCode')->nullable()->after('bgpPeerLastErrorCode');
+ $table->string('bgpPeerLastErrorText', 254)->nullable()->after('bgpPeerLastErrorSubCode');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ *
+ *
+ *
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::table('bgpPeers', function (Blueprint $table) {
+ $table->dropColumn(['bgpPeerLastErrorCode', 'bgpPeerLastErrorSubCode', 'bgpPeerLastErrorText']);
+ });
+ }
+}
diff --git a/includes/functions.php b/includes/functions.php
index aaa07a250f..a7948b8e9e 100644
--- a/includes/functions.php
+++ b/includes/functions.php
@@ -2529,3 +2529,31 @@ function oxidized_node_update($hostname, $msg, $username = 'not_provided')
}
return false;
}//end oxidized_node_update()
+
+
+/**
+ * @params int code
+ * @params int subcode
+ * @return string
+ * Take a BGP error code and subcode to return a string representation of it
+ */
+function describe_bgp_error_code($code, $subcode)
+{
+ // https://www.iana.org/assignments/bgp-parameters/bgp-parameters.xhtml#bgp-parameters-3
+
+ $message = "Unknown";
+
+ $error_code_key = "bgp.error_codes.".$code;
+ $error_subcode_key = "bgp.error_subcodes.".$code.".".$subcode;
+
+ $error_code_message = __($error_code_key);
+ $error_subcode_message = __($error_subcode_key);
+
+ if ($error_subcode_message != $error_subcode_key) {
+ $message = $error_code_message . " - " . $error_subcode_message;
+ } elseif ($error_code_message != $error_code_key) {
+ $message = $error_code_message;
+ }
+
+ return $message;
+}
diff --git a/includes/html/pages/device/routing/bgp.inc.php b/includes/html/pages/device/routing/bgp.inc.php
index 337d705338..59ffb88b9c 100644
--- a/includes/html/pages/device/routing/bgp.inc.php
+++ b/includes/html/pages/device/routing/bgp.inc.php
@@ -110,7 +110,7 @@ if ($vars['view'] == 'macaccounting_pkts') {
print_optionbar_end();
echo '
';
-echo 'Peer address | Type | Family | Remote AS | Peer description | State | Uptime |
';
+echo 'Peer address | Type | Family | Remote AS | Peer description | State | Last error | Uptime |
';
$i = '1';
@@ -229,6 +229,12 @@ foreach (dbFetchRows("SELECT * FROM `bgpPeers` WHERE `device_id` = ? $extra_sql
$link = generate_url($link_array);
$peeraddresslink = "".overlib_link($link, $peer['bgpPeerIdentifier'], generate_graph_tag($graph_array_zoom), null)."";
+ if ($peer['bgpPeerLastErrorCode'] == 0 && $peer['bgpPeerLastErrorSubCode'] == 0) {
+ $last_error = $peer['bgpPeerLastErrorText'];
+ } else {
+ $last_error = describe_bgp_error_code($peer['bgpPeerLastErrorCode'], $peer['bgpPeerLastErrorSubCode'])."
".$peer['bgpPeerLastErrorText'];
+ }
+
echo '
';
@@ -238,8 +244,9 @@ foreach (dbFetchRows("SELECT * FROM `bgpPeers` WHERE `device_id` = ? $extra_sql
".(isset($peer['afi']) ? $peer['afi'] : '').' |
AS'.$peer['bgpPeerRemoteAs'].' '.$peer['astext']." |
".$peer['bgpPeerDescr']." |
- ".$peer['bgpPeerAdminStatus']." ".$peer['bgpPeerState'].' |
- '.formatUptime($peer['bgpPeerFsmEstablishedTime'])."
+ | ".$peer['bgpPeerAdminStatus']." ".$peer['bgpPeerState']." |
+ ".$last_error." |
+ ".formatUptime($peer['bgpPeerFsmEstablishedTime'])."
Updates ".$peer['bgpPeerInUpdates']."
".$peer['bgpPeerOutUpdates'].' |
diff --git a/includes/html/pages/routing/bgp.inc.php b/includes/html/pages/routing/bgp.inc.php
index a61a7cea89..1ad8bfbc23 100644
--- a/includes/html/pages/routing/bgp.inc.php
+++ b/includes/html/pages/routing/bgp.inc.php
@@ -205,7 +205,7 @@ if (!Auth::user()->hasGlobalRead()) {
print_optionbar_end();
echo "";
- echo ' | Local address | | Peer address | Type | Family | Remote AS | Peer description | State | Uptime / Updates |
';
+ echo ' | Local address | | Peer address | Type | Family | Remote AS | Peer description | State | Last error | Uptime / Updates |
';
if ($vars['type'] == 'external') {
$where = 'AND D.bgpLocalAs != B.bgpPeerRemoteAs';
@@ -290,6 +290,12 @@ if (!Auth::user()->hasGlobalRead()) {
$overlib_link = "device/device=".$peer['device_id']."/tab=routing/proto=bgp/";
$localaddresslink = "".overlib_link($overlib_link, $peer_ip, generate_graph_tag($graph_array_zoom), null)."";
+ if ($peer['bgpPeerLastErrorCode'] == 0 && $peer['bgpPeerLastErrorSubCode'] == 0) {
+ $last_error = $peer['bgpPeerLastErrorText'];
+ } else {
+ $last_error = describe_bgp_error_code($peer['bgpPeerLastErrorCode'], $peer['bgpPeerLastErrorSubCode'])."
".$peer['bgpPeerLastErrorText'];
+ }
+
echo '';
unset($sep);
@@ -313,8 +319,9 @@ if (!Auth::user()->hasGlobalRead()) {
".$peer['afi'].' |
AS'.$peer['bgpPeerRemoteAs'].' '.$peer['astext']." |
".$peer['bgpPeerDescr']." |
- ".$peer['bgpPeerAdminStatus']." ".$peer['bgpPeerState'].' |
- '.formatUptime($peer['bgpPeerFsmEstablishedTime'])."
+ | ".$peer['bgpPeerAdminStatus']." ".$peer['bgpPeerState']." |
+ ".$last_error." |
+ ".formatUptime($peer['bgpPeerFsmEstablishedTime'])."
Updates ".format_si($peer['bgpPeerInUpdates'])."
".format_si($peer['bgpPeerOutUpdates']).' |
';
diff --git a/includes/polling/bgp-peers.inc.php b/includes/polling/bgp-peers.inc.php
index 07bed84168..f0c746e5bc 100644
--- a/includes/polling/bgp-peers.inc.php
+++ b/includes/polling/bgp-peers.inc.php
@@ -64,6 +64,8 @@ if (\LibreNMS\Config::get('enable_bgp')) {
$peer_data_tmp = snmpwalk_cache_long_oid($device, 'jnxBgpM2PeerInUpdatesElapsedTime', '.1.3.6.1.4.1.2636.5.1.1.2.4.1.1.2', $peer_data_tmp, 'BGP4-V2-MIB-JUNIPER', 'junos');
$peer_data_tmp = snmpwalk_cache_long_oid($device, 'jnxBgpM2PeerLocalAddr', '.1.3.6.1.4.1.2636.5.1.1.2.1.1.1.7', $peer_data_tmp, 'BGP4-V2-MIB-JUNIPER', 'junos');
$peer_data_tmp = snmpwalk_cache_long_oid($device, 'jnxBgpM2PeerRemoteAddrType', '.1.3.6.1.4.1.2636.5.1.1.2.1.1.1.10', $peer_data_tmp, 'BGP4-V2-MIB-JUNIPER', 'junos');
+ $peer_data_tmp = snmpwalk_cache_long_oid($device, 'jnxBgpM2PeerLastErrorReceived', '.1.3.6.1.4.1.2636.5.1.1.2.2.1.1.1', $peer_data_tmp, 'BGP4-V2-MIB-JUNIPER', 'junos');
+ $peer_data_tmp = snmpwalk_cache_long_oid($device, 'jnxBgpM2PeerLastErrorReceivedText', '.1.3.6.1.4.1.2636.5.1.1.2.2.1.1.5', $peer_data_tmp, 'BGP4-V2-MIB-JUNIPER', 'junos');
d_echo($peer_data_tmp);
}
@@ -76,6 +78,11 @@ if (\LibreNMS\Config::get('enable_bgp')) {
$peer_data['bgpPeerInTotalMessages'] = $peer_data_tmp[$peer_hash]['jnxBgpM2PeerInTotalMessages'];
$peer_data['bgpPeerOutTotalMessages'] = $peer_data_tmp[$peer_hash]['jnxBgpM2PeerOutTotalMessages'];
$peer_data['bgpPeerFsmEstablishedTime'] = $peer_data_tmp[$peer_hash]['jnxBgpM2PeerFsmEstablishedTime'];
+ $peer_data['bgpPeerLastErrorText'] = $peer_data_tmp[$peer_hash]['jnxBgpM2PeerLastErrorReceivedText'];
+
+ $error_data = explode(" ", $peer_data_tmp[$peer_hash]['jnxBgpM2PeerLastErrorReceived']);
+ $peer_data['bgpPeerLastErrorCode'] = intval($error_data[0]);
+ $peer_data['bgpPeerLastErrorSubCode'] = intval($error_data[1]);
try {
$peer_data['bgpLocalAddr'] = IP::fromHexString($peer_data_tmp[$peer_hash]['jnxBgpM2PeerLocalAddr'])->uncompressed();
@@ -189,6 +196,9 @@ if (\LibreNMS\Config::get('enable_bgp')) {
'aristaBgp4V2PeerFsmEstablishedTime' => 'bgpPeerFsmEstablishedTime',
'aristaBgp4V2PeerInUpdatesElapsedTime' => 'bgpPeerInUpdateElapsedTime',
'aristaBgp4V2PeerLocalAddr' => 'bgpLocalAddr',
+ 'aristaBgp4V2PeerLastErrorCodeReceived' => 'bgpPeerLastErrorCode',
+ 'aristaBgp4V2PeerLastErrorSubCodeReceived' => 'bgpPeerLastErrorSubCode',
+ 'aristaBgp4V2PeerLastErrorReceivedText' => 'bgpPeerLastErrorText',
];
} else {
$peer_identifier = $ip_type . '.' . $ip_len . '.' . $bgp_peer_ident;
@@ -203,6 +213,8 @@ if (\LibreNMS\Config::get('enable_bgp')) {
'cbgpPeer2FsmEstablishedTime' => 'bgpPeerFsmEstablishedTime',
'cbgpPeer2InUpdateElapsedTime' => 'bgpPeerInUpdateElapsedTime',
'cbgpPeer2LocalAddr' => 'bgpLocalAddr',
+ 'cbgpPeer2LastError' => 'bgpPeerLastErrorCode',
+ 'cbgpPeer2LastErrorTxt' => 'bgpPeerLastErrorText',
];
}
}
@@ -219,6 +231,7 @@ if (\LibreNMS\Config::get('enable_bgp')) {
'bgpPeerFsmEstablishedTime' => 'bgpPeerFsmEstablishedTime',
'bgpPeerInUpdateElapsedTime' => 'bgpPeerInUpdateElapsedTime',
'bgpPeerLocalAddr' => 'bgpLocalAddr', // silly db field name
+ 'bgpPeerLastError' => 'bgpPeerLastErrorCode',
];
}
@@ -234,6 +247,16 @@ if (\LibreNMS\Config::get('enable_bgp')) {
$peer_data = array();
+ if (strpos($peer_data_raw['cbgpPeer2LastError'], " ")) {
+ // Some device return both Code and SubCode in the same snmp field, we need to split it
+ $splitted_codes = explode(" ", $peer_data_raw['cbgpPeer2LastError']);
+ $error_code = intval($splitted_codes[0]);
+ $error_subcode = intval($splitted_codes[1]);
+ $peer_data['bgpPeerLastErrorCode'] = $error_code;
+ $peer_data['bgpPeerLastErrorSubCode'] = $error_subcode;
+ unset($oid_map['cbgpPeer2LastError']);
+ }
+
foreach ($oid_map as $source => $target) {
$v = isset($peer_data_raw[$source]) ? $peer_data_raw[$source] : '';
@@ -244,7 +267,6 @@ if (\LibreNMS\Config::get('enable_bgp')) {
// if parsing fails, leave the data as-is
}
}
-
$peer_data[$target] = $v;
}
}
@@ -262,11 +284,11 @@ if (\LibreNMS\Config::get('enable_bgp')) {
|| $peer_data['bgpPeerState'] != $peer['bgpPeerState'])
) {
if ($peer['bgpPeerState'] == $peer_data['bgpPeerState']) {
- log_event('BGP Session Flap: ' . $peer['bgpPeerIdentifier'] . ' (AS' . $peer['bgpPeerRemoteAs'] . ')', $device, 'bgpPeer', 4, $peer_ip);
+ log_event('BGP Session Flap: ' . $peer['bgpPeerIdentifier'] . ' (AS' . $peer['bgpPeerRemoteAs'] . '), last error: '. describe_bgp_error_code($peer['bgpPeerLastErrorCode'], $peer['bgpPeerLastErrorSubCode']), $device, 'bgpPeer', 4, $peer_ip);
} elseif ($peer_data['bgpPeerState'] == 'established') {
log_event('BGP Session Up: ' . $peer['bgpPeerIdentifier'] . ' (AS' . $peer['bgpPeerRemoteAs'] . ')', $device, 'bgpPeer', 1, $peer_ip);
} elseif ($peer['bgpPeerState'] == 'established') {
- log_event('BGP Session Down: ' . $peer['bgpPeerIdentifier'] . ' (AS' . $peer['bgpPeerRemoteAs'] . ')', $device, 'bgpPeer', 5, $peer_ip);
+ log_event('BGP Session Down: ' . $peer['bgpPeerIdentifier'] . ' (AS' . $peer['bgpPeerRemoteAs'] . '), last error: '. describe_bgp_error_code($peer['bgpPeerLastErrorCode'], $peer['bgpPeerLastErrorSubCode']), $device, 'bgpPeer', 5, $peer_ip);
}
}
}
diff --git a/misc/db_schema.yaml b/misc/db_schema.yaml
index 9a93d233f1..c93e0a954b 100644
--- a/misc/db_schema.yaml
+++ b/misc/db_schema.yaml
@@ -203,6 +203,9 @@ bgpPeers:
- { Field: bgpPeerRemoteAs, Type: bigint(20), 'Null': false, Extra: '' }
- { Field: bgpPeerState, Type: text, 'Null': false, Extra: '' }
- { Field: bgpPeerAdminStatus, Type: text, 'Null': false, Extra: '' }
+ - { Field: bgpPeerLastErrorCode, Type: int(11), 'Null': true, Extra: '' }
+ - { Field: bgpPeerLastErrorSubCode, Type: int(11), 'Null': true, Extra: '' }
+ - { Field: bgpPeerLastErrorText, Type: varchar(254), 'Null': true, Extra: '' }
- { Field: bgpLocalAddr, Type: text, 'Null': false, Extra: '' }
- { Field: bgpPeerRemoteAddr, Type: text, 'Null': false, Extra: '' }
- { Field: bgpPeerDescr, Type: varchar(255), 'Null': false, Extra: '', Default: '' }
diff --git a/resources/lang/en/bgp.php b/resources/lang/en/bgp.php
new file mode 100644
index 0000000000..0dd9a771a9
--- /dev/null
+++ b/resources/lang/en/bgp.php
@@ -0,0 +1,65 @@
+ [
+ 0 => "Reserved",
+ 1 => "Message Header Error",
+ 2 => "OPEN Message Error",
+ 3 => "UPDATE Message Error",
+ 4 => "Hold Timer Expired",
+ 5 => "Finite State Machine Error",
+ 6 => "Cease",
+ 7 => "ROUTE-REFRESH Message Error",
+ ],
+ 'error_subcodes' => [
+ 1 => [
+ 0 => "Unspecific",
+ 1 => "Connection Not Synchronized",
+ 2 => "Bad Message Length",
+ 3 => "Bad Message Type",
+ ],
+ 2 => [
+ 0 => "Unspecific",
+ 1 => "Unsupported Version Number",
+ 2 => "Bad Peer AS",
+ 3 => "Bad BGP Identifier",
+ 4 => "Unsuported Optional Parameter",
+ 5 => "[Deprecated]",
+ 6 => "Unacceptable Hold Time",
+ 7 => "Role Mismatch (Temporary BGP Draft)",
+ ],
+ 3 => [
+ 0 => "Unspecific",
+ 1 => "Malformted Attribute List",
+ 2 => "Unrecognized Well-known Attribute",
+ 3 => "Missing Well-known Attribute",
+ 4 => "Attribute Flags Error",
+ 5 => "Attribute Length Error",
+ 6 => "Invalid ORIGIN Attribute",
+ 7 => "[Deprecated]",
+ 8 => "Invalid NEXT_HOP Attribute",
+ 9 => "Optional Attribute Error",
+ 10 => "Invalid Network Field",
+ 11 => "Malformed AS_PATH",
+ ],
+ 5 => [
+ 0 => "Unspecified Error",
+ 1 => "Receive Unexpected Message in OpenSent State",
+ 2 => "Receive Unexpected Message in OpenConfirm State",
+ 3 => "Receive Unexpected Message in Established State",
+ ],
+ 6 => [
+ 0 => "Reserved",
+ 1 => "Maximum Number of Prefixes Reached",
+ 2 => "Administrative Shutdown",
+ 3 => "Peer De-configured",
+ 4 => "Administrative Reset",
+ 5 => "Connection Rejected",
+ 6 => "Other Configuration Change",
+ 7 => "Connection Collision Resolution",
+ 8 => "Out of Resources",
+ 9 => "Hard Reset",
+ ],
+ ],
+];
diff --git a/tests/data/arista_eos.json b/tests/data/arista_eos.json
index 6206ded6c7..5102bc53e8 100644
--- a/tests/data/arista_eos.json
+++ b/tests/data/arista_eos.json
@@ -5129,7 +5129,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65000,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -5148,7 +5151,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65000,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
}
],
"bgpPeers_cbgp": [
@@ -5221,7 +5227,10 @@
"bgpPeerInUpdateElapsedTime": 4,
"context_name": "",
"bgpLocalAs": 65000,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": 0,
+ "bgpPeerLastErrorSubCode": 0,
+ "bgpPeerLastErrorText": "Cease/administrative shutdown"
},
{
"astext": "",
@@ -5240,7 +5249,10 @@
"bgpPeerInUpdateElapsedTime": 17,
"context_name": "",
"bgpLocalAs": 65000,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
}
],
"bgpPeers_cbgp": [
diff --git a/tests/data/comware.json b/tests/data/comware.json
index 654b8d58c8..9cb3ace9a9 100644
--- a/tests/data/comware.json
+++ b/tests/data/comware.json
@@ -19,7 +19,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65504,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -38,7 +41,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65504,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
}
],
"bgpPeers_cbgp": []
@@ -62,7 +68,10 @@
"bgpPeerInUpdateElapsedTime": 259280,
"context_name": "",
"bgpLocalAs": 65504,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -81,7 +90,10 @@
"bgpPeerInUpdateElapsedTime": 22497219,
"context_name": "",
"bgpLocalAs": 65504,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
}
],
"bgpPeers_cbgp": []
diff --git a/tests/data/edgeos.json b/tests/data/edgeos.json
index 0aa5951f61..cd6c242409 100644
--- a/tests/data/edgeos.json
+++ b/tests/data/edgeos.json
@@ -3896,7 +3896,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65200,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
}
],
"bgpPeers_cbgp": []
@@ -3920,7 +3923,10 @@
"bgpPeerInUpdateElapsedTime": 164352,
"context_name": "",
"bgpLocalAs": 65200,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
}
],
"bgpPeers_cbgp": []
diff --git a/tests/data/ios_3560g.json b/tests/data/ios_3560g.json
index ff8a91a59f..f03cad4fc3 100644
--- a/tests/data/ios_3560g.json
+++ b/tests/data/ios_3560g.json
@@ -19,7 +19,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 64513,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -38,7 +41,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 64513,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
}
],
"bgpPeers_cbgp": [
@@ -159,7 +165,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 64513,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -178,7 +187,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 64513,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
}
],
"bgpPeers_cbgp": [
diff --git a/tests/data/iosxe.json b/tests/data/iosxe.json
index c3c6b8f012..705e8e3cbd 100644
--- a/tests/data/iosxe.json
+++ b/tests/data/iosxe.json
@@ -19,7 +19,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65031,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -38,7 +41,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65031,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -57,7 +63,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65031,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -76,7 +85,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65031,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
}
],
"bgpPeers_cbgp": [
@@ -197,7 +209,10 @@
"bgpPeerInUpdateElapsedTime": 8491,
"context_name": "",
"bgpLocalAs": 65031,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -216,7 +231,10 @@
"bgpPeerInUpdateElapsedTime": 8491,
"context_name": "",
"bgpLocalAs": 65031,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -235,7 +253,10 @@
"bgpPeerInUpdateElapsedTime": 8486,
"context_name": "",
"bgpLocalAs": 65031,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -254,7 +275,10 @@
"bgpPeerInUpdateElapsedTime": 8486,
"context_name": "",
"bgpLocalAs": 65031,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
}
],
"bgpPeers_cbgp": [
diff --git a/tests/data/iosxr.json b/tests/data/iosxr.json
index dc029805b5..54f38fc5a4 100644
--- a/tests/data/iosxr.json
+++ b/tests/data/iosxr.json
@@ -19,7 +19,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -38,7 +41,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -57,7 +63,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -76,7 +85,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -95,7 +107,11 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
+
},
{
"astext": "",
@@ -114,7 +130,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -133,7 +152,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -152,7 +174,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -171,7 +196,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -190,7 +218,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -209,7 +240,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -228,7 +262,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -247,7 +284,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -266,7 +306,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -285,7 +328,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -304,7 +350,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -323,7 +372,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -342,7 +394,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -361,7 +416,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -380,7 +438,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -399,7 +460,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -418,7 +482,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -437,7 +504,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -456,7 +526,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -475,7 +548,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -494,7 +570,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -513,7 +592,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -532,7 +614,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -551,7 +636,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -570,7 +658,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -589,7 +680,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -608,7 +702,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -627,7 +724,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -646,7 +746,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
}
],
"bgpPeers_cbgp": [
@@ -1415,7 +1518,10 @@
"bgpPeerInUpdateElapsedTime": 14,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": 6,
+ "bgpPeerLastErrorSubCode": 2,
+ "bgpPeerLastErrorText": "administrative shutdown"
},
{
"astext": "",
@@ -1434,7 +1540,10 @@
"bgpPeerInUpdateElapsedTime": 2933262,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -1453,7 +1562,10 @@
"bgpPeerInUpdateElapsedTime": 12900159,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -1472,7 +1584,10 @@
"bgpPeerInUpdateElapsedTime": 2933256,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -1491,7 +1606,10 @@
"bgpPeerInUpdateElapsedTime": 12900159,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -1510,7 +1628,10 @@
"bgpPeerInUpdateElapsedTime": 9721186,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -1529,7 +1650,10 @@
"bgpPeerInUpdateElapsedTime": 5917591,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -1548,7 +1672,10 @@
"bgpPeerInUpdateElapsedTime": 3050649,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -1567,7 +1694,10 @@
"bgpPeerInUpdateElapsedTime": 35789107,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -1586,7 +1716,10 @@
"bgpPeerInUpdateElapsedTime": 35012834,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -1605,7 +1738,10 @@
"bgpPeerInUpdateElapsedTime": 73311,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -1624,7 +1760,10 @@
"bgpPeerInUpdateElapsedTime": 21536506,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -1643,7 +1782,10 @@
"bgpPeerInUpdateElapsedTime": 1307780,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -1662,7 +1804,10 @@
"bgpPeerInUpdateElapsedTime": 2,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -1681,7 +1826,10 @@
"bgpPeerInUpdateElapsedTime": 2264956,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -1700,7 +1848,10 @@
"bgpPeerInUpdateElapsedTime": 7976139,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -1719,7 +1870,10 @@
"bgpPeerInUpdateElapsedTime": 1220639,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -1738,7 +1892,10 @@
"bgpPeerInUpdateElapsedTime": 1814,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -1757,7 +1914,10 @@
"bgpPeerInUpdateElapsedTime": 4410807,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -1776,7 +1936,10 @@
"bgpPeerInUpdateElapsedTime": 175341,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -1795,7 +1958,10 @@
"bgpPeerInUpdateElapsedTime": 2116844,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -1814,7 +1980,10 @@
"bgpPeerInUpdateElapsedTime": 7976152,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -1833,7 +2002,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -1852,7 +2024,10 @@
"bgpPeerInUpdateElapsedTime": 4288850,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -1871,7 +2046,10 @@
"bgpPeerInUpdateElapsedTime": 1644752,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -1890,7 +2068,10 @@
"bgpPeerInUpdateElapsedTime": 25567472,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -1909,7 +2090,10 @@
"bgpPeerInUpdateElapsedTime": 19105427,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -1928,7 +2112,10 @@
"bgpPeerInUpdateElapsedTime": 1,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -1947,7 +2134,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -1966,7 +2156,10 @@
"bgpPeerInUpdateElapsedTime": 24,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -1985,7 +2178,10 @@
"bgpPeerInUpdateElapsedTime": 2,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -2004,7 +2200,10 @@
"bgpPeerInUpdateElapsedTime": 470,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -2023,7 +2222,10 @@
"bgpPeerInUpdateElapsedTime": 59348951,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -2042,7 +2244,10 @@
"bgpPeerInUpdateElapsedTime": 59348952,
"context_name": "",
"bgpLocalAs": 65351,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
}
],
"bgpPeers_cbgp": [
diff --git a/tests/data/ironware.json b/tests/data/ironware.json
index 08fc1ec238..1ec6cceb2c 100644
--- a/tests/data/ironware.json
+++ b/tests/data/ironware.json
@@ -24762,7 +24762,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65065,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -24781,7 +24784,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65065,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -24800,7 +24806,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65065,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -24819,7 +24828,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65065,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -24838,7 +24850,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65065,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
}
],
"bgpPeers_cbgp": []
@@ -24862,7 +24877,10 @@
"bgpPeerInUpdateElapsedTime": 836,
"context_name": "",
"bgpLocalAs": 65065,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -24881,7 +24899,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65065,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -24900,7 +24921,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65065,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -24919,7 +24943,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65065,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -24938,7 +24965,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65065,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
}
],
"bgpPeers_cbgp": []
diff --git a/tests/data/junos_ex.json b/tests/data/junos_ex.json
index 1e12e04450..8dbd229454 100644
--- a/tests/data/junos_ex.json
+++ b/tests/data/junos_ex.json
@@ -57,7 +57,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65501,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -76,7 +79,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65501,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -95,7 +101,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65501,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
}
],
"bgpPeers_cbgp": []
@@ -119,7 +128,10 @@
"bgpPeerInUpdateElapsedTime": 21748,
"context_name": "",
"bgpLocalAs": 65501,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -138,7 +150,10 @@
"bgpPeerInUpdateElapsedTime": 785386,
"context_name": "",
"bgpLocalAs": 65501,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -157,7 +172,10 @@
"bgpPeerInUpdateElapsedTime": 774040,
"context_name": "",
"bgpLocalAs": 65501,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
}
],
"bgpPeers_cbgp": []
diff --git a/tests/data/junos_mx.json b/tests/data/junos_mx.json
index ea8e288aad..4bf0c9c773 100644
--- a/tests/data/junos_mx.json
+++ b/tests/data/junos_mx.json
@@ -19,7 +19,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 64513,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -38,7 +41,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 64513,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -57,7 +63,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 64513,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
}
],
"bgpPeers_cbgp": [
@@ -298,7 +307,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 64513,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -317,7 +329,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 64513,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -336,7 +351,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 64513,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
}
],
"bgpPeers_cbgp": [
diff --git a/tests/data/timos.json b/tests/data/timos.json
index ca0f857f7d..8cc02ec260 100644
--- a/tests/data/timos.json
+++ b/tests/data/timos.json
@@ -10061,7 +10061,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": null,
"bgpLocalAs": 35684352,
- "vrfLocalAs": 39835
+ "vrfLocalAs": 39835,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "Cymru FullBogon Feed",
@@ -10080,7 +10083,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": null,
"bgpLocalAs": 35684352,
- "vrfLocalAs": 39835
+ "vrfLocalAs": 39835,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "Cymru FullBogon Feed",
@@ -10099,7 +10105,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": null,
"bgpLocalAs": 35684352,
- "vrfLocalAs": 39835
+ "vrfLocalAs": 39835,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "Cymru FullBogon Feed",
@@ -10118,7 +10127,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": null,
"bgpLocalAs": 35684352,
- "vrfLocalAs": 39835
+ "vrfLocalAs": 39835,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
}
],
"bgpPeers_cbgp": []
@@ -10142,7 +10154,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": null,
"bgpLocalAs": 35684352,
- "vrfLocalAs": 39835
+ "vrfLocalAs": 39835,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "Cymru FullBogon Feed",
@@ -10161,7 +10176,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": null,
"bgpLocalAs": 35684352,
- "vrfLocalAs": 39835
+ "vrfLocalAs": 39835,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "Cymru FullBogon Feed",
@@ -10180,7 +10198,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": null,
"bgpLocalAs": 35684352,
- "vrfLocalAs": 39835
+ "vrfLocalAs": 39835,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "Cymru FullBogon Feed",
@@ -10199,7 +10220,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": null,
"bgpLocalAs": 35684352,
- "vrfLocalAs": 39835
+ "vrfLocalAs": 39835,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
}
],
"bgpPeers_cbgp": []
diff --git a/tests/data/vrp_5720-vrf.json b/tests/data/vrp_5720-vrf.json
index 13ba886e17..036831c321 100644
--- a/tests/data/vrp_5720-vrf.json
+++ b/tests/data/vrp_5720-vrf.json
@@ -35664,7 +35664,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65000,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -35683,7 +35686,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65000,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
}
],
"bgpPeers_cbgp": []
@@ -35707,7 +35713,10 @@
"bgpPeerInUpdateElapsedTime": 185502,
"context_name": "",
"bgpLocalAs": 65000,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -35726,7 +35735,10 @@
"bgpPeerInUpdateElapsedTime": 185502,
"context_name": "",
"bgpLocalAs": 65000,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
}
],
"bgpPeers_cbgp": []
diff --git a/tests/data/vrp_5720.json b/tests/data/vrp_5720.json
index 74be368212..51073dfc1d 100644
--- a/tests/data/vrp_5720.json
+++ b/tests/data/vrp_5720.json
@@ -14410,7 +14410,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65000,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -14429,7 +14432,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": "",
"bgpLocalAs": 65000,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
}
],
"bgpPeers_cbgp": []
@@ -14453,7 +14459,10 @@
"bgpPeerInUpdateElapsedTime": 281173,
"context_name": "",
"bgpLocalAs": 65000,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "",
@@ -14472,7 +14481,10 @@
"bgpPeerInUpdateElapsedTime": 281206,
"context_name": "",
"bgpLocalAs": 65000,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
}
],
"bgpPeers_cbgp": []
diff --git a/tests/data/vrp_ce12804-withvrf.json b/tests/data/vrp_ce12804-withvrf.json
index 0938eaa377..add4d19d7f 100644
--- a/tests/data/vrp_ce12804-withvrf.json
+++ b/tests/data/vrp_ce12804-withvrf.json
@@ -24905,7 +24905,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": null,
"bgpLocalAs": 1,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
}
],
"bgpPeers_cbgp": [
diff --git a/tests/data/vrp_ne.json b/tests/data/vrp_ne.json
index ae0573541b..1aa3925fb5 100644
--- a/tests/data/vrp_ne.json
+++ b/tests/data/vrp_ne.json
@@ -57,7 +57,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": null,
"bgpLocalAs": 265086,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "ERX-TANET-ASN1 Taiwan Academic Network (TANet) Information Center, TW",
@@ -76,7 +79,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": null,
"bgpLocalAs": 265086,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "NET-UEN-UTAH, US",
@@ -95,7 +101,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": null,
"bgpLocalAs": 265086,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "NSU-AS, RU",
@@ -114,7 +123,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": null,
"bgpLocalAs": 265086,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "RIPE-MEETING-AS, EU",
@@ -133,7 +145,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": null,
"bgpLocalAs": 265086,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "ISI-ISP, US",
@@ -152,7 +167,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": null,
"bgpLocalAs": 265086,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "ISI-ISP, US",
@@ -171,7 +189,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": null,
"bgpLocalAs": 265086,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "INOW-AS, US",
@@ -190,7 +211,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": null,
"bgpLocalAs": 265086,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "INOW-AS, US",
@@ -209,7 +233,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": null,
"bgpLocalAs": 265086,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "TXASHLTH, US",
@@ -228,7 +255,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": null,
"bgpLocalAs": 265086,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "TXASHLTH, US",
@@ -247,7 +277,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": null,
"bgpLocalAs": 265086,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "TXASHLTH, US",
@@ -266,7 +299,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": null,
"bgpLocalAs": 265086,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "TXASHLTH, US",
@@ -285,7 +321,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": null,
"bgpLocalAs": 265086,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "ISI-ISP, US",
@@ -304,7 +343,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": null,
"bgpLocalAs": 265086,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "ISI-ISP, US",
@@ -323,7 +365,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": null,
"bgpLocalAs": 265086,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "FRANCE-TELECOM-AS, EU",
@@ -342,7 +387,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": null,
"bgpLocalAs": 265086,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "ASN-ATTGMS, US",
@@ -361,7 +409,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": null,
"bgpLocalAs": 265086,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "VMX, CH",
@@ -380,7 +431,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": null,
"bgpLocalAs": 265086,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "ROGERS-AS-8160, CA",
@@ -399,7 +453,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": null,
"bgpLocalAs": 265086,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
},
{
"astext": "MEMO Str. Octavian Goga nr. 109, RO",
@@ -418,7 +475,10 @@
"bgpPeerInUpdateElapsedTime": 0,
"context_name": null,
"bgpLocalAs": 265086,
- "vrfLocalAs": null
+ "vrfLocalAs": null,
+ "bgpPeerLastErrorCode": null,
+ "bgpPeerLastErrorSubCode": null,
+ "bgpPeerLastErrorText": null
}
],
"bgpPeers_cbgp": []
diff --git a/tests/snmpsim/arista_eos.snmprec b/tests/snmpsim/arista_eos.snmprec
index ca5b69dfac..8c282486ed 100644
--- a/tests/snmpsim/arista_eos.snmprec
+++ b/tests/snmpsim/arista_eos.snmprec
@@ -2998,6 +2998,9 @@
1.3.6.1.4.1.30065.4.1.1.2.1.12.1.2.16.32.1.5.80.0.2.0.47.0.0.0.0.0.51.0.1|2|2
1.3.6.1.4.1.30065.4.1.1.2.1.13.1.1.4.192.168.0.2|2|6
1.3.6.1.4.1.30065.4.1.1.2.1.13.1.2.16.32.1.5.80.0.2.0.47.0.0.0.0.0.51.0.1|2|6
+1.3.6.1.4.1.30065.4.1.1.3.1.1.1.1.4.192.168.0.2|66|0
+1.3.6.1.4.1.30065.4.1.1.3.1.2.1.1.4.192.168.0.2|66|0
+1.3.6.1.4.1.30065.4.1.1.3.1.4.1.1.4.192.168.0.2|4|Cease/administrative shutdown
1.3.6.1.4.1.30065.4.1.1.4.1.1.1.1.4.192.168.0.2|66|13090321
1.3.6.1.4.1.30065.4.1.1.4.1.1.1.2.16.32.1.5.80.0.2.0.47.0.0.0.0.0.51.0.1|66|1551697
1.3.6.1.4.1.30065.4.1.1.4.1.2.1.1.4.192.168.0.2|66|4
diff --git a/tests/snmpsim/iosxr.snmprec b/tests/snmpsim/iosxr.snmprec
index ed83a627b8..c8154bb1a8 100644
--- a/tests/snmpsim/iosxr.snmprec
+++ b/tests/snmpsim/iosxr.snmprec
@@ -4499,6 +4499,7 @@
1.3.6.1.4.1.9.9.187.1.2.5.1.16.2.16.253.52.210.172.67.39.97.147.0.0.0.0.0.0.0.2|65|1976610
1.3.6.1.4.1.9.9.187.1.2.5.1.16.2.16.253.226.139.90.220.69.226.103.0.0.0.0.0.0.0.2|65|98826325
1.3.6.1.4.1.9.9.187.1.2.5.1.16.2.16.253.226.139.90.220.69.226.103.0.0.0.0.0.0.0.3|65|98826348
+1.3.6.1.4.1.9.9.187.1.2.5.1.17.1.4.192.168.5.149|4x|0602
1.3.6.1.4.1.9.9.187.1.2.5.1.19.1.4.192.168.5.149|66|1308186
1.3.6.1.4.1.9.9.187.1.2.5.1.19.1.4.192.168.7.43|66|1308119
1.3.6.1.4.1.9.9.187.1.2.5.1.19.1.4.192.168.7.155|66|1308138
@@ -4567,6 +4568,7 @@
1.3.6.1.4.1.9.9.187.1.2.5.1.27.2.16.253.52.210.172.67.39.97.147.0.0.0.0.0.0.0.2|66|470
1.3.6.1.4.1.9.9.187.1.2.5.1.27.2.16.253.226.139.90.220.69.226.103.0.0.0.0.0.0.0.2|66|59348951
1.3.6.1.4.1.9.9.187.1.2.5.1.27.2.16.253.226.139.90.220.69.226.103.0.0.0.0.0.0.0.3|66|59348952
+1.3.6.1.4.1.9.9.187.1.2.5.1.28.1.4.192.168.5.149|4|administrative shutdown
1.3.6.1.4.1.9.9.187.1.2.8.1.1.1.4.192.168.5.149.1.1|65|18418
1.3.6.1.4.1.9.9.187.1.2.8.1.1.1.4.192.168.5.149.1.2|65|2334
1.3.6.1.4.1.9.9.187.1.2.8.1.1.1.4.192.168.7.43.1.1|65|0