refactor: Refactored bgp-peers (#7972)

* bgp-peers update
Use IP parsing library more effectively.
Fix update issue
Include comware bgp-peers test data
deeper refactoring
Allow JunOS fallback to BGP4-MIB, some models only use that.
Add junos bgp4 data
Actually update all bpg data in the poller

* fix arista data. refactor some to prevent missing data from mucking things up

* refactor to use $oid_map for BGP4-MIB too

* A few comments to break up teh file a bit

* Junos bgp data an a quick revert for now.

* small cleanup

* fix ios bgp polling, add test data

* check the correct variable
This commit is contained in:
Tony Murray 2018-01-18 14:54:38 -06:00 committed by Neil Lathwood
parent c80f9726c8
commit 88b4e31912
19 changed files with 1441 additions and 214 deletions

View File

@ -221,4 +221,11 @@ abstract class IP
{
return array_pad(explode('/', $ip, 2), 2, $this->host_bits);
}
/**
* Convert this IP to an snmp index hex encoded
*
* @return string
*/
abstract public function toSnmpIndex();
}

View File

@ -119,4 +119,14 @@ class IPv4 extends IP
return long2ip(ip2long($this->ip) & $this->cidr2long($cidr));
}
/**
* Convert this IP to an snmp index hex encoded
*
* @return string
*/
public function toSnmpIndex()
{
return (string)$this->ip;
}
}

View File

@ -147,4 +147,15 @@ class IPv6 extends IP
return zeropad($section, 4);
}, $parts));
}
/**
* Convert this IP to an snmp index hex encoded
*
* @return string
*/
public function toSnmpIndex()
{
$ipv6_split = str_split(str_replace(':', '', $this->uncompressed()), 2);
return implode('.', array_map('hexdec', $ipv6_split));
}
}

View File

@ -11,7 +11,7 @@ if (Config::get('enable_bgp')) {
$vrfs_lite_cisco = array(array('context_name'=>null));
}
$bgpLocalAs = trim(snmp_walk($device, '.1.3.6.1.2.1.15.2', '-Oqvn'));
$bgpLocalAs = snmp_getnext($device, 'bgpLocalAs', '-Oqvn', 'BGP4-MIB');
foreach ($vrfs_lite_cisco as $vrf) {
$device['context_name'] = $vrf['context_name'];
@ -27,20 +27,21 @@ if (Config::get('enable_bgp')) {
if ($device['os_group'] === 'arista') {
$peers_data = snmp_walk($device, 'aristaBgp4V2PeerRemoteAs', '-Oq', 'ARISTA-BGP4V2-MIB');
$peer2 = true;
} elseif ($device['os'] !== 'junos') {
$peers_data = snmp_walk($device, 'cbgpPeer2RemoteAs', '-Oq', 'CISCO-BGP4-MIB');
if (empty($peers_data)) {
$peers_data = snmp_walk($device, 'BGP4-MIB::bgpPeerRemoteAs', '-Oq', 'BGP4-MIB');
} else {
$peer2 = true;
}
} elseif ($device['os'] == 'junos') {
$peers_data = snmp_walk($device, 'jnxBgpM2PeerRemoteAs', '-Onq', 'BGP4-V2-MIB-JUNIPER', 'junos');
} elseif ($device['os_group'] === 'cisco') {
$peers_data = snmp_walk($device, 'cbgpPeer2RemoteAs', '-Oq', 'CISCO-BGP4-MIB');
$peer2 = !empty($peers_data);
}
if (empty($peers_data)) {
$bgp4_mib = true;
$peers_data = snmp_walk($device, 'bgpPeerRemoteAs', '-Oq', 'BGP4-MIB');
}
} else {
echo 'No BGP on host';
if ($device['bgpLocalAs']) {
dbUpdate(array('bgpLocalAs' => 'NULL'), 'devices', 'device_id=?', array($device['device_id']));
dbUpdate(array('bgpLocalAs' => array('NULL')), 'devices', 'device_id=?', array($device['device_id']));
echo ' (Removed ASN) ';
}
}
@ -61,9 +62,9 @@ if (Config::get('enable_bgp')) {
if ($device['os_group'] == 'cisco') {
if (empty($af_data)) {
if ($peer2 === true) {
$af_data = snmpwalk_cache_oid($device, 'cbgpPeer2AddrFamilyEntry', $cbgp, 'CISCO-BGP4-MIB');
$af_data = snmpwalk_cache_oid($device, 'cbgpPeer2AddrFamilyEntry', array(), 'CISCO-BGP4-MIB');
} else {
$af_data = snmpwalk_cache_oid($device, 'cbgpPeerAddrFamilyEntry', $cbgp, 'CISCO-BGP4-MIB');
$af_data = snmpwalk_cache_oid($device, 'cbgpPeerAddrFamilyEntry', array(), 'CISCO-BGP4-MIB');
}
}
}
@ -78,7 +79,7 @@ if (Config::get('enable_bgp')) {
$af_list = build_cbgp_peers($device, $peer, $af_data, $peer2);
}
if ($device['os'] == 'junos') {
if (!$bgp4_mib && $device['os'] == 'junos') {
$safis[1] = 'unicast';
$safis[2] = 'multicast';
$safis[3] = 'unicastAndMulticast';

View File

@ -1152,10 +1152,14 @@ function sensors($types, $device, $valid, $pre_cache = array())
function build_bgp_peers($device, $data, $peer2)
{
d_echo("Peers : $data\n");
$peers = trim(str_replace('ARISTA-BGP4V2-MIB::aristaBgp4V2PeerRemoteAs.1.', '', $data));
$peers = trim(str_replace('CISCO-BGP4-MIB::cbgpPeer2RemoteAs.', '', $peers));
$peers = trim(str_replace('BGP4-MIB::bgpPeerRemoteAs.', '', $peers));
$peers = trim(str_replace('.1.3.6.1.4.1.2636.5.1.1.2.1.1.1.13.', '', $peers));
$remove = array(
'ARISTA-BGP4V2-MIB::aristaBgp4V2PeerRemoteAs.1.',
'CISCO-BGP4-MIB::cbgpPeer2RemoteAs.',
'BGP4-MIB::bgpPeerRemoteAs.',
'.1.3.6.1.4.1.2636.5.1.1.2.1.1.1.13.',
);
$peers = trim(str_replace($remove, '', $data));
$peerlist = array();
$ver = '';
foreach (explode("\n", $peers) as $peer) {
@ -1168,10 +1172,10 @@ function build_bgp_peers($device, $data, $peer2)
$octets = count(explode(".", $peer_ip));
if ($octets > 11) {
// ipv6
$peer_ip = (string)IP::parse(snmp2ipv6(implode('.', array_slice(explode('.', $peer_ip), (count(explode('.', $peer_ip)) - 16)))), true);
$peer_ip = (string)IP::parse(snmp2ipv6($peer_ip), true);
} else {
// ipv4
$peer_ip = implode('.', array_slice(explode('.', $peer_ip), (count(explode('.', $peer_ip)) - 4)));
$peer_ip = implode('.', array_slice(explode('.', $peer_ip), -4));
}
} else {
if (strstr($peer_ip, ':')) {

View File

@ -838,14 +838,10 @@ function match_network($nets, $ip, $first = false)
// FIXME port to LibreNMS\Util\IPv6 class
function snmp2ipv6($ipv6_snmp)
{
$ipv6 = explode('.', $ipv6_snmp);
$ipv6_2 = array();
# Workaround stupid Microsoft bug in Windows 2008 -- this is fixed length!
# < fenestro> "because whoever implemented this mib for Microsoft was ignorant of RFC 2578 section 7.7 (2)"
if (count($ipv6) == 17 && $ipv6[0] == 16) {
array_shift($ipv6);
}
$ipv6 = array_slice(explode('.', $ipv6_snmp), -16);
$ipv6_2 = array();
for ($i = 0; $i <= 15; $i++) {
$ipv6[$i] = zeropad(dechex($ipv6[$i]));
@ -857,17 +853,6 @@ function snmp2ipv6($ipv6_snmp)
return implode(':', $ipv6_2);
}
function ipv62snmp($ipv6)
{
try {
$ipv6 = IP::parse($ipv6)->uncompressed();
$ipv6_split = str_split(str_replace(':', '', $ipv6), 2);
return implode('.', array_map('hexdec', $ipv6_split));
} catch (InvalidIpException $e) {
return '';
}
}
function get_astext($asn)
{
global $config,$cache;

View File

@ -1,5 +1,6 @@
<?php
use LibreNMS\Exceptions\InvalidIpException;
use LibreNMS\RRD\RrdDefinition;
use LibreNMS\Util\IP;
@ -18,150 +19,171 @@ if ($config['enable_bgp']) {
foreach ($peers as $peer) {
//add context if exist
$device['context_name'] = $peer['context_name'];
if (strstr(":", $peer['bgpPeerIdentifier'])) {
$peer_ip = ipv62snmp($peer['bgpPeerIdentifier']);
} else {
$peer_ip = $peer['bgpPeerIdentifier'];
}
// Poll BGP Peer
echo 'Checking BGP peer '.$peer['bgpPeerIdentifier'].' ';
try {
$peer_ip = IP::parse($peer['bgpPeerIdentifier']);
if (!empty($peer['bgpPeerIdentifier'])) {
if ($device['os'] != 'junos') {
// v4 BGP4 MIB
if (count($peer_data_check) > 0) {
if (strstr($peer['bgpPeerIdentifier'], ':')) {
$bgp_peer_ident = ipv62snmp($peer['bgpPeerIdentifier']);
} else {
$bgp_peer_ident = $peer['bgpPeerIdentifier'];
echo "Checking BGP peer $peer_ip ";
// --- Collect BGP data ---
if (count($peer_data_check) > 0) {
if ($device['os'] == 'junos') {
if (!isset($junos)) {
echo "\nCaching Oids...";
foreach ($peer_data_check as $hash => $index) {
$peer_ip_snmp = ltrim($index['orig'], '.');
$exploded_ip = explode('.', $peer_ip_snmp);
if (count($exploded_ip) > 11) {
// ipv6
$tmp_peer_ip = (string)IP::parse(snmp2ipv6($peer_ip_snmp), true);
} else {
// ipv4
$tmp_peer_ip = implode('.', array_slice($exploded_ip, -4));
}
$junos[$tmp_peer_ip]['hash'] = $hash;
$junos[$tmp_peer_ip]['index'] = $index['jnxBgpM2PeerIndex'];
}
}
if (strstr($peer['bgpPeerIdentifier'], ':')) {
if (!isset($peer_data_tmp)) {
$peer_data_tmp = snmpwalk_cache_long_oid($device, 'jnxBgpM2PeerState', '.1.3.6.1.4.1.2636.5.1.1.2.1.1.1.2', $peer_data_tmp, 'BGP4-V2-MIB-JUNIPER', 'junos');
$peer_data_tmp = snmpwalk_cache_long_oid($device, 'jnxBgpM2PeerStatus', '.1.3.6.1.4.1.2636.5.1.1.2.1.1.1.3', $peer_data_tmp, 'BGP4-V2-MIB-JUNIPER', 'junos');
$peer_data_tmp = snmpwalk_cache_long_oid($device, 'jnxBgpM2PeerInUpdates', '.1.3.6.1.4.1.2636.5.1.1.2.6.1.1.1', $peer_data_tmp, 'BGP4-V2-MIB-JUNIPER', 'junos');
$peer_data_tmp = snmpwalk_cache_long_oid($device, 'jnxBgpM2PeerOutUpdates', '.1.3.6.1.4.1.2636.5.1.1.2.6.1.1.2', $peer_data_tmp, 'BGP4-V2-MIB-JUNIPER', 'junos');
$peer_data_tmp = snmpwalk_cache_long_oid($device, 'jnxBgpM2PeerInTotalMessages', '.1.3.6.1.4.1.2636.5.1.1.2.6.1.1.3', $peer_data_tmp, 'BGP4-V2-MIB-JUNIPER', 'junos');
$peer_data_tmp = snmpwalk_cache_long_oid($device, 'jnxBgpM2PeerOutTotalMessages', '.1.3.6.1.4.1.2636.5.1.1.2.6.1.1.4', $peer_data_tmp, 'BGP4-V2-MIB-JUNIPER', 'junos');
$peer_data_tmp = snmpwalk_cache_long_oid($device, 'jnxBgpM2PeerFsmEstablishedTime', '.1.3.6.1.4.1.2636.5.1.1.2.4.1.1.1', $peer_data_tmp, 'BGP4-V2-MIB-JUNIPER', 'junos');
$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');
d_echo($peer_data_tmp);
}
$peer_hash = $junos[(string)$peer_ip]['hash'];
$peer_data = array();
$peer_data['bgpPeerState'] = $peer_data_tmp[$peer_hash]['jnxBgpM2PeerState'];
$peer_data['bgpPeerAdminStatus'] = $peer_data_tmp[$peer_hash]['jnxBgpM2PeerStatus'];
$peer_data['bgpPeerInUpdates'] = $peer_data_tmp[$peer_hash]['jnxBgpM2PeerInUpdates'];
$peer_data['bgpPeerOutUpdates'] = $peer_data_tmp[$peer_hash]['jnxBgpM2PeerOutUpdates'];
$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'];
try {
$peer_data['bgpLocalAddr'] = IP::fromHexString($peer_data_tmp[$peer_hash]['jnxBgpM2PeerLocalAddr'])->uncompressed();
} catch (InvalidIpException $e) {
$peer_data['bgpLocalAddr'] = '';
}
d_echo("State = {$peer_data['bgpPeerState']} - AdminStatus: {$peer_data['bgpPeerAdminStatus']}\n");
} else {
$bgp_peer_ident = $peer_ip->toSnmpIndex();
$ip_ver = $peer_ip->getFamily();
if ($ip_ver == 'ipv6') {
$ip_type = 2;
$ip_len = 16;
$ip_ver = 'ipv6';
$ip_len = 16;
} else {
$ip_type = 1;
$ip_len = 4;
$ip_ver = 'ipv4';
$ip_len = 4;
}
if ($device['os_group'] === 'arista') {
$peer_identifier = '1.'.$ip_type.'.'.$ip_len.'.'.$bgp_peer_ident;
$peer_data_tmp = snmp_get_multi(
$device,
' aristaBgp4V2PeerState.' . $peer_identifier . ' aristaBgp4V2PeerAdminStatus.' . $peer_identifier . ' aristaBgp4V2PeerInUpdates.' . $peer_identifier . ' aristaBgp4V2PeerOutUpdates.' . $peer_identifier . ' aristaBgp4V2PeerInTotalMessages.' . $peer_identifier . ' aristaBgp4V2PeerOutTotalMessages.' . $peer_identifier . ' aristaBgp4V2PeerFsmEstablishedTime.' . $peer_identifier . ' aristaBgp4V2PeerInUpdatesElapsedTime.' . $peer_identifier . ' aristaBgp4V2PeerLocalAddr.' . $peer_identifier,
'-OQUs',
'ARISTA-BGP4V2-MIB'
$peer_identifier = '1.' . $ip_type . '.' . $ip_len . '.' . $bgp_peer_ident;
$mib = 'ARISTA-BGP4V2-MIB';
$oid_map = array(
'aristaBgp4V2PeerState' => 'bgpPeerState',
'aristaBgp4V2PeerAdminStatus' => 'bgpPeerAdminStatus',
'aristaBgp4V2PeerInUpdates' => 'bgpPeerInUpdates',
'aristaBgp4V2PeerOutUpdates' => 'bgpPeerOutUpdates',
'aristaBgp4V2PeerInTotalMessages' => 'bgpPeerInTotalMessages',
'aristaBgp4V2PeerOutTotalMessages' => 'bgpPeerOutTotalMessages',
'aristaBgp4V2PeerFsmEstablishedTime' => 'bgpPeerFsmEstablishedTime',
'aristaBgp4V2PeerInUpdatesElapsedTime' => 'bgpPeerInUpdateElapsedTime',
'aristaBgp4V2PeerLocalAddr' => 'bgpLocalAddr',
);
} else {
$peer_identifier = $ip_type.'.'.$ip_len.'.'.$bgp_peer_ident;
$peer_data_tmp = snmp_get_multi(
$device,
' cbgpPeer2State.' . $peer_identifier . ' cbgpPeer2AdminStatus.' . $peer_identifier . ' cbgpPeer2InUpdates.' . $peer_identifier . ' cbgpPeer2OutUpdates.' . $peer_identifier . ' cbgpPeer2InTotalMessages.' . $peer_identifier . ' cbgpPeer2OutTotalMessages.' . $peer_identifier . ' cbgpPeer2FsmEstablishedTime.' . $peer_identifier . ' cbgpPeer2InUpdateElapsedTime.' . $peer_identifier . ' cbgpPeer2LocalAddr.' . $peer_identifier,
'-OQUs',
'CISCO-BGP4-MIB'
$peer_identifier = $ip_type . '.' . $ip_len . '.' . $bgp_peer_ident;
$mib = 'CISCO-BGP4-MIB';
$oid_map = array(
'cbgpPeer2State' => 'bgpPeerState',
'cbgpPeer2AdminStatus' => 'bgpPeerAdminStatus',
'cbgpPeer2InUpdates' => 'bgpPeerInUpdates',
'cbgpPeer2OutUpdates' => 'bgpPeerOutUpdates',
'cbgpPeer2InTotalMessages' => 'bgpPeerInTotalMessages',
'cbgpPeer2OutTotalMessages' => 'bgpPeerOutTotalMessages',
'cbgpPeer2FsmEstablishedTime' => 'bgpPeerFsmEstablishedTime',
'cbgpPeer2InUpdateElapsedTime' => 'bgpPeerInUpdateElapsedTime',
'cbgpPeer2LocalAddr' => 'bgpLocalAddr',
);
}
$ident = "$ip_ver.\"".$bgp_peer_ident.'"';
$peer_data = array();
$ident_key = array_keys($peer_data_tmp);
foreach ($peer_data_tmp[$ident_key[0]] as $k => $v) {
if (strstr($k, 'cbgpPeer2LocalAddr') || $k === 'aristaBgp4V2PeerLocalAddr') {
if ($ip_ver == 'ipv6') {
$v = str_replace('"', '', $v);
$v = rtrim($v);
$v = preg_replace('/(\S+\s+\S+)\s/', '$1:', $v);
$v = strtolower($v);
} else {
$v = IP::fromHexString($v, true);
}
}
} else {
$peer_identifier = $peer['bgpPeerIdentifier'];
$mib = 'BGP4-MIB';
$oid_map = array(
'bgpPeerState' => 'bgpPeerState',
'bgpPeerAdminStatus' => 'bgpPeerAdminStatus',
'bgpPeerInUpdates' => 'bgpPeerInUpdates',
'bgpPeerOutUpdates' => 'bgpPeerOutUpdates',
'bgpPeerInTotalMessages' => 'bgpPeerInTotalMessages',
'bgpPeerOutTotalMessages' => 'bgpPeerOutTotalMessages',
'bgpPeerFsmEstablishedTime' => 'bgpPeerFsmEstablishedTime',
'bgpPeerInUpdateElapsedTime' => 'bgpPeerInUpdateElapsedTime',
'bgpPeerLocalAddr' => 'bgpLocalAddr', // silly db field name
);
}
// --- Build peer data if it is not already filled in ---
if (empty($peer_data) && isset($peer_identifier, $oid_map, $mib)) {
echo "Fetching $mib data... \n";
$get_oids = array_map(function ($oid) use ($peer_identifier) {
return "$oid.$peer_identifier";
}, array_keys($oid_map));
$peer_data_raw = snmp_get_multi($device, $get_oids, '-OQUs', $mib);
$peer_data_raw = reset($peer_data_raw); // get the first element of the array
$peer_data = array();
foreach ($oid_map as $source => $target) {
$v = isset($peer_data_raw[$source]) ? $peer_data_raw[$source] : '';
if (str_contains($source, 'LocalAddr')) {
try {
$v = IP::fromHexString($v)->uncompressed();
} catch (InvalidIpException $e) {
// if parsing fails, leave the data as-is
}
$peer_data[] = $v;
}
} else {
$oids = array(
'bgpPeerState.'.$peer['bgpPeerIdentifier'],
'bgpPeerAdminStatus.'.$peer['bgpPeerIdentifier'],
'bgpPeerInUpdates.'.$peer['bgpPeerIdentifier'],
'bgpPeerOutUpdates.'.$peer['bgpPeerIdentifier'],
'bgpPeerInTotalMessages.'.$peer['bgpPeerIdentifier'],
'bgpPeerOutTotalMessages.'.$peer['bgpPeerIdentifier'],
'bgpPeerFsmEstablishedTime.'.$peer['bgpPeerIdentifier'],
'bgpPeerInUpdateElapsedTime.'.$peer['bgpPeerIdentifier'],
'bgpPeerLocalAddr.'.$peer['bgpPeerIdentifier']
);
$peer_data = array_values(snmp_get_multi_oid($device, $oids, '-OUQ', 'BGP4-MIB'));
}//end if
d_echo($peer_data);
list($bgpPeerState, $bgpPeerAdminStatus, $bgpPeerInUpdates, $bgpPeerOutUpdates, $bgpPeerInTotalMessages, $bgpPeerOutTotalMessages, $bgpPeerFsmEstablishedTime, $bgpPeerInUpdateElapsedTime, $bgpLocalAddr) = $peer_data;
$bgpLocalAddr = str_replace('"', '', str_replace(' ', '', $bgpLocalAddr));
} elseif ($device['os'] == 'junos') {
if (!isset($junos)) {
echo "\nCaching Oids...";
foreach ($peer_data_check as $hash => $index) {
$peer_ip_snmp = ltrim($index['orig'], '.');
$octets = count(explode(".", $peer_ip_snmp));
if ($octets > 11) {
// ipv6
$tmp_peer_ip = (string)IP::parse(snmp2ipv6(implode('.', array_slice(explode('.', $peer_ip_snmp), (count(explode('.', $peer_ip_snmp)) - 16)))), true);
} else {
// ipv4
$tmp_peer_ip = implode('.', array_slice(explode('.', $peer_ip_snmp), (count(explode('.', $peer_ip_snmp)) - 4)));
}
$junos[$tmp_peer_ip]['hash'] = $hash;
$junos[$tmp_peer_ip]['index'] = $index['jnxBgpM2PeerIndex'];
}
$peer_data[$target] = $v;
}
}
if (!isset($peer_data_tmp)) {
$peer_data_tmp = snmpwalk_cache_long_oid($device, 'jnxBgpM2PeerState', '.1.3.6.1.4.1.2636.5.1.1.2.1.1.1.2', $peer_data_tmp, 'BGP4-V2-MIB-JUNIPER', 'junos');
$peer_data_tmp = snmpwalk_cache_long_oid($device, 'jnxBgpM2PeerStatus', '.1.3.6.1.4.1.2636.5.1.1.2.1.1.1.3', $peer_data_tmp, 'BGP4-V2-MIB-JUNIPER', 'junos');
$peer_data_tmp = snmpwalk_cache_long_oid($device, 'jnxBgpM2PeerInUpdates', '.1.3.6.1.4.1.2636.5.1.1.2.6.1.1.1', $peer_data_tmp, 'BGP4-V2-MIB-JUNIPER', 'junos');
$peer_data_tmp = snmpwalk_cache_long_oid($device, 'jnxBgpM2PeerOutUpdates', '.1.3.6.1.4.1.2636.5.1.1.2.6.1.1.2', $peer_data_tmp, 'BGP4-V2-MIB-JUNIPER', 'junos');
$peer_data_tmp = snmpwalk_cache_long_oid($device, 'jnxBgpM2PeerInTotalMessages', '.1.3.6.1.4.1.2636.5.1.1.2.6.1.1.3', $peer_data_tmp, 'BGP4-V2-MIB-JUNIPER', 'junos');
$peer_data_tmp = snmpwalk_cache_long_oid($device, 'jnxBgpM2PeerOutTotalMessages', '.1.3.6.1.4.1.2636.5.1.1.2.6.1.1.4', $peer_data_tmp, 'BGP4-V2-MIB-JUNIPER', 'junos');
$peer_data_tmp = snmpwalk_cache_long_oid($device, 'jnxBgpM2PeerFsmEstablishedTime', '.1.3.6.1.4.1.2636.5.1.1.2.4.1.1.1', $peer_data_tmp, 'BGP4-V2-MIB-JUNIPER', 'junos');
$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');
d_echo($peer_data_tmp);
}
$bgpPeerState = $peer_data_tmp[$junos[$peer_ip]['hash']]['jnxBgpM2PeerState'];
$bgpPeerAdminStatus = $peer_data_tmp[$junos[$peer_ip]['hash']]['jnxBgpM2PeerStatus'];
$bgpPeerInUpdates = $peer_data_tmp[$junos[$peer_ip]['hash']]['jnxBgpM2PeerInUpdates'];
$bgpPeerOutUpdates = $peer_data_tmp[$junos[$peer_ip]['hash']]['jnxBgpM2PeerOutUpdates'];
$bgpPeerInTotalMessages = $peer_data_tmp[$junos[$peer_ip]['hash']]['jnxBgpM2PeerInTotalMessages'];
$bgpPeerOutTotalMessages = $peer_data_tmp[$junos[$peer_ip]['hash']]['jnxBgpM2PeerOutTotalMessages'];
$bgpPeerFsmEstablishedTime = $peer_data_tmp[$junos[$peer_ip]['hash']]['jnxBgpM2PeerFsmEstablishedTime'];
$bgpPeerInUpdateElapsedTime = $peer_data_tmp[$junos[$peer_ip]['hash']]['jnxBgpM2PeerInUpdatesElapsedTime'];
d_echo($peer_data);
} catch (InvalidIpException $e) {
// ignore
}
$bgpLocalAddr = IP::fromHexString($peer_data_tmp[$junos[$peer_ip]['hash']]['jnxBgpM2PeerLocalAddr'], true);
d_echo("State = $bgpPeerState - AdminStatus: $bgpPeerAdminStatus\n");
if ($bgpLocalAddr == '00000000000000000000000000000000') {
$bgpLocalAddr = '';
// Unknown?
}
}//end if
}//end if
if ($bgpPeerFsmEstablishedTime) {
if (!(is_array($config['alerts']['bgp']['whitelist']) && !in_array($peer['bgpPeerRemoteAs'], $config['alerts']['bgp']['whitelist'])) && ($bgpPeerFsmEstablishedTime < $peer['bgpPeerFsmEstablishedTime'] || $bgpPeerState != $peer['bgpPeerState'])) {
if ($peer['bgpPeerState'] == $bgpPeerState) {
log_event('BGP Session Flap: ' . $peer['bgpPeerIdentifier'] . ' (AS' . $peer['bgpPeerRemoteAs'] . ')', $device, 'bgpPeer', 4, $bgpPeer_id);
} elseif ($bgpPeerState == 'established') {
log_event('BGP Session Up: ' . $peer['bgpPeerIdentifier'] . ' (AS' . $peer['bgpPeerRemoteAs'] . ')', $device, 'bgpPeer', 1, $bgpPeer_id);
// --- Send event log notices ---
if ($peer_data['bgpPeerFsmEstablishedTime']) {
if (!(is_array($config['alerts']['bgp']['whitelist'])
&& !in_array($peer['bgpPeerRemoteAs'], $config['alerts']['bgp']['whitelist']))
&& ($peer_data['bgpPeerFsmEstablishedTime'] < $peer['bgpPeerFsmEstablishedTime']
|| $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);
} 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, $bgpPeer_id);
log_event('BGP Session Down: ' . $peer['bgpPeerIdentifier'] . ' (AS' . $peer['bgpPeerRemoteAs'] . ')', $device, 'bgpPeer', 5, $peer_ip);
}
}
}
// --- Update rrd data ---
$peer_rrd_name = safename('bgp-'.$peer['bgpPeerIdentifier']);
$peer_rrd_def = RrdDefinition::make()
->addDataset('bgpPeerOutUpdates', 'COUNTER', null, 100000000000)
@ -171,16 +193,16 @@ if ($config['enable_bgp']) {
->addDataset('bgpPeerEstablished', 'GAUGE', 0);
// Validate data
$bgpPeerFsmEstablishedTime = set_numeric($bgpPeerFsmEstablishedTime);
$bgpPeerInUpdates = set_numeric($bgpPeerInUpdates);
$bgpPeerOutUpdates = set_numeric($bgpPeerOutUpdates);
$peer_data['bgpPeerFsmEstablishedTime'] = set_numeric($peer_data['bgpPeerFsmEstablishedTime']);
$peer_data['bgpPeerInUpdates'] = set_numeric($peer_data['bgpPeerInUpdates']);
$peer_data['bgpPeerOutUpdates'] = set_numeric($peer_data['bgpPeerOutUpdates']);
$fields = array(
'bgpPeerOutUpdates' => $bgpPeerOutUpdates,
'bgpPeerInUpdates' => $bgpPeerInUpdates,
'bgpPeerOutTotal' => $bgpPeerOutTotalMessages,
'bgpPeerInTotal' => $bgpPeerInTotalMessages,
'bgpPeerEstablished' => $bgpPeerFsmEstablishedTime,
'bgpPeerOutUpdates' => $peer_data['bgpPeerOutUpdates'],
'bgpPeerInUpdates' => $peer_data['bgpPeerInUpdates'],
'bgpPeerOutTotal' => $peer_data['bgpPeerOutTotalMessages'],
'bgpPeerInTotal' => $peer_data['bgpPeerInTotalMessages'],
'bgpPeerEstablished' => $peer_data['bgpPeerFsmEstablishedTime'],
);
$tags = array(
@ -190,21 +212,15 @@ if ($config['enable_bgp']) {
);
data_update($device, 'bgp', $tags, $fields);
$bgpPeers_fields = array(
'bgpPeerState' => $bgpPeerState,
'bgpPeerAdminStatus' => $bgpPeerAdminStatus,
'bgpPeerFsmEstablishedTime' => $bgpPeerFsmEstablishedTime,
'bgpPeerInUpdates' => $bgpPeerInUpdates,
'bgpLocalAddr' => $bgpLocalAddr,
'bgpPeerOutUpdates' => $bgpPeerOutUpdates,
);
$peer['update'] = array_diff_assoc($bgpPeers_fields, $peer);
// --- Update Database data ---
$peer['update'] = array_diff_assoc($peer_data, $peer);
unset($peer_data);
if ($peer['update']) {
dbUpdate($peer['update'], 'bgpPeers', '`device_id` = ? AND `bgpPeerIdentifier` = ?', array($device['device_id'], $peer['bgpPeerIdentifier']));
}
// --- Populate cbgp data ---
if ($device['os_group'] == 'cisco' || $device['os'] == 'junos' || $device['os_group'] === 'arista') {
// Poll each AFI/SAFI for this peer (using CISCO-BGP4-MIB or BGP4-V2-JUNIPER MIB)
$peer_afis = dbFetchRows('SELECT * FROM bgpPeers_cbgp WHERE `device_id` = ? AND bgpPeerIdentifier = ?', array($device['device_id'], $peer['bgpPeerIdentifier']));
@ -214,15 +230,15 @@ if ($config['enable_bgp']) {
d_echo("$afi $safi\n");
if ($device['os_group'] == 'cisco') {
$bgp_peer_ident = ipv62snmp($peer['bgpPeerIdentifier']);
if (strstr($peer['bgpPeerIdentifier'], ':')) {
$bgp_peer_ident = $peer_ip->toSnmpIndex();
$ip_ver = $peer_ip->getFamily();
if ($ip_ver == 'ipv6') {
$ip_type = 2;
$ip_len = 16;
$ip_ver = 'ipv6';
} else {
$ip_type = 1;
$ip_len = 4;
$ip_ver = 'ipv4';
}
$ip_cast = 1;
@ -302,9 +318,9 @@ if ($config['enable_bgp']) {
d_echo($j_prefixes);
}
$cbgpPeerAcceptedPrefixes = array_shift($j_prefixes['1.3.6.1.4.1.2636.5.1.1.2.6.2.1.8.'.$junos[$peer_ip]['index'].".$afis[$afi].".$safis[$safi]]);
$cbgpPeerDeniedPrefixes = array_shift($j_prefixes['1.3.6.1.4.1.2636.5.1.1.2.6.2.1.9.'.$junos[$peer_ip]['index'].".$afis[$afi].".$safis[$safi]]);
$cbgpPeerAdvertisedPrefixes = array_shift($j_prefixes['1.3.6.1.4.1.2636.5.1.1.2.6.2.1.10.'.$junos[$peer_ip]['index'].".$afis[$afi].".$safis[$safi]]);
$cbgpPeerAcceptedPrefixes = array_shift($j_prefixes['1.3.6.1.4.1.2636.5.1.1.2.6.2.1.8.'.$junos[(string)$peer_ip]['index'].".$afis[$afi].".$safis[$safi]]);
$cbgpPeerDeniedPrefixes = array_shift($j_prefixes['1.3.6.1.4.1.2636.5.1.1.2.6.2.1.9.'.$junos[(string)$peer_ip]['index'].".$afis[$afi].".$safis[$safi]]);
$cbgpPeerAdvertisedPrefixes = array_shift($j_prefixes['1.3.6.1.4.1.2636.5.1.1.2.6.2.1.10.'.$junos[(string)$peer_ip]['index'].".$afis[$afi].".$safis[$safi]]);
}//end if
if ($device['os_group'] === 'arista') {

View File

@ -484,6 +484,11 @@ function snmpwalk_cache_numerical_oid($device, $oid, $array, $mib = null, $mibdi
function snmpwalk_cache_long_oid($device, $oid, $noid, $array, $mib = null, $mibdir = null, $snmpflags = '-OQnU')
{
$data = snmp_walk($device, $oid, $snmpflags, $mib, $mibdir);
if (empty($data)) {
return $array;
}
foreach (explode("\n", $data) as $entry) {
list($tmp_oid,$value) = explode('=', $entry, 2);
$tmp_oid = trim($tmp_oid);

View File

@ -168,10 +168,11 @@ class IpTest extends TestCase
$this->assertSame('2001:db8:85a3:341a::370:7334', IP::parse('2001:db8:85a3:341a::370:7334/128')->getNetworkAddress());
}
public function testIpv62snmp()
public function testToSnmpIndex()
{
$this->assertSame('32.1.8.120.224.0.130.226.134.161.0.0.0.0.0.0', ipv62snmp('2001:878:e000:82e2:86a1:0000:0000:0000'));
$this->assertSame('0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1', ipv62snmp('::1'));
$this->assertSame('32.1.8.120.0.0.224.0.0.130.0.226.0.136.0.161', ipv62snmp('2001:0878:0000:e000:0082:00e2:0088:00a1'));
$this->assertSame('192.168.1.5', IP::parse('192.168.1.5')->toSnmpIndex());
$this->assertSame('32.1.8.120.224.0.130.226.134.161.0.0.0.0.0.0', IP::parse('2001:878:e000:82e2:86a1:0000:0000:0000')->toSnmpIndex());
$this->assertSame('0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1', IP::parse('::1')->toSnmpIndex());
$this->assertSame('32.1.8.120.0.0.224.0.0.130.0.226.0.136.0.161', IP::parse('2001:0878:0000:e000:0082:00e2:0088:00a1')->toSnmpIndex());
}
}

View File

@ -104,14 +104,14 @@
"bgpPeerRemoteAs": "65000",
"bgpPeerState": "established",
"bgpPeerAdminStatus": "running",
"bgpLocalAddr": "",
"bgpLocalAddr": "192.168.0.1",
"bgpPeerRemoteAddr": "0.0.0.0",
"bgpPeerInUpdates": "13362513",
"bgpPeerOutUpdates": "13579799",
"bgpPeerInTotalMessages": "0",
"bgpPeerOutTotalMessages": "0",
"bgpPeerFsmEstablishedTime": "4",
"bgpPeerInUpdateElapsedTime": "0",
"bgpPeerInTotalMessages": "13579799",
"bgpPeerOutTotalMessages": "17644316",
"bgpPeerFsmEstablishedTime": "13090321",
"bgpPeerInUpdateElapsedTime": "4",
"context_name": ""
},
{
@ -124,10 +124,10 @@
"bgpPeerRemoteAddr": "0.0.0.0",
"bgpPeerInUpdates": "12658044",
"bgpPeerOutUpdates": "118",
"bgpPeerInTotalMessages": "0",
"bgpPeerOutTotalMessages": "0",
"bgpPeerInTotalMessages": "12658183",
"bgpPeerOutTotalMessages": "447455",
"bgpPeerFsmEstablishedTime": "1551697",
"bgpPeerInUpdateElapsedTime": "0",
"bgpPeerInUpdateElapsedTime": "17",
"context_name": ""
}
],
@ -183,4 +183,4 @@
]
}
}
}
}

View File

@ -59,10 +59,10 @@
"bgpPeerRemoteAddr": "0.0.0.0",
"bgpPeerInUpdates": "1",
"bgpPeerOutUpdates": "87",
"bgpPeerInTotalMessages": "0",
"bgpPeerOutTotalMessages": "0",
"bgpPeerInTotalMessages": "423531",
"bgpPeerOutTotalMessages": "493449",
"bgpPeerFsmEstablishedTime": "22497219",
"bgpPeerInUpdateElapsedTime": "0",
"bgpPeerInUpdateElapsedTime": "22497219",
"context_name": ""
},
{
@ -75,14 +75,14 @@
"bgpPeerRemoteAddr": "0.0.0.0",
"bgpPeerInUpdates": "1",
"bgpPeerOutUpdates": "6",
"bgpPeerInTotalMessages": "0",
"bgpPeerOutTotalMessages": "0",
"bgpPeerInTotalMessages": "4875",
"bgpPeerOutTotalMessages": "4462",
"bgpPeerFsmEstablishedTime": "259280",
"bgpPeerInUpdateElapsedTime": "0",
"bgpPeerInUpdateElapsedTime": "259280",
"context_name": ""
}
],
"bgpPeers_cbgp": []
}
}
}
}

282
tests/data/ios_3560g.json Normal file
View File

@ -0,0 +1,282 @@
{
"bgp-peers": {
"discovery": {
"devices": [
{
"bgpLocalAs": "64513"
}
],
"bgpPeers": [
{
"astext": "",
"bgpPeerIdentifier": "192.168.99.20",
"bgpPeerRemoteAs": "64513",
"bgpPeerState": "idle",
"bgpPeerAdminStatus": "stop",
"bgpLocalAddr": "0.0.0.0",
"bgpPeerRemoteAddr": "0.0.0.0",
"bgpPeerInUpdates": "0",
"bgpPeerOutUpdates": "0",
"bgpPeerInTotalMessages": "0",
"bgpPeerOutTotalMessages": "0",
"bgpPeerFsmEstablishedTime": "0",
"bgpPeerInUpdateElapsedTime": "0",
"context_name": ""
},
{
"astext": "",
"bgpPeerIdentifier": "192.168.99.25",
"bgpPeerRemoteAs": "64513",
"bgpPeerState": "idle",
"bgpPeerAdminStatus": "stop",
"bgpLocalAddr": "0.0.0.0",
"bgpPeerRemoteAddr": "0.0.0.0",
"bgpPeerInUpdates": "0",
"bgpPeerOutUpdates": "0",
"bgpPeerInTotalMessages": "0",
"bgpPeerOutTotalMessages": "0",
"bgpPeerFsmEstablishedTime": "0",
"bgpPeerInUpdateElapsedTime": "0",
"context_name": ""
}
],
"bgpPeers_cbgp": [
{
"bgpPeerIdentifier": "192.168.99.20",
"afi": "ipv4",
"safi": "multicast",
"AcceptedPrefixes": "0",
"DeniedPrefixes": "0",
"PrefixAdminLimit": "0",
"PrefixThreshold": "0",
"PrefixClearThreshold": "0",
"AdvertisedPrefixes": "0",
"SuppressedPrefixes": "0",
"WithdrawnPrefixes": "0",
"AcceptedPrefixes_delta": "0",
"AcceptedPrefixes_prev": "0",
"DeniedPrefixes_delta": "0",
"DeniedPrefixes_prev": "0",
"AdvertisedPrefixes_delta": "0",
"AdvertisedPrefixes_prev": "0",
"SuppressedPrefixes_delta": "0",
"SuppressedPrefixes_prev": "0",
"WithdrawnPrefixes_delta": "0",
"WithdrawnPrefixes_prev": "0",
"context_name": ""
},
{
"bgpPeerIdentifier": "192.168.99.20",
"afi": "ipv4",
"safi": "unicast",
"AcceptedPrefixes": "0",
"DeniedPrefixes": "0",
"PrefixAdminLimit": "0",
"PrefixThreshold": "0",
"PrefixClearThreshold": "0",
"AdvertisedPrefixes": "0",
"SuppressedPrefixes": "0",
"WithdrawnPrefixes": "0",
"AcceptedPrefixes_delta": "0",
"AcceptedPrefixes_prev": "0",
"DeniedPrefixes_delta": "0",
"DeniedPrefixes_prev": "0",
"AdvertisedPrefixes_delta": "0",
"AdvertisedPrefixes_prev": "0",
"SuppressedPrefixes_delta": "0",
"SuppressedPrefixes_prev": "0",
"WithdrawnPrefixes_delta": "0",
"WithdrawnPrefixes_prev": "0",
"context_name": ""
},
{
"bgpPeerIdentifier": "192.168.99.25",
"afi": "ipv4",
"safi": "multicast",
"AcceptedPrefixes": "0",
"DeniedPrefixes": "0",
"PrefixAdminLimit": "0",
"PrefixThreshold": "0",
"PrefixClearThreshold": "0",
"AdvertisedPrefixes": "0",
"SuppressedPrefixes": "0",
"WithdrawnPrefixes": "0",
"AcceptedPrefixes_delta": "0",
"AcceptedPrefixes_prev": "0",
"DeniedPrefixes_delta": "0",
"DeniedPrefixes_prev": "0",
"AdvertisedPrefixes_delta": "0",
"AdvertisedPrefixes_prev": "0",
"SuppressedPrefixes_delta": "0",
"SuppressedPrefixes_prev": "0",
"WithdrawnPrefixes_delta": "0",
"WithdrawnPrefixes_prev": "0",
"context_name": ""
},
{
"bgpPeerIdentifier": "192.168.99.25",
"afi": "ipv4",
"safi": "unicast",
"AcceptedPrefixes": "0",
"DeniedPrefixes": "0",
"PrefixAdminLimit": "0",
"PrefixThreshold": "0",
"PrefixClearThreshold": "0",
"AdvertisedPrefixes": "0",
"SuppressedPrefixes": "0",
"WithdrawnPrefixes": "0",
"AcceptedPrefixes_delta": "0",
"AcceptedPrefixes_prev": "0",
"DeniedPrefixes_delta": "0",
"DeniedPrefixes_prev": "0",
"AdvertisedPrefixes_delta": "0",
"AdvertisedPrefixes_prev": "0",
"SuppressedPrefixes_delta": "0",
"SuppressedPrefixes_prev": "0",
"WithdrawnPrefixes_delta": "0",
"WithdrawnPrefixes_prev": "0",
"context_name": ""
}
]
},
"poller": {
"devices": [
{
"bgpLocalAs": "64513"
}
],
"bgpPeers": [
{
"astext": "",
"bgpPeerIdentifier": "192.168.99.20",
"bgpPeerRemoteAs": "64513",
"bgpPeerState": "established",
"bgpPeerAdminStatus": "start",
"bgpLocalAddr": "192.168.99.21",
"bgpPeerRemoteAddr": "0.0.0.0",
"bgpPeerInUpdates": "5",
"bgpPeerOutUpdates": "4",
"bgpPeerInTotalMessages": "100",
"bgpPeerOutTotalMessages": "99",
"bgpPeerFsmEstablishedTime": "893",
"bgpPeerInUpdateElapsedTime": "0",
"context_name": ""
},
{
"astext": "",
"bgpPeerIdentifier": "192.168.99.25",
"bgpPeerRemoteAs": "64513",
"bgpPeerState": "established",
"bgpPeerAdminStatus": "start",
"bgpLocalAddr": "192.168.99.21",
"bgpPeerRemoteAddr": "0.0.0.0",
"bgpPeerInUpdates": "8",
"bgpPeerOutUpdates": "4",
"bgpPeerInTotalMessages": "19",
"bgpPeerOutTotalMessages": "15",
"bgpPeerFsmEstablishedTime": "467",
"bgpPeerInUpdateElapsedTime": "0",
"context_name": ""
}
],
"bgpPeers_cbgp": [
{
"bgpPeerIdentifier": "192.168.99.20",
"afi": "ipv4",
"safi": "multicast",
"AcceptedPrefixes": "2",
"DeniedPrefixes": "0",
"PrefixAdminLimit": "0",
"PrefixThreshold": "0",
"PrefixClearThreshold": "0",
"AdvertisedPrefixes": "4",
"SuppressedPrefixes": "0",
"WithdrawnPrefixes": "0",
"AcceptedPrefixes_delta": "2",
"AcceptedPrefixes_prev": "0",
"DeniedPrefixes_delta": "0",
"DeniedPrefixes_prev": "0",
"AdvertisedPrefixes_delta": "4",
"AdvertisedPrefixes_prev": "0",
"SuppressedPrefixes_delta": "0",
"SuppressedPrefixes_prev": "0",
"WithdrawnPrefixes_delta": "0",
"WithdrawnPrefixes_prev": "0",
"context_name": ""
},
{
"bgpPeerIdentifier": "192.168.99.20",
"afi": "ipv4",
"safi": "unicast",
"AcceptedPrefixes": "15",
"DeniedPrefixes": "0",
"PrefixAdminLimit": "0",
"PrefixThreshold": "0",
"PrefixClearThreshold": "0",
"AdvertisedPrefixes": "6",
"SuppressedPrefixes": "0",
"WithdrawnPrefixes": "0",
"AcceptedPrefixes_delta": "15",
"AcceptedPrefixes_prev": "0",
"DeniedPrefixes_delta": "0",
"DeniedPrefixes_prev": "0",
"AdvertisedPrefixes_delta": "6",
"AdvertisedPrefixes_prev": "0",
"SuppressedPrefixes_delta": "0",
"SuppressedPrefixes_prev": "0",
"WithdrawnPrefixes_delta": "0",
"WithdrawnPrefixes_prev": "0",
"context_name": ""
},
{
"bgpPeerIdentifier": "192.168.99.25",
"afi": "ipv4",
"safi": "multicast",
"AcceptedPrefixes": "2",
"DeniedPrefixes": "2",
"PrefixAdminLimit": "0",
"PrefixThreshold": "0",
"PrefixClearThreshold": "0",
"AdvertisedPrefixes": "4",
"SuppressedPrefixes": "0",
"WithdrawnPrefixes": "0",
"AcceptedPrefixes_delta": "2",
"AcceptedPrefixes_prev": "0",
"DeniedPrefixes_delta": "2",
"DeniedPrefixes_prev": "0",
"AdvertisedPrefixes_delta": "4",
"AdvertisedPrefixes_prev": "0",
"SuppressedPrefixes_delta": "0",
"SuppressedPrefixes_prev": "0",
"WithdrawnPrefixes_delta": "0",
"WithdrawnPrefixes_prev": "0",
"context_name": ""
},
{
"bgpPeerIdentifier": "192.168.99.25",
"afi": "ipv4",
"safi": "unicast",
"AcceptedPrefixes": "17",
"DeniedPrefixes": "3",
"PrefixAdminLimit": "0",
"PrefixThreshold": "0",
"PrefixClearThreshold": "0",
"AdvertisedPrefixes": "6",
"SuppressedPrefixes": "0",
"WithdrawnPrefixes": "0",
"AcceptedPrefixes_delta": "17",
"AcceptedPrefixes_prev": "0",
"DeniedPrefixes_delta": "3",
"DeniedPrefixes_prev": "0",
"AdvertisedPrefixes_delta": "6",
"AdvertisedPrefixes_prev": "0",
"SuppressedPrefixes_delta": "0",
"SuppressedPrefixes_prev": "0",
"WithdrawnPrefixes_delta": "0",
"WithdrawnPrefixes_prev": "0",
"context_name": ""
}
]
}
}
}

View File

@ -188,10 +188,10 @@
"bgpPeerRemoteAddr": "0.0.0.0",
"bgpPeerInUpdates": "1",
"bgpPeerOutUpdates": "4",
"bgpPeerInTotalMessages": "0",
"bgpPeerOutTotalMessages": "0",
"bgpPeerInTotalMessages": "302",
"bgpPeerOutTotalMessages": "316",
"bgpPeerFsmEstablishedTime": "8497",
"bgpPeerInUpdateElapsedTime": "0",
"bgpPeerInUpdateElapsedTime": "8491",
"context_name": ""
},
{
@ -204,10 +204,10 @@
"bgpPeerRemoteAddr": "0.0.0.0",
"bgpPeerInUpdates": "1",
"bgpPeerOutUpdates": "4",
"bgpPeerInTotalMessages": "0",
"bgpPeerOutTotalMessages": "0",
"bgpPeerInTotalMessages": "303",
"bgpPeerOutTotalMessages": "313",
"bgpPeerFsmEstablishedTime": "8492",
"bgpPeerInUpdateElapsedTime": "0",
"bgpPeerInUpdateElapsedTime": "8491",
"context_name": ""
},
{
@ -220,10 +220,10 @@
"bgpPeerRemoteAddr": "0.0.0.0",
"bgpPeerInUpdates": "1",
"bgpPeerOutUpdates": "3",
"bgpPeerInTotalMessages": "0",
"bgpPeerOutTotalMessages": "0",
"bgpPeerInTotalMessages": "302",
"bgpPeerOutTotalMessages": "315",
"bgpPeerFsmEstablishedTime": "8487",
"bgpPeerInUpdateElapsedTime": "0",
"bgpPeerInUpdateElapsedTime": "8486",
"context_name": ""
},
{
@ -236,10 +236,10 @@
"bgpPeerRemoteAddr": "0.0.0.0",
"bgpPeerInUpdates": "1",
"bgpPeerOutUpdates": "3",
"bgpPeerInTotalMessages": "0",
"bgpPeerOutTotalMessages": "0",
"bgpPeerInTotalMessages": "303",
"bgpPeerOutTotalMessages": "314",
"bgpPeerFsmEstablishedTime": "8487",
"bgpPeerInUpdateElapsedTime": "0",
"bgpPeerInUpdateElapsedTime": "8486",
"context_name": ""
}
],
@ -343,4 +343,4 @@
]
}
}
}
}

120
tests/data/junos_ex.json Normal file
View File

@ -0,0 +1,120 @@
{
"bgp-peers": {
"discovery": {
"devices": [
{
"bgpLocalAs": "65501"
}
],
"bgpPeers": [
{
"astext": "",
"bgpPeerIdentifier": "192.168.1.4",
"bgpPeerRemoteAs": "65502",
"bgpPeerState": "idle",
"bgpPeerAdminStatus": "stop",
"bgpLocalAddr": "0.0.0.0",
"bgpPeerRemoteAddr": "0.0.0.0",
"bgpPeerInUpdates": "0",
"bgpPeerOutUpdates": "0",
"bgpPeerInTotalMessages": "0",
"bgpPeerOutTotalMessages": "0",
"bgpPeerFsmEstablishedTime": "0",
"bgpPeerInUpdateElapsedTime": "0",
"context_name": ""
},
{
"astext": "",
"bgpPeerIdentifier": "192.168.1.186",
"bgpPeerRemoteAs": "65503",
"bgpPeerState": "idle",
"bgpPeerAdminStatus": "stop",
"bgpLocalAddr": "0.0.0.0",
"bgpPeerRemoteAddr": "0.0.0.0",
"bgpPeerInUpdates": "0",
"bgpPeerOutUpdates": "0",
"bgpPeerInTotalMessages": "0",
"bgpPeerOutTotalMessages": "0",
"bgpPeerFsmEstablishedTime": "0",
"bgpPeerInUpdateElapsedTime": "0",
"context_name": ""
},
{
"astext": "",
"bgpPeerIdentifier": "192.168.1.226",
"bgpPeerRemoteAs": "65504",
"bgpPeerState": "idle",
"bgpPeerAdminStatus": "stop",
"bgpLocalAddr": "0.0.0.0",
"bgpPeerRemoteAddr": "0.0.0.0",
"bgpPeerInUpdates": "0",
"bgpPeerOutUpdates": "0",
"bgpPeerInTotalMessages": "0",
"bgpPeerOutTotalMessages": "0",
"bgpPeerFsmEstablishedTime": "0",
"bgpPeerInUpdateElapsedTime": "0",
"context_name": ""
}
],
"bgpPeers_cbgp": []
},
"poller": {
"devices": [
{
"bgpLocalAs": "65501"
}
],
"bgpPeers": [
{
"astext": "",
"bgpPeerIdentifier": "192.168.1.4",
"bgpPeerRemoteAs": "65502",
"bgpPeerState": "established",
"bgpPeerAdminStatus": "start",
"bgpLocalAddr": "192.168.1.43",
"bgpPeerRemoteAddr": "0.0.0.0",
"bgpPeerInUpdates": "10526",
"bgpPeerOutUpdates": "531",
"bgpPeerInTotalMessages": "824076",
"bgpPeerOutTotalMessages": "871063",
"bgpPeerFsmEstablishedTime": "23675506",
"bgpPeerInUpdateElapsedTime": "21748",
"context_name": ""
},
{
"astext": "",
"bgpPeerIdentifier": "192.168.1.186",
"bgpPeerRemoteAs": "65503",
"bgpPeerState": "established",
"bgpPeerAdminStatus": "start",
"bgpLocalAddr": "192.168.1.185",
"bgpPeerRemoteAddr": "0.0.0.0",
"bgpPeerInUpdates": "1",
"bgpPeerOutUpdates": "1",
"bgpPeerInTotalMessages": "29928",
"bgpPeerOutTotalMessages": "28798",
"bgpPeerFsmEstablishedTime": "785386",
"bgpPeerInUpdateElapsedTime": "785386",
"context_name": ""
},
{
"astext": "",
"bgpPeerIdentifier": "192.168.1.226",
"bgpPeerRemoteAs": "65504",
"bgpPeerState": "established",
"bgpPeerAdminStatus": "start",
"bgpLocalAddr": "192.168.1.225",
"bgpPeerRemoteAddr": "0.0.0.0",
"bgpPeerInUpdates": "3",
"bgpPeerOutUpdates": "1",
"bgpPeerInTotalMessages": "25802",
"bgpPeerOutTotalMessages": "28382",
"bgpPeerFsmEstablishedTime": "774041",
"bgpPeerInUpdateElapsedTime": "774040",
"context_name": ""
}
],
"bgpPeers_cbgp": []
}
}
}

554
tests/data/junos_mx.json Normal file
View File

@ -0,0 +1,554 @@
{
"bgp-peers": {
"discovery": {
"devices": [
{
"bgpLocalAs": "64513"
}
],
"bgpPeers": [
{
"astext": "",
"bgpPeerIdentifier": "192.168.99.25",
"bgpPeerRemoteAs": "64513",
"bgpPeerState": "idle",
"bgpPeerAdminStatus": "stop",
"bgpLocalAddr": "0.0.0.0",
"bgpPeerRemoteAddr": "0.0.0.0",
"bgpPeerInUpdates": "0",
"bgpPeerOutUpdates": "0",
"bgpPeerInTotalMessages": "0",
"bgpPeerOutTotalMessages": "0",
"bgpPeerFsmEstablishedTime": "0",
"bgpPeerInUpdateElapsedTime": "0",
"context_name": ""
},
{
"astext": "",
"bgpPeerIdentifier": "192.168.99.34",
"bgpPeerRemoteAs": "65000",
"bgpPeerState": "idle",
"bgpPeerAdminStatus": "stop",
"bgpLocalAddr": "0.0.0.0",
"bgpPeerRemoteAddr": "0.0.0.0",
"bgpPeerInUpdates": "0",
"bgpPeerOutUpdates": "0",
"bgpPeerInTotalMessages": "0",
"bgpPeerOutTotalMessages": "0",
"bgpPeerFsmEstablishedTime": "0",
"bgpPeerInUpdateElapsedTime": "0",
"context_name": ""
},
{
"astext": "",
"bgpPeerIdentifier": "fd00:28:1:1::1:5",
"bgpPeerRemoteAs": "64513",
"bgpPeerState": "idle",
"bgpPeerAdminStatus": "stop",
"bgpLocalAddr": "0.0.0.0",
"bgpPeerRemoteAddr": "0.0.0.0",
"bgpPeerInUpdates": "0",
"bgpPeerOutUpdates": "0",
"bgpPeerInTotalMessages": "0",
"bgpPeerOutTotalMessages": "0",
"bgpPeerFsmEstablishedTime": "0",
"bgpPeerInUpdateElapsedTime": "0",
"context_name": ""
}
],
"bgpPeers_cbgp": [
{
"bgpPeerIdentifier": "192.168.99.25",
"afi": "25",
"safi": "",
"AcceptedPrefixes": "0",
"DeniedPrefixes": "0",
"PrefixAdminLimit": "0",
"PrefixThreshold": "0",
"PrefixClearThreshold": "0",
"AdvertisedPrefixes": "0",
"SuppressedPrefixes": "0",
"WithdrawnPrefixes": "0",
"AcceptedPrefixes_delta": "0",
"AcceptedPrefixes_prev": "0",
"DeniedPrefixes_delta": "0",
"DeniedPrefixes_prev": "0",
"AdvertisedPrefixes_delta": "0",
"AdvertisedPrefixes_prev": "0",
"SuppressedPrefixes_delta": "0",
"SuppressedPrefixes_prev": "0",
"WithdrawnPrefixes_delta": "0",
"WithdrawnPrefixes_prev": "0",
"context_name": ""
},
{
"bgpPeerIdentifier": "192.168.99.25",
"afi": "ipv4",
"safi": "",
"AcceptedPrefixes": "0",
"DeniedPrefixes": "0",
"PrefixAdminLimit": "0",
"PrefixThreshold": "0",
"PrefixClearThreshold": "0",
"AdvertisedPrefixes": "0",
"SuppressedPrefixes": "0",
"WithdrawnPrefixes": "0",
"AcceptedPrefixes_delta": "0",
"AcceptedPrefixes_prev": "0",
"DeniedPrefixes_delta": "0",
"DeniedPrefixes_prev": "0",
"AdvertisedPrefixes_delta": "0",
"AdvertisedPrefixes_prev": "0",
"SuppressedPrefixes_delta": "0",
"SuppressedPrefixes_prev": "0",
"WithdrawnPrefixes_delta": "0",
"WithdrawnPrefixes_prev": "0",
"context_name": ""
},
{
"bgpPeerIdentifier": "192.168.99.25",
"afi": "ipv4",
"safi": "multicast",
"AcceptedPrefixes": "0",
"DeniedPrefixes": "0",
"PrefixAdminLimit": "0",
"PrefixThreshold": "0",
"PrefixClearThreshold": "0",
"AdvertisedPrefixes": "0",
"SuppressedPrefixes": "0",
"WithdrawnPrefixes": "0",
"AcceptedPrefixes_delta": "0",
"AcceptedPrefixes_prev": "0",
"DeniedPrefixes_delta": "0",
"DeniedPrefixes_prev": "0",
"AdvertisedPrefixes_delta": "0",
"AdvertisedPrefixes_prev": "0",
"SuppressedPrefixes_delta": "0",
"SuppressedPrefixes_prev": "0",
"WithdrawnPrefixes_delta": "0",
"WithdrawnPrefixes_prev": "0",
"context_name": ""
},
{
"bgpPeerIdentifier": "192.168.99.25",
"afi": "ipv4",
"safi": "unicast",
"AcceptedPrefixes": "0",
"DeniedPrefixes": "0",
"PrefixAdminLimit": "0",
"PrefixThreshold": "0",
"PrefixClearThreshold": "0",
"AdvertisedPrefixes": "0",
"SuppressedPrefixes": "0",
"WithdrawnPrefixes": "0",
"AcceptedPrefixes_delta": "0",
"AcceptedPrefixes_prev": "0",
"DeniedPrefixes_delta": "0",
"DeniedPrefixes_prev": "0",
"AdvertisedPrefixes_delta": "0",
"AdvertisedPrefixes_prev": "0",
"SuppressedPrefixes_delta": "0",
"SuppressedPrefixes_prev": "0",
"WithdrawnPrefixes_delta": "0",
"WithdrawnPrefixes_prev": "0",
"context_name": ""
},
{
"bgpPeerIdentifier": "192.168.99.25",
"afi": "ipv4",
"safi": "vpn",
"AcceptedPrefixes": "0",
"DeniedPrefixes": "0",
"PrefixAdminLimit": "0",
"PrefixThreshold": "0",
"PrefixClearThreshold": "0",
"AdvertisedPrefixes": "0",
"SuppressedPrefixes": "0",
"WithdrawnPrefixes": "0",
"AcceptedPrefixes_delta": "0",
"AcceptedPrefixes_prev": "0",
"DeniedPrefixes_delta": "0",
"DeniedPrefixes_prev": "0",
"AdvertisedPrefixes_delta": "0",
"AdvertisedPrefixes_prev": "0",
"SuppressedPrefixes_delta": "0",
"SuppressedPrefixes_prev": "0",
"WithdrawnPrefixes_delta": "0",
"WithdrawnPrefixes_prev": "0",
"context_name": ""
},
{
"bgpPeerIdentifier": "192.168.99.34",
"afi": "ipv4",
"safi": "labeledUnicast",
"AcceptedPrefixes": "0",
"DeniedPrefixes": "0",
"PrefixAdminLimit": "0",
"PrefixThreshold": "0",
"PrefixClearThreshold": "0",
"AdvertisedPrefixes": "0",
"SuppressedPrefixes": "0",
"WithdrawnPrefixes": "0",
"AcceptedPrefixes_delta": "0",
"AcceptedPrefixes_prev": "0",
"DeniedPrefixes_delta": "0",
"DeniedPrefixes_prev": "0",
"AdvertisedPrefixes_delta": "0",
"AdvertisedPrefixes_prev": "0",
"SuppressedPrefixes_delta": "0",
"SuppressedPrefixes_prev": "0",
"WithdrawnPrefixes_delta": "0",
"WithdrawnPrefixes_prev": "0",
"context_name": ""
},
{
"bgpPeerIdentifier": "192.168.99.34",
"afi": "ipv4",
"safi": "multicast",
"AcceptedPrefixes": "0",
"DeniedPrefixes": "0",
"PrefixAdminLimit": "0",
"PrefixThreshold": "0",
"PrefixClearThreshold": "0",
"AdvertisedPrefixes": "0",
"SuppressedPrefixes": "0",
"WithdrawnPrefixes": "0",
"AcceptedPrefixes_delta": "0",
"AcceptedPrefixes_prev": "0",
"DeniedPrefixes_delta": "0",
"DeniedPrefixes_prev": "0",
"AdvertisedPrefixes_delta": "0",
"AdvertisedPrefixes_prev": "0",
"SuppressedPrefixes_delta": "0",
"SuppressedPrefixes_prev": "0",
"WithdrawnPrefixes_delta": "0",
"WithdrawnPrefixes_prev": "0",
"context_name": ""
},
{
"bgpPeerIdentifier": "192.168.99.34",
"afi": "ipv4",
"safi": "unicast",
"AcceptedPrefixes": "0",
"DeniedPrefixes": "0",
"PrefixAdminLimit": "0",
"PrefixThreshold": "0",
"PrefixClearThreshold": "0",
"AdvertisedPrefixes": "0",
"SuppressedPrefixes": "0",
"WithdrawnPrefixes": "0",
"AcceptedPrefixes_delta": "0",
"AcceptedPrefixes_prev": "0",
"DeniedPrefixes_delta": "0",
"DeniedPrefixes_prev": "0",
"AdvertisedPrefixes_delta": "0",
"AdvertisedPrefixes_prev": "0",
"SuppressedPrefixes_delta": "0",
"SuppressedPrefixes_prev": "0",
"WithdrawnPrefixes_delta": "0",
"WithdrawnPrefixes_prev": "0",
"context_name": ""
},
{
"bgpPeerIdentifier": "192.168.99.34",
"afi": "ipv4",
"safi": "vpn",
"AcceptedPrefixes": "0",
"DeniedPrefixes": "0",
"PrefixAdminLimit": "0",
"PrefixThreshold": "0",
"PrefixClearThreshold": "0",
"AdvertisedPrefixes": "0",
"SuppressedPrefixes": "0",
"WithdrawnPrefixes": "0",
"AcceptedPrefixes_delta": "0",
"AcceptedPrefixes_prev": "0",
"DeniedPrefixes_delta": "0",
"DeniedPrefixes_prev": "0",
"AdvertisedPrefixes_delta": "0",
"AdvertisedPrefixes_prev": "0",
"SuppressedPrefixes_delta": "0",
"SuppressedPrefixes_prev": "0",
"WithdrawnPrefixes_delta": "0",
"WithdrawnPrefixes_prev": "0",
"context_name": ""
}
]
},
"poller": {
"devices": [
{
"bgpLocalAs": "64513"
}
],
"bgpPeers": [
{
"astext": "",
"bgpPeerIdentifier": "192.168.99.25",
"bgpPeerRemoteAs": "64513",
"bgpPeerState": "established",
"bgpPeerAdminStatus": "running",
"bgpLocalAddr": "192.168.99.24",
"bgpPeerRemoteAddr": "0.0.0.0",
"bgpPeerInUpdates": "7",
"bgpPeerOutUpdates": "0",
"bgpPeerInTotalMessages": "115",
"bgpPeerOutTotalMessages": "107",
"bgpPeerFsmEstablishedTime": "2915",
"bgpPeerInUpdateElapsedTime": "0",
"context_name": ""
},
{
"astext": "",
"bgpPeerIdentifier": "192.168.99.34",
"bgpPeerRemoteAs": "65000",
"bgpPeerState": "established",
"bgpPeerAdminStatus": "running",
"bgpLocalAddr": "192.168.99.24",
"bgpPeerRemoteAddr": "0.0.0.0",
"bgpPeerInUpdates": "6",
"bgpPeerOutUpdates": "0",
"bgpPeerInTotalMessages": "99",
"bgpPeerOutTotalMessages": "101",
"bgpPeerFsmEstablishedTime": "2744",
"bgpPeerInUpdateElapsedTime": "0",
"context_name": ""
},
{
"astext": "",
"bgpPeerIdentifier": "fd00:28:1:1::1:5",
"bgpPeerRemoteAs": "64513",
"bgpPeerState": "active",
"bgpPeerAdminStatus": "running",
"bgpLocalAddr": "fd00:0028:0001:0001:0000:0000:0001:0004",
"bgpPeerRemoteAddr": "0.0.0.0",
"bgpPeerInUpdates": "0",
"bgpPeerOutUpdates": "0",
"bgpPeerInTotalMessages": "0",
"bgpPeerOutTotalMessages": "0",
"bgpPeerFsmEstablishedTime": "1645",
"bgpPeerInUpdateElapsedTime": "0",
"context_name": ""
}
],
"bgpPeers_cbgp": [
{
"bgpPeerIdentifier": "192.168.99.25",
"afi": "25",
"safi": "",
"AcceptedPrefixes": "0",
"DeniedPrefixes": "0",
"PrefixAdminLimit": "0",
"PrefixThreshold": "0",
"PrefixClearThreshold": "0",
"AdvertisedPrefixes": "0",
"SuppressedPrefixes": "0",
"WithdrawnPrefixes": "0",
"AcceptedPrefixes_delta": "0",
"AcceptedPrefixes_prev": "0",
"DeniedPrefixes_delta": "0",
"DeniedPrefixes_prev": "0",
"AdvertisedPrefixes_delta": "0",
"AdvertisedPrefixes_prev": "0",
"SuppressedPrefixes_delta": "0",
"SuppressedPrefixes_prev": "0",
"WithdrawnPrefixes_delta": "0",
"WithdrawnPrefixes_prev": "0",
"context_name": ""
},
{
"bgpPeerIdentifier": "192.168.99.25",
"afi": "ipv4",
"safi": "",
"AcceptedPrefixes": "0",
"DeniedPrefixes": "0",
"PrefixAdminLimit": "0",
"PrefixThreshold": "0",
"PrefixClearThreshold": "0",
"AdvertisedPrefixes": "0",
"SuppressedPrefixes": "0",
"WithdrawnPrefixes": "0",
"AcceptedPrefixes_delta": "0",
"AcceptedPrefixes_prev": "0",
"DeniedPrefixes_delta": "0",
"DeniedPrefixes_prev": "0",
"AdvertisedPrefixes_delta": "0",
"AdvertisedPrefixes_prev": "0",
"SuppressedPrefixes_delta": "0",
"SuppressedPrefixes_prev": "0",
"WithdrawnPrefixes_delta": "0",
"WithdrawnPrefixes_prev": "0",
"context_name": ""
},
{
"bgpPeerIdentifier": "192.168.99.25",
"afi": "ipv4",
"safi": "multicast",
"AcceptedPrefixes": "0",
"DeniedPrefixes": "0",
"PrefixAdminLimit": "0",
"PrefixThreshold": "0",
"PrefixClearThreshold": "0",
"AdvertisedPrefixes": "0",
"SuppressedPrefixes": "0",
"WithdrawnPrefixes": "0",
"AcceptedPrefixes_delta": "0",
"AcceptedPrefixes_prev": "0",
"DeniedPrefixes_delta": "0",
"DeniedPrefixes_prev": "0",
"AdvertisedPrefixes_delta": "0",
"AdvertisedPrefixes_prev": "0",
"SuppressedPrefixes_delta": "0",
"SuppressedPrefixes_prev": "0",
"WithdrawnPrefixes_delta": "0",
"WithdrawnPrefixes_prev": "0",
"context_name": ""
},
{
"bgpPeerIdentifier": "192.168.99.25",
"afi": "ipv4",
"safi": "unicast",
"AcceptedPrefixes": "0",
"DeniedPrefixes": "0",
"PrefixAdminLimit": "0",
"PrefixThreshold": "0",
"PrefixClearThreshold": "0",
"AdvertisedPrefixes": "0",
"SuppressedPrefixes": "0",
"WithdrawnPrefixes": "0",
"AcceptedPrefixes_delta": "0",
"AcceptedPrefixes_prev": "0",
"DeniedPrefixes_delta": "0",
"DeniedPrefixes_prev": "0",
"AdvertisedPrefixes_delta": "0",
"AdvertisedPrefixes_prev": "0",
"SuppressedPrefixes_delta": "0",
"SuppressedPrefixes_prev": "0",
"WithdrawnPrefixes_delta": "0",
"WithdrawnPrefixes_prev": "0",
"context_name": ""
},
{
"bgpPeerIdentifier": "192.168.99.25",
"afi": "ipv4",
"safi": "vpn",
"AcceptedPrefixes": "0",
"DeniedPrefixes": "0",
"PrefixAdminLimit": "0",
"PrefixThreshold": "0",
"PrefixClearThreshold": "0",
"AdvertisedPrefixes": "0",
"SuppressedPrefixes": "0",
"WithdrawnPrefixes": "0",
"AcceptedPrefixes_delta": "0",
"AcceptedPrefixes_prev": "0",
"DeniedPrefixes_delta": "0",
"DeniedPrefixes_prev": "0",
"AdvertisedPrefixes_delta": "0",
"AdvertisedPrefixes_prev": "0",
"SuppressedPrefixes_delta": "0",
"SuppressedPrefixes_prev": "0",
"WithdrawnPrefixes_delta": "0",
"WithdrawnPrefixes_prev": "0",
"context_name": ""
},
{
"bgpPeerIdentifier": "192.168.99.34",
"afi": "ipv4",
"safi": "labeledUnicast",
"AcceptedPrefixes": "0",
"DeniedPrefixes": "0",
"PrefixAdminLimit": "0",
"PrefixThreshold": "0",
"PrefixClearThreshold": "0",
"AdvertisedPrefixes": "0",
"SuppressedPrefixes": "0",
"WithdrawnPrefixes": "0",
"AcceptedPrefixes_delta": "0",
"AcceptedPrefixes_prev": "0",
"DeniedPrefixes_delta": "0",
"DeniedPrefixes_prev": "0",
"AdvertisedPrefixes_delta": "0",
"AdvertisedPrefixes_prev": "0",
"SuppressedPrefixes_delta": "0",
"SuppressedPrefixes_prev": "0",
"WithdrawnPrefixes_delta": "0",
"WithdrawnPrefixes_prev": "0",
"context_name": ""
},
{
"bgpPeerIdentifier": "192.168.99.34",
"afi": "ipv4",
"safi": "multicast",
"AcceptedPrefixes": "0",
"DeniedPrefixes": "0",
"PrefixAdminLimit": "0",
"PrefixThreshold": "0",
"PrefixClearThreshold": "0",
"AdvertisedPrefixes": "0",
"SuppressedPrefixes": "0",
"WithdrawnPrefixes": "0",
"AcceptedPrefixes_delta": "0",
"AcceptedPrefixes_prev": "0",
"DeniedPrefixes_delta": "0",
"DeniedPrefixes_prev": "0",
"AdvertisedPrefixes_delta": "0",
"AdvertisedPrefixes_prev": "0",
"SuppressedPrefixes_delta": "0",
"SuppressedPrefixes_prev": "0",
"WithdrawnPrefixes_delta": "0",
"WithdrawnPrefixes_prev": "0",
"context_name": ""
},
{
"bgpPeerIdentifier": "192.168.99.34",
"afi": "ipv4",
"safi": "unicast",
"AcceptedPrefixes": "0",
"DeniedPrefixes": "1",
"PrefixAdminLimit": "0",
"PrefixThreshold": "0",
"PrefixClearThreshold": "0",
"AdvertisedPrefixes": "0",
"SuppressedPrefixes": "0",
"WithdrawnPrefixes": "0",
"AcceptedPrefixes_delta": "0",
"AcceptedPrefixes_prev": "0",
"DeniedPrefixes_delta": "1",
"DeniedPrefixes_prev": "0",
"AdvertisedPrefixes_delta": "0",
"AdvertisedPrefixes_prev": "0",
"SuppressedPrefixes_delta": "0",
"SuppressedPrefixes_prev": "0",
"WithdrawnPrefixes_delta": "0",
"WithdrawnPrefixes_prev": "0",
"context_name": ""
},
{
"bgpPeerIdentifier": "192.168.99.34",
"afi": "ipv4",
"safi": "vpn",
"AcceptedPrefixes": "0",
"DeniedPrefixes": "1",
"PrefixAdminLimit": "0",
"PrefixThreshold": "0",
"PrefixClearThreshold": "0",
"AdvertisedPrefixes": "0",
"SuppressedPrefixes": "0",
"WithdrawnPrefixes": "0",
"AcceptedPrefixes_delta": "0",
"AcceptedPrefixes_prev": "0",
"DeniedPrefixes_delta": "1",
"DeniedPrefixes_prev": "0",
"AdvertisedPrefixes_delta": "0",
"AdvertisedPrefixes_prev": "0",
"SuppressedPrefixes_delta": "0",
"SuppressedPrefixes_prev": "0",
"WithdrawnPrefixes_delta": "0",
"WithdrawnPrefixes_prev": "0",
"context_name": ""
}
]
}
}
}

View File

@ -5,7 +5,7 @@
1.3.6.1.2.1.1.6.0|4|<private>
1.3.6.1.2.1.15.2.0|2|65000
1.3.6.1.2.1.25.1.1.0|67|2793326600
1.3.6.1.4.1.30065.4.1.1.2.1.3.1.1.4.192.168.0.2|4x|17AA8001
1.3.6.1.4.1.30065.4.1.1.2.1.3.1.1.4.192.168.0.2|4x|C0A80001
1.3.6.1.4.1.30065.4.1.1.2.1.3.1.2.16.32.1.5.80.0.2.0.47.0.0.0.0.0.51.0.1|4x|200105500002002F0000000000330002
1.3.6.1.4.1.30065.4.1.1.2.1.10.1.1.4.192.168.0.2|66|65000
1.3.6.1.4.1.30065.4.1.1.2.1.10.1.2.16.32.1.5.80.0.2.0.47.0.0.0.0.0.51.0.1|66|65001
@ -19,7 +19,7 @@
1.3.6.1.4.1.30065.4.1.1.4.1.2.1.2.16.32.1.5.80.0.2.0.47.0.0.0.0.0.51.0.1|66|17
1.3.6.1.4.1.30065.4.1.1.7.1.1.1.1.4.192.168.0.2|65|13362513
1.3.6.1.4.1.30065.4.1.1.7.1.1.1.2.16.32.1.5.80.0.2.0.47.0.0.0.0.0.51.0.1|65|12658044
1.3.6.1.4.1.30065.4.1.1.7.1.2.1.1.4.192.168.0.2|65|6500126734
1.3.6.1.4.1.30065.4.1.1.7.1.2.1.1.4.192.168.0.2|65|13579799
1.3.6.1.4.1.30065.4.1.1.7.1.2.1.2.16.32.1.5.80.0.2.0.47.0.0.0.0.0.51.0.1|65|118
1.3.6.1.4.1.30065.4.1.1.7.1.3.1.1.4.192.168.0.2|65|13579799
1.3.6.1.4.1.30065.4.1.1.7.1.3.1.2.16.32.1.5.80.0.2.0.47.0.0.0.0.0.51.0.1|65|12658183

View File

@ -0,0 +1,55 @@
1.3.6.1.2.1.1.1.0|4x|436973636f20494f5320536f6674776172652c20433335363020536f667477617265202843333536302d495053455256494345534b392d4d292c2056657273696f6e2031352e30283229534531312c2052454c4541534520534f4654574152452028666333290a546563686e6963616c20537570706f72743a20687474703a2f2f7777772e636973636f2e636f6d2f74656368737570706f72740d0a436f707972696768742028632920313938362d3230313720627920436973636f2053797374656d732c20496e632e0d0a436f6d70696c6564205361742031392d4175672d31372030393a32312062792070726f645f72656c5f7465616d
1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.9.1.615
1.3.6.1.2.1.1.3.0|67|100659
1.3.6.1.2.1.1.4.0|4|<private>
1.3.6.1.2.1.1.5.0|4|<private>
1.3.6.1.2.1.1.6.0|4|<private>
1.3.6.1.2.1.15.2.0|2|64513
1.3.6.1.2.1.15.3.1.2.192.168.99.20|2|6
1.3.6.1.2.1.15.3.1.2.192.168.99.25|2|6
1.3.6.1.2.1.15.3.1.3.192.168.99.20|2|2
1.3.6.1.2.1.15.3.1.3.192.168.99.25|2|2
1.3.6.1.2.1.15.3.1.5.192.168.99.20|64|192.168.99.21
1.3.6.1.2.1.15.3.1.5.192.168.99.25|64|192.168.99.21
1.3.6.1.2.1.15.3.1.9.192.168.99.20|2|64513
1.3.6.1.2.1.15.3.1.9.192.168.99.25|2|64513
1.3.6.1.2.1.15.3.1.10.192.168.99.20|65|5
1.3.6.1.2.1.15.3.1.10.192.168.99.25|65|8
1.3.6.1.2.1.15.3.1.11.192.168.99.20|65|4
1.3.6.1.2.1.15.3.1.11.192.168.99.25|65|4
1.3.6.1.2.1.15.3.1.12.192.168.99.20|65|100
1.3.6.1.2.1.15.3.1.12.192.168.99.25|65|19
1.3.6.1.2.1.15.3.1.13.192.168.99.20|65|99
1.3.6.1.2.1.15.3.1.13.192.168.99.25|65|15
1.3.6.1.2.1.15.3.1.16.192.168.99.20|66|893
1.3.6.1.2.1.15.3.1.16.192.168.99.25|66|467
1.3.6.1.2.1.15.3.1.24.192.168.99.20|66|0
1.3.6.1.2.1.15.3.1.24.192.168.99.25|66|0
1.3.6.1.2.1.47.1.1.1.1.4.1001|2|0
1.3.6.1.2.1.47.1.1.1.1.11.1001|4|FOC1426Y2AY
1.3.6.1.2.1.47.1.1.1.1.13.1001|4|WS-C3560G-24TS-S
1.3.6.1.4.1.9.9.187.1.2.3.1.3.192.168.99.20.1.1|4|IPv4 Unicast
1.3.6.1.4.1.9.9.187.1.2.3.1.3.192.168.99.20.1.2|4|IPv4 Multicast
1.3.6.1.4.1.9.9.187.1.2.3.1.3.192.168.99.25.1.1|4|IPv4 Unicast
1.3.6.1.4.1.9.9.187.1.2.3.1.3.192.168.99.25.1.2|4|IPv4 Multicast
1.3.6.1.4.1.9.9.187.1.2.4.1.1.192.168.99.20.1.1|65|15
1.3.6.1.4.1.9.9.187.1.2.4.1.1.192.168.99.20.1.2|65|2
1.3.6.1.4.1.9.9.187.1.2.4.1.1.192.168.99.25.1.1|65|17
1.3.6.1.4.1.9.9.187.1.2.4.1.1.192.168.99.25.1.2|65|2
1.3.6.1.4.1.9.9.187.1.2.4.1.2.192.168.99.20.1.1|66|0
1.3.6.1.4.1.9.9.187.1.2.4.1.2.192.168.99.20.1.2|66|0
1.3.6.1.4.1.9.9.187.1.2.4.1.2.192.168.99.25.1.1|66|3
1.3.6.1.4.1.9.9.187.1.2.4.1.2.192.168.99.25.1.2|66|2
1.3.6.1.4.1.9.9.187.1.2.4.1.6.192.168.99.20.1.1|66|6
1.3.6.1.4.1.9.9.187.1.2.4.1.6.192.168.99.20.1.2|66|4
1.3.6.1.4.1.9.9.187.1.2.4.1.6.192.168.99.25.1.1|66|6
1.3.6.1.4.1.9.9.187.1.2.4.1.6.192.168.99.25.1.2|66|4
1.3.6.1.4.1.9.9.187.1.2.4.1.7.192.168.99.20.1.1|66|0
1.3.6.1.4.1.9.9.187.1.2.4.1.7.192.168.99.20.1.2|66|0
1.3.6.1.4.1.9.9.187.1.2.4.1.7.192.168.99.25.1.1|66|0
1.3.6.1.4.1.9.9.187.1.2.4.1.7.192.168.99.25.1.2|66|0
1.3.6.1.4.1.9.9.187.1.2.4.1.8.192.168.99.20.1.1|66|0
1.3.6.1.4.1.9.9.187.1.2.4.1.8.192.168.99.20.1.2|66|0
1.3.6.1.4.1.9.9.187.1.2.4.1.8.192.168.99.25.1.1|66|0
1.3.6.1.4.1.9.9.187.1.2.4.1.8.192.168.99.25.1.2|66|0
1.3.6.1.6.3.10.2.1.3.0|2|923

View File

@ -0,0 +1,39 @@
1.3.6.1.2.1.1.1.0|4|Juniper Networks, Inc. ex4200-48px Ethernet Switch, kernel JUNOS 12.3R9.4, Build date: 2015-02-12 12:00:53 UTC Copyright (c) 1996-2015 Juniper Networks, Inc.
1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.2636.1.1.1.2.31
1.3.6.1.2.1.1.3.0|67|2376164445
1.3.6.1.2.1.1.4.0|4|<private>
1.3.6.1.2.1.1.5.0|4|<private>
1.3.6.1.2.1.1.6.0|4|<private>
1.3.6.1.2.1.15.2.0|2|65501
1.3.6.1.2.1.15.3.1.2.192.168.1.4|2|6
1.3.6.1.2.1.15.3.1.2.192.168.1.186|2|6
1.3.6.1.2.1.15.3.1.2.192.168.1.226|2|6
1.3.6.1.2.1.15.3.1.3.192.168.1.4|2|2
1.3.6.1.2.1.15.3.1.3.192.168.1.186|2|2
1.3.6.1.2.1.15.3.1.3.192.168.1.226|2|2
1.3.6.1.2.1.15.3.1.5.192.168.1.4|64|192.168.1.43
1.3.6.1.2.1.15.3.1.5.192.168.1.186|64|192.168.1.185
1.3.6.1.2.1.15.3.1.5.192.168.1.226|64|192.168.1.225
1.3.6.1.2.1.15.3.1.9.0.0.0.0|2|65501
1.3.6.1.2.1.15.3.1.9.192.168.1.4|2|65502
1.3.6.1.2.1.15.3.1.9.192.168.1.186|2|65503
1.3.6.1.2.1.15.3.1.9.192.168.1.226|2|65504
1.3.6.1.2.1.15.3.1.10.192.168.1.4|65|10526
1.3.6.1.2.1.15.3.1.10.192.168.1.186|65|1
1.3.6.1.2.1.15.3.1.10.192.168.1.226|65|3
1.3.6.1.2.1.15.3.1.11.192.168.1.4|65|531
1.3.6.1.2.1.15.3.1.11.192.168.1.186|65|1
1.3.6.1.2.1.15.3.1.11.192.168.1.226|65|1
1.3.6.1.2.1.15.3.1.12.192.168.1.4|65|824076
1.3.6.1.2.1.15.3.1.12.192.168.1.186|65|29928
1.3.6.1.2.1.15.3.1.12.192.168.1.226|65|25802
1.3.6.1.2.1.15.3.1.13.192.168.1.4|65|871063
1.3.6.1.2.1.15.3.1.13.192.168.1.186|65|28798
1.3.6.1.2.1.15.3.1.13.192.168.1.226|65|28382
1.3.6.1.2.1.15.3.1.16.192.168.1.4|66|23675506
1.3.6.1.2.1.15.3.1.16.192.168.1.186|66|785386
1.3.6.1.2.1.15.3.1.16.192.168.1.226|66|774041
1.3.6.1.2.1.15.3.1.24.192.168.1.4|66|21748
1.3.6.1.2.1.15.3.1.24.192.168.1.186|66|785386
1.3.6.1.2.1.15.3.1.24.192.168.1.226|66|774040
1.3.6.1.2.1.25.1.1.0|67|2376182110

View File

@ -0,0 +1,137 @@
1.3.6.1.2.1.1.1.0|4|Juniper Networks, Inc. mx80 internet router, kernel JUNOS 16.2R2.8, Build date: 2017-07-06 04:21:20 UTC Copyright (c) 1996-2017 Juniper Networks, Inc.
1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.2636.1.1.1.2.57
1.3.6.1.2.1.1.3.0|67|12421061
1.3.6.1.2.1.1.4.0|4|<private>
1.3.6.1.2.1.1.5.0|4|<private>
1.3.6.1.2.1.1.6.0|4|<private>
1.3.6.1.2.1.15.2.0|2|64513
1.3.6.1.2.1.25.1.1.0|67|12442019
1.3.6.1.2.1.25.6.3.1.2.2|4|JUNOS Base OS Software Suite [16.2R2.8]
1.3.6.1.4.1.2636.3.1.3.0|4|G0290
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.1.0.1.192.168.99.24.1.192.168.99.25|4x|C0A86319
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.1.0.1.192.168.99.24.1.192.168.99.34|4x|C0A86322
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.1.0.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.4.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.5|4x|00000000
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.2.0.1.192.168.99.24.1.192.168.99.25|2|6
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.2.0.1.192.168.99.24.1.192.168.99.34|2|6
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.2.0.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.4.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.5|2|3
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.3.0.1.192.168.99.24.1.192.168.99.25|2|2
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.3.0.1.192.168.99.24.1.192.168.99.34|2|2
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.3.0.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.4.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.5|2|2
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.4.0.1.192.168.99.24.1.192.168.99.25|66|4
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.4.0.1.192.168.99.24.1.192.168.99.34|66|4
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.4.0.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.4.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.5|66|4
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.5.0.1.192.168.99.24.1.192.168.99.25|66|0
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.5.0.1.192.168.99.24.1.192.168.99.34|66|0
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.5.0.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.4.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.5|66|0
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.6.0.1.192.168.99.24.1.192.168.99.25|2|1
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.6.0.1.192.168.99.24.1.192.168.99.34|2|1
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.6.0.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.4.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.5|2|2
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.7.0.1.192.168.99.24.1.192.168.99.25|4x|C0A86318
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.7.0.1.192.168.99.24.1.192.168.99.34|4x|C0A86318
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.7.0.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.4.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.5|4x|FD000028000100010000000000010004
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.8.0.1.192.168.99.24.1.192.168.99.25|66|179
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.8.0.1.192.168.99.24.1.192.168.99.34|66|179
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.8.0.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.4.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.5|66|0
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.9.0.1.192.168.99.24.1.192.168.99.25|66|64513
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.9.0.1.192.168.99.24.1.192.168.99.34|66|64513
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.9.0.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.4.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.5|66|64513
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.10.0.1.192.168.99.24.1.192.168.99.25|2|1
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.10.0.1.192.168.99.24.1.192.168.99.34|2|1
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.10.0.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.4.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.5|2|2
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.11.0.1.192.168.99.24.1.192.168.99.25|4x|C0A86319
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.11.0.1.192.168.99.24.1.192.168.99.34|4x|C0A86322
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.11.0.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.4.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.5|4x|FD000028000100010000000000010005
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.12.0.1.192.168.99.24.1.192.168.99.25|66|38686
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.12.0.1.192.168.99.24.1.192.168.99.34|66|36976
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.12.0.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.4.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.5|66|0
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.13.0.1.192.168.99.24.1.192.168.99.25|66|64513
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.13.0.1.192.168.99.24.1.192.168.99.34|66|65000
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.13.0.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.4.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.5|66|64513
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.14.0.1.192.168.99.24.1.192.168.99.25|66|1
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.14.0.1.192.168.99.24.1.192.168.99.34|66|0
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.14.0.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.4.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.5|66|2
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.15.0.1.192.168.99.24.1.192.168.99.25|66|0
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.15.0.1.192.168.99.24.1.192.168.99.34|66|0
1.3.6.1.4.1.2636.5.1.1.2.1.1.1.15.0.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.4.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.5|66|0
1.3.6.1.4.1.2636.5.1.1.2.4.1.1.1.0.1.192.168.99.24.1.192.168.99.25|66|2915
1.3.6.1.4.1.2636.5.1.1.2.4.1.1.1.0.1.192.168.99.24.1.192.168.99.34|66|2744
1.3.6.1.4.1.2636.5.1.1.2.4.1.1.1.0.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.4.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.5|66|1645
1.3.6.1.4.1.2636.5.1.1.2.4.1.1.2.0.1.192.168.99.24.1.192.168.99.25|66|2888
1.3.6.1.4.1.2636.5.1.1.2.4.1.1.2.0.1.192.168.99.24.1.192.168.99.34|66|2743
1.3.6.1.4.1.2636.5.1.1.2.4.1.1.2.0.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.4.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.5|66|1645
1.3.6.1.4.1.2636.5.1.1.2.6.1.1.1.0.1.192.168.99.24.1.192.168.99.25|65|7
1.3.6.1.4.1.2636.5.1.1.2.6.1.1.1.0.1.192.168.99.24.1.192.168.99.34|65|6
1.3.6.1.4.1.2636.5.1.1.2.6.1.1.1.0.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.4.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.5|65|0
1.3.6.1.4.1.2636.5.1.1.2.6.1.1.2.0.1.192.168.99.24.1.192.168.99.25|65|0
1.3.6.1.4.1.2636.5.1.1.2.6.1.1.2.0.1.192.168.99.24.1.192.168.99.34|65|0
1.3.6.1.4.1.2636.5.1.1.2.6.1.1.2.0.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.4.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.5|65|0
1.3.6.1.4.1.2636.5.1.1.2.6.1.1.3.0.1.192.168.99.24.1.192.168.99.25|65|115
1.3.6.1.4.1.2636.5.1.1.2.6.1.1.3.0.1.192.168.99.24.1.192.168.99.34|65|99
1.3.6.1.4.1.2636.5.1.1.2.6.1.1.3.0.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.4.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.5|65|0
1.3.6.1.4.1.2636.5.1.1.2.6.1.1.4.0.1.192.168.99.24.1.192.168.99.25|65|107
1.3.6.1.4.1.2636.5.1.1.2.6.1.1.4.0.1.192.168.99.24.1.192.168.99.34|65|101
1.3.6.1.4.1.2636.5.1.1.2.6.1.1.4.0.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.4.2.253.0.0.40.0.1.0.1.0.0.0.0.0.1.0.5|65|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.1.0.1.1|2|1
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.1.0.1.2|2|1
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.1.0.1.4|2|1
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.1.0.1.128|2|1
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.1.1.1.1|2|1
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.1.1.1.2|2|1
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.1.1.1.5|2|1
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.1.1.1.128|2|1
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.1.1.25.65|2|25
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.2.0.1.1|66|1
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.2.0.1.2|66|2
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.2.0.1.4|66|4
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.2.0.1.128|66|128
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.2.1.1.1|66|1
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.2.1.1.2|66|2
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.2.1.1.5|66|5
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.2.1.1.128|66|128
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.2.1.25.65|66|65
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.7.0.1.1|66|1
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.7.0.1.2|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.7.0.1.4|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.7.0.1.128|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.7.1.1.1|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.7.1.1.2|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.7.1.1.5|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.7.1.1.128|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.7.1.25.65|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.8.0.1.1|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.8.0.1.2|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.8.0.1.4|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.8.0.1.128|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.8.1.1.1|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.8.1.1.2|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.8.1.1.5|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.8.1.1.128|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.8.1.25.65|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.9.0.1.1|66|1
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.9.0.1.2|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.9.0.1.4|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.9.0.1.128|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.9.1.1.1|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.9.1.1.2|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.9.1.1.5|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.9.1.1.128|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.9.1.25.65|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.10.0.1.1|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.10.0.1.2|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.10.0.1.4|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.10.0.1.128|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.10.1.1.1|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.10.1.1.2|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.10.1.1.5|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.10.1.1.128|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.10.1.25.65|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.11.0.1.1|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.11.0.1.2|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.11.0.1.4|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.11.0.1.128|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.11.1.1.1|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.11.1.1.2|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.11.1.1.5|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.11.1.1.128|66|0
1.3.6.1.4.1.2636.5.1.1.2.6.2.1.11.1.25.65|66|0
1.3.6.1.6.3.10.2.1.3.0|2|124211