* ipv6 support for BGP routes in VRP devices
* reverse bgpPeers array to allow VRF aware BGP
* codeclimate
* codeclimate
* codeclimate, finally
* Split VRP out of bgp-peers for readabilty
* Split VRP out of bgp-peers for readabilty
* tests
* CodeClimate
* improve function description
* improve function description
* v6data
* rebase
* space
* ipv6 support for BGP routes in VRP devices
* reverse bgpPeers array to allow VRF aware BGP
* codeclimate
* codeclimate
* codeclimate, finally
* Split VRP out of bgp-peers for readabilty
* Split VRP out of bgp-peers for readabilty
* tests
* CodeClimate
* improve function description
* improve function description
* v6data
* rebase
* space
* fixed corner case
* Migrate ironware sensor discovery from php to yaml.
* More sensors, add grouping.
* dynamic_discovery_get_value() becomes getValueFromData()
* Target a specific index with skip_values.
* Improve Brocade BGP session discovery/polling
This commit allows for the correct discovery of BGP sessions
with 32-bit ASNs, IPv6 neighbors using the BGP4V2-MIB which is
based on draft-ietf-idr-bgp4-mibv2-11 and also polls for IPv4
unicast received routes through the FOUNDRY-SN-BGP4-GROUP-MIB.
Copied most of the code from PR#8877 by @Mikeburke14, cleaned
up the code a little bit to match the normal LibreNMS style,
and fixed bgpPeers_cbgp discovery as well as polling for the
ipv4.unicast neighbors.
Note that older Brocade IronWare firmware versions are known
to have multiple defects relating to the BGP4V2-MIB which
might result in certain missing non-established neighbors.
Related vendor defect numbers:
- DEFECT000633962
-- Symptom: The OID bgp4V2PeerAdminStatus does not return the
correct value
-- Reported: NI 05.7.00
-- Resolved: NI 05.8.00g
- DEFECT000583319
-- Symptom: SNMP polling on bgp4V2PeerTable (OID brcdIp.3.5.1.1.2)
does not display all the BGP entries
-- Reported: NI 05.6.00
-- Resolved: NI 05.8.00e
- DEFECT000550309
-- Symptom: SNMP polling on bgp4V2PeerTable (OID brcdIp.3.5.1.1.2)
does not display the full information
-- Reported: NI 05.7.00
-- Resolved: NI 05.8.00c
* Add ironware CER & ICX platform test data.
* Re-add ironware.json compatible with current master branch.
* 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
* refactor: use the Config class includes/discovery
* fix issue with $config variable not accessible in include-dir.inc.php
* improved whitespace
* Tidy up discovery_by_ip
* Refactor remove use of pear Net_IPv4 and Net_IPv6
Caution, I added tests to test the functionality of the new functions, but I'm not 100% certain the replaced usages match 100%. Please test.
Left usage in generate-iplist.php because I'm not sure the use of that script, so I didn't want to implement additional functionality to support it.
Add support for ipv6 fo ipInNetwork() function
Add phpdocs to functions
Remove accidental inclusion
Use binary operations instead of string for networKFromIp()
Tidy up binary operations in ipInNetwork()
tidy parsing cidr network
Change to a class based implementation.
Update phpdocs.
Fully catch exceptions for hex parsing.
Fix mistake.
support older phpunit versions
Fix php shifting to negative with php 5
* Fix graph authorization. Uncaught exception and checking an ipv4 against an ipv6 network == fail.
* Also remove colons from hex strings.
* Fix typo in bgp polling
Two passes of removing invalid characters from hex strings. (That way we don't mangle valid IPs)
* refactor: Centralize MIB include directory specification
The default is now:
```
$config['mib_dir'].'/mibdirname:'.$config['mib_dir']
```
This means we exclude OS mibs and only use ours (we could prepend `+` if we want to include os mibs.
All snmp calls should only include the name of the subdirectory under the mibs directory.
* Remove d_echo from Proc
Fix snmpsim tests.