diff --git a/html/images/os/dcn.png b/html/images/os/dcn.png new file mode 100644 index 0000000000..7d89f9e8fc Binary files /dev/null and b/html/images/os/dcn.png differ diff --git a/includes/definitions/dcn-software.yaml b/includes/definitions/dcn-software.yaml new file mode 100644 index 0000000000..4dd4b75a46 --- /dev/null +++ b/includes/definitions/dcn-software.yaml @@ -0,0 +1,8 @@ +os: dcn-software +text: 'Digital China Networks' +type: network +icon: dcn +over: + - { graph: device_bits, text: 'Device Traffic' } + - { graph: device_processor, text: 'Processor Usage' } + - { graph: device_mempool, text: 'Memory Usage' } diff --git a/includes/discovery/os/dcn-software.inc.php b/includes/discovery/os/dcn-software.inc.php new file mode 100644 index 0000000000..e0066dab0e --- /dev/null +++ b/includes/discovery/os/dcn-software.inc.php @@ -0,0 +1,34 @@ +. + * + * @package LibreNMS + * @link http://librenms.org + * @copyright 2016 Neil Lathwood + * @author Neil Lathwood + */ + +$dcn_oids = array( + '.1.3.6.1.4.1.6339.1.1.1.280', +); + +if (starts_with($sysObjectId, $dcn_oids)) { + $os = 'dcn-software'; +} + +unset($dcn_oids); diff --git a/includes/polling/os/dcn-software.inc.php b/includes/polling/os/dcn-software.inc.php new file mode 100644 index 0000000000..13aa5faa58 --- /dev/null +++ b/includes/polling/os/dcn-software.inc.php @@ -0,0 +1,30 @@ +. + * + * @package LibreNMS + * @link http://librenms.org + * @copyright 2016 Neil Lathwood + * @author Neil Lathwood + */ + +preg_match('/([\w-]+) Device, .* SoftWare Version ([\w\.\(\)]+) .* Serial No.:([\w]+) .*/', $poll_device['sysDescr'], $match); + +$hardware = $match[1]; +$version = $match[2]; +$serial = $match[3]; diff --git a/tests/OSDiscoveryTest.php b/tests/OSDiscoveryTest.php index 63dcc39809..0ade9a7341 100644 --- a/tests/OSDiscoveryTest.php +++ b/tests/OSDiscoveryTest.php @@ -393,6 +393,11 @@ class DiscoveryTest extends \PHPUnit_Framework_TestCase $this->checkOS('datadomain'); } + public function testDcnSoftware() + { + $this->checkOS('dcn-software'); + } + public function testDdnos() { $this->checkOS('ddnos'); diff --git a/tests/snmpsim/dcn-software.snmprec b/tests/snmpsim/dcn-software.snmprec new file mode 100644 index 0000000000..4fd010679e --- /dev/null +++ b/tests/snmpsim/dcn-software.snmprec @@ -0,0 +1,2 @@ +1.3.6.1.2.1.1.1.0|4|S4600-52P-SI Device, Compiled Jun 06 16:24:54 2016 SoftWare Version 7.0.3.5(R0241.0101) BootRom Version 7.2.16 HardWare Version 1.0.1 Serial No.:SW045010FB16000330 Copyright (C) 2001-2016 by Digital China Networks Limited. All rights reserved +1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.6339.1.1.1.280