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 ''; +echo ''; $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 - - + + 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 "
Peer addressTypeFamilyRemote ASPeer descriptionStateUptime
Peer addressTypeFamilyRemote ASPeer descriptionStateLast errorUptime
".(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'].'
"; - echo ''; + echo ''; 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()) { - - + + '; 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
Local addressPeer addressTypeFamilyRemote ASPeer descriptionStateUptime / Updates
Local addressPeer addressTypeFamilyRemote ASPeer descriptionStateLast errorUptime / Updates
".$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']).'