opensolutions/OSS_SNMP

Cisco Nexus 9396

Closed this issue · 16 comments

root@Indy-IXPM:/home/mhammett# snmpget -c [redacted] -On -v 2c [redacted] .1.3.6.1.2.1.1.1.0
.1.3.6.1.2.1.1.1.0 = STRING: "Cisco NX-OS(tm) n9000, Software (n9000-dk9), Version 6.1(2)I2(2b), RELEASE SOFTWARE Copyright (c) 2002-2013 by Cisco Systems, Inc. Compiled 8/7/2014 15:00:00"
root@Indy-IXPM:/home/mhammett# snmpget -c [redacted] -On -v 2c [redacted] .1.3.6.1.2.1.1.2.0
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.9.12.3.1.3.1508

I'm not sure which OID is needed, but they all had the same response:

root@Indy-IXPM:/home/mhammett# snmpwalk -c [redacted] -On -v 2c [redacted] | grep SAL1833YM4Y
.1.3.6.1.2.1.47.1.1.1.1.11.10 = STRING: "SAL1833YM4Y"
.1.3.6.1.2.1.47.1.1.1.1.11.22 = STRING: "SAL1833YM4Y"
.1.3.6.1.2.1.47.1.1.1.1.11.149 = STRING: "SAL1833YM4Y"
root@Indy-IXPM:/home/mhammett# ^C
root@Indy-IXPM:/home/mhammett# snmpget -c [redacted] -On -v 2c [redacted] .1.3.6.1.2.1.47.1.1.1.1.11.149
.1.3.6.1.2.1.47.1.1.1.1.11.149 = STRING: "SAL1833YM4Y"
root@Indy-IXPM:/home/mhammett# snmpget -c [redacted] -On -v 2c [redacted] .1.3.6.1.2.1.47.1.1.1.1.11.10
.1.3.6.1.2.1.47.1.1.1.1.11.10 = STRING: "SAL1833YM4Y"
root@Indy-IXPM:/home/mhammett# snmpget -c [redacted] -On -v 2c [redacted] .1.3.6.1.2.1.47.1.1.1.1.11.22
.1.3.6.1.2.1.47.1.1.1.1.11.22 = STRING: "SAL1833YM4Y"

@MHammett

I've pushed a commit to recognise this but two issues:

  1. the model number cannot be identified from the sys desc. I'll try and add to this by using .1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.9.12.3.1.3.1508 when I have a chance.

  2. You say: "I'm not sure which OID is needed, but they all had the same response" - could you dig into with with Cisco / Cisco docs and find the correct one?

Thanks,
Barry

I'm having a tough time duplicating, but someone on Cisco-NSP was able to follow the OID chain to get a real model number.

https://puck.nether.net/pipermail/cisco-nsp/2017-February/104635.html

I've gone and looked for as much information as I could find on this.

Per that thread, it looks like Cisco's ENTITY-MIB is the "most" helpful in explaining what things are.

I do plan on submitting TAC request on the device not responding to the OID specified in sysObjectID .

snmpbulkwalk -c [redacted] -v 2c [redacted] ENTITY-MIB::entPhysicalModelName

ENTITY-MIB::entPhysicalModelName.10 = STRING: N9K-C9396PX
ENTITY-MIB::entPhysicalModelName.22 = STRING: N9K-C9396PX
ENTITY-MIB::entPhysicalModelName.23 = STRING: N9K-M12PQ
ENTITY-MIB::entPhysicalModelName.149 = STRING: N9K-C9396PX
ENTITY-MIB::entPhysicalModelName.214 = STRING: ModuleSlot
ENTITY-MIB::entPhysicalModelName.215 = STRING: ModuleSlot
ENTITY-MIB::entPhysicalModelName.278 = STRING: PowerSupplyBay-1
ENTITY-MIB::entPhysicalModelName.279 = STRING: PowerSupplyBay-2
ENTITY-MIB::entPhysicalModelName.342 = STRING: FanBay-1
ENTITY-MIB::entPhysicalModelName.343 = STRING: FanBay-2
ENTITY-MIB::entPhysicalModelName.344 = STRING: FanBay-3
ENTITY-MIB::entPhysicalModelName.470 = STRING: N9K-PAC-650W-B
ENTITY-MIB::entPhysicalModelName.471 = STRING: N9K-PAC-650W-B
ENTITY-MIB::entPhysicalModelName.534 = STRING: N9K-C9300-FAN2-B
ENTITY-MIB::entPhysicalModelName.535 = STRING: N9K-C9300-FAN2-B
ENTITY-MIB::entPhysicalModelName.536 = STRING: N9K-C9300-FAN2-B
ENTITY-MIB::entPhysicalModelName.598 = STRING:

snmpbulkwalk -c [redacted] -v 2c [redacted] ENTITY-MIB::entPhysicalDescr

ENTITY-MIB::entPhysicalDescr.10 = STRING: Fabric Stack Root
ENTITY-MIB::entPhysicalDescr.22 = STRING: 1/10G SFP+ Ethernet Module
ENTITY-MIB::entPhysicalDescr.23 = STRING: 40G Ethernet Expansion Module
ENTITY-MIB::entPhysicalDescr.149 = STRING: N9K-C9396PX
ENTITY-MIB::entPhysicalDescr.214 = STRING: LinecardSlot-1
ENTITY-MIB::entPhysicalDescr.215 = STRING: LinecardSlot-2
ENTITY-MIB::entPhysicalDescr.278 = STRING: PowerSupplyBay-1
ENTITY-MIB::entPhysicalDescr.279 = STRING: PowerSupplyBay-2
ENTITY-MIB::entPhysicalDescr.342 = STRING: FanBay-1
ENTITY-MIB::entPhysicalDescr.343 = STRING: FanBay-2
ENTITY-MIB::entPhysicalDescr.344 = STRING: FanBay-3
ENTITY-MIB::entPhysicalDescr.470 = STRING: N9K-PAC-650W-B-1
ENTITY-MIB::entPhysicalDescr.471 = STRING: N9K-PAC-650W-B-2
ENTITY-MIB::entPhysicalDescr.534 = STRING: Fan Module-1
ENTITY-MIB::entPhysicalDescr.535 = STRING: Fan Module-2
ENTITY-MIB::entPhysicalDescr.536 = STRING: Fan Module-3
ENTITY-MIB::entPhysicalDescr.598 = STRING: module-1 processor-1

snmpbulkwalk -c [redacted] -v 2c [redacted] ENTITY-MIB::entPhysicalSerialNum

ENTITY-MIB::entPhysicalSerialNum.10 = STRING: [redacted]
ENTITY-MIB::entPhysicalSerialNum.22 = STRING: [redacted]
ENTITY-MIB::entPhysicalSerialNum.23 = STRING: [redacted]
ENTITY-MIB::entPhysicalSerialNum.149 = STRING: [redacted]
ENTITY-MIB::entPhysicalSerialNum.214 = STRING:
ENTITY-MIB::entPhysicalSerialNum.215 = STRING:
ENTITY-MIB::entPhysicalSerialNum.278 = STRING:
ENTITY-MIB::entPhysicalSerialNum.279 = STRING:
ENTITY-MIB::entPhysicalSerialNum.342 = STRING:
ENTITY-MIB::entPhysicalSerialNum.343 = STRING:
ENTITY-MIB::entPhysicalSerialNum.344 = STRING:
ENTITY-MIB::entPhysicalSerialNum.470 = STRING: [redacted]
ENTITY-MIB::entPhysicalSerialNum.471 = STRING: [redacted]
ENTITY-MIB::entPhysicalSerialNum.534 = STRING:
ENTITY-MIB::entPhysicalSerialNum.535 = STRING:
ENTITY-MIB::entPhysicalSerialNum.536 = STRING:
ENTITY-MIB::entPhysicalSerialNum.598 = STRING:

show inventory

NAME: "Chassis", DESCR: "Nexus9000 C9396PX Chassis"
PID: N9K-C9396PX , VID: V03 , SN: [redacted]

NAME: "Slot 1", DESCR: "1/10G SFP+ Ethernet Module"
PID: N9K-C9396PX , VID: V03 , SN: [redacted]

NAME: "Slot 2", DESCR: "40G Ethernet Expansion Module"
PID: N9K-M12PQ , VID: V01 , SN: [redacted]

NAME: "Power Supply 1", DESCR: "Nexus9000 C9396PX Chassis Power Supply"
PID: N9K-PAC-650W-B , VID: V01 , SN: [redacted]

NAME: "Power Supply 2", DESCR: "Nexus9000 C9396PX Chassis Power Supply"
PID: N9K-PAC-650W-B , VID: V01 , SN: [redacted]

NAME: "Fan 1", DESCR: "Nexus9000 C9396PX Chassis Fan Module"
PID: N9K-C9300-FAN2-B , VID: V01 , SN: N/A

NAME: "Fan 2", DESCR: "Nexus9000 C9396PX Chassis Fan Module"
PID: N9K-C9300-FAN2-B , VID: V01 , SN: N/A

NAME: "Fan 3", DESCR: "Nexus9000 C9396PX Chassis Fan Module"
PID: N9K-C9300-FAN2-B , VID: V01 , SN: N/A

snmpbulkwalk -c [redacted]-v 2c [redacted] ENTITY-MIB::entPhysicalModelName

ENTITY-MIB::entPhysicalModelName.10 = STRING: N3K-C3548P-10GX
ENTITY-MIB::entPhysicalModelName.22 = STRING: N3K-C3548P-10GX
ENTITY-MIB::entPhysicalModelName.149 = STRING: N3K-C3548P-10GX
ENTITY-MIB::entPhysicalModelName.214 = STRING: FixedSlot
ENTITY-MIB::entPhysicalModelName.278 = STRING: PowerSupplyBay-1
ENTITY-MIB::entPhysicalModelName.279 = STRING: PowerSupplyBay-2
ENTITY-MIB::entPhysicalModelName.342 = STRING: FanBay-1
ENTITY-MIB::entPhysicalModelName.470 = STRING: N2200-PAC-400W
ENTITY-MIB::entPhysicalModelName.471 = STRING: N2200-PAC-400W
ENTITY-MIB::entPhysicalModelName.534 = STRING: NXA-FAN-30CFM
ENTITY-MIB::entPhysicalModelName.535 = STRING: NXA-FAN-30CFM
ENTITY-MIB::entPhysicalModelName.536 = STRING: NXA-FAN-30CFM
ENTITY-MIB::entPhysicalModelName.537 = STRING: NXA-FAN-30CFM
ENTITY-MIB::entPhysicalModelName.539 = STRING: N2200-PAC-400W
ENTITY-MIB::entPhysicalModelName.540 = STRING: N2200-PAC-400W

snmpbulkwalk -c [redacted] -v 2c [redacted] ENTITY-MIB::entPhysicalDescr

ENTITY-MIB::entPhysicalDescr.10 = STRING: Fabric
ENTITY-MIB::entPhysicalDescr.22 = STRING: 48x10GE Supervisor in Fixed Module-1
ENTITY-MIB::entPhysicalDescr.149 = STRING: Nexus 3548 Chassis
ENTITY-MIB::entPhysicalDescr.214 = STRING: Fixed Slot-1
ENTITY-MIB::entPhysicalDescr.278 = STRING: PowerSupplyBay-1
ENTITY-MIB::entPhysicalDescr.279 = STRING: PowerSupplyBay-2
ENTITY-MIB::entPhysicalDescr.342 = STRING: FanBay-1
ENTITY-MIB::entPhysicalDescr.470 = STRING: N2200-PAC-400W
ENTITY-MIB::entPhysicalDescr.471 = STRING: N2200-PAC-400W
ENTITY-MIB::entPhysicalDescr.534 = STRING: FanModule-1
ENTITY-MIB::entPhysicalDescr.535 = STRING: FanModule-2
ENTITY-MIB::entPhysicalDescr.536 = STRING: FanModule-3
ENTITY-MIB::entPhysicalDescr.537 = STRING: FanModule-4
ENTITY-MIB::entPhysicalDescr.539 = STRING: PowerSupply-1 Fan-1
ENTITY-MIB::entPhysicalDescr.540 = STRING: PowerSupply-2 Fan-1

snmpbulkwalk -c [redacted] -v 2c [redacted] ENTITY-MIB::entPhysicalSerialNum

ENTITY-MIB::entPhysicalSerialNum.10 = STRING: [redacted]
ENTITY-MIB::entPhysicalSerialNum.22 = STRING: [redacted]
ENTITY-MIB::entPhysicalSerialNum.149 = STRING: [redacted]
ENTITY-MIB::entPhysicalSerialNum.214 = STRING:
ENTITY-MIB::entPhysicalSerialNum.278 = STRING:
ENTITY-MIB::entPhysicalSerialNum.279 = STRING:
ENTITY-MIB::entPhysicalSerialNum.342 = STRING:
ENTITY-MIB::entPhysicalSerialNum.470 = STRING: [redacted]
ENTITY-MIB::entPhysicalSerialNum.471 = STRING: [redacted]
ENTITY-MIB::entPhysicalSerialNum.534 = STRING:
ENTITY-MIB::entPhysicalSerialNum.535 = STRING:
ENTITY-MIB::entPhysicalSerialNum.536 = STRING:
ENTITY-MIB::entPhysicalSerialNum.537 = STRING:
ENTITY-MIB::entPhysicalSerialNum.539 = STRING: [redacted]
ENTITY-MIB::entPhysicalSerialNum.540 = STRING: [redacted]

show inventory

NAME: "Chassis", DESCR: "Nexus 3548 Chassis"
PID: N3K-C3548P-10GX , VID: V01 , SN: [redacted]

NAME: "Module 1", DESCR: "48x10GE Supervisor"
PID: N3K-C3548P-10GX , VID: V01 , SN: [redacted]

NAME: "Fan 1", DESCR: "Chassis fan module"
PID: NXA-FAN-30CFM-F , VID: N/A , SN: N/A

NAME: "Fan 2", DESCR: "Chassis fan module"
PID: NXA-FAN-30CFM-F , VID: N/A , SN: N/A

NAME: "Fan 3", DESCR: "Chassis fan module"
PID: NXA-FAN-30CFM-F , VID: N/A , SN: N/A

NAME: "Fan 4", DESCR: "Chassis fan module"
PID: NXA-FAN-30CFM-F , VID: N/A , SN: N/A

NAME: "Power supply 1", DESCR: "AC power supply"
PID: N2200-PAC-400W , VID: V05 , SN: [redacted]

NAME: "Power supply 2", DESCR: "AC power supply"
PID: N2200-PAC-400W , VID: V05 , SN: [redacted]

https://supportforums.cisco.com/discussion/11591541/model-number-oid

Here's a post from Cisco on why they don't answer properly.

Is there anything I can do to move this forward? Having full support for the Nexus switches (common in IXPs) would be nice.

I have this as recognising the model as n9000 but I'm afraid I don't have the time to step through the above. If you want to open a PR implementing the above I'm happy to merge it in. Otherwise, n9000 will have to do I'm afraid.

n9000 is fine by me, partially because I'm lazy, partially because I wouldn't know what I was doing and partially because it's close enough.

2017-04-18T11:13:11-05:00 DEBUG (7) [65.182.164.62]: Logger instantiated
[2017-04-18 11:13:11] production.ERROR: Symfony\Component\Debug\Exception\FatalThrowableError: Call to undefined method OSS_SNMP\Platform::setSNMPHost() in /srv/ixpmanager/vendor/opensolutions/oss-snmp/src/OSS_SNMP/Platform.php:105
Stack trace:
#0 /srv/ixpmanager/vendor/opensolutions/oss-snmp/src/OSS_SNMP/SNMP.php(941): OSS_SNMP\Platform->__construct(Object(OSS_SNMP\SNMP))
#1 /srv/ixpmanager/database/Entities/Switcher.php(612): OSS_SNMP\SNMP->getPlatform()
#2 /srv/ixpmanager/application/controllers/SwitchPortController.php(545): Entities\Switcher->snmpPoll(Object(OSS_SNMP\SNMP), Object(OSS_Log))
#3 /srv/ixpmanager/vendor/zendframework/zendframework1/library/Zend/Controller/Action.php(516): SwitchPortController->snmpPollAction()
#4 /srv/ixpmanager/vendor/zendframework/zendframework1/library/Zend/Controller/Dispatcher/Standard.php(308): Zend_Controller_Action->dispatch('snmpPollAction')
#5 /srv/ixpmanager/vendor/zendframework/zendframework1/library/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#6 /srv/ixpmanager/vendor/zendframework/zendframework1/library/Zend/Application/Bootstrap/Bootstrap.php(105): Zend_Controller_Front->dispatch()
#7 /srv/ixpmanager/vendor/zendframework/zendframework1/library/Zend/Application.php(384): Zend_Application_Bootstrap_Bootstrap->run()
#8 /srv/ixpmanager/app/Exceptions/Handler.php(59): Zend_Application->run()
#9 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(82): IXP\Exceptions\Handler->render(Object(Illuminate\Http\Request), Object(Symfony\Component\HttpKernel\Exception\NotFoundHttpException))
#10 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): Illuminate\Routing\Pipeline->handleException(Object(Illuminate\Http\Request), Object(Symfony\Component\HttpKernel\Exception\NotFoundHttpException))
#11 /srv/ixpmanager/vendor/barryvdh/laravel-debugbar/src/Middleware/Debugbar.php(51): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#12 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Barryvdh\Debugbar\Middleware\Debugbar->handle(Object(Illuminate\Http\Request), Object(Closure))
#13 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#14 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(30): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#15 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#16 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#17 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(30): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#18 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#19 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#20 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#21 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle(Object(Illuminate\Http\Request), Object(Closure))
#22 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#23 /srv/ixpmanager/app/Http/Middleware/UrlResolver.php(58): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#24 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): IXP\Http\Middleware\UrlResolver->handle(Object(Illuminate\Http\Request), Object(Closure))
#25 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#26 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(46): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#27 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#28 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#29 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#30 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(149): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#31 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#32 /srv/ixpmanager/public/index.php(84): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#33 {main}
2017-04-18T11:17:09-05:00 DEBUG (7) [65.182.164.62]: Logger instantiated
[2017-04-18 11:17:09] production.ERROR: Symfony\Component\Debug\Exception\FatalThrowableError: Call to undefined method OSS_SNMP\Platform::setSNMPHost() in /srv/ixpmanager/vendor/opensolutions/oss-snmp/src/OSS_SNMP/Platform.php:105
Stack trace:
#0 /srv/ixpmanager/vendor/opensolutions/oss-snmp/src/OSS_SNMP/SNMP.php(941): OSS_SNMP\Platform->__construct(Object(OSS_SNMP\SNMP))
#1 /srv/ixpmanager/database/Entities/Switcher.php(612): OSS_SNMP\SNMP->getPlatform()
#2 /srv/ixpmanager/application/controllers/SwitchPortController.php(545): Entities\Switcher->snmpPoll(Object(OSS_SNMP\SNMP), Object(OSS_Log))
#3 /srv/ixpmanager/vendor/zendframework/zendframework1/library/Zend/Controller/Action.php(516): SwitchPortController->snmpPollAction()
#4 /srv/ixpmanager/vendor/zendframework/zendframework1/library/Zend/Controller/Dispatcher/Standard.php(308): Zend_Controller_Action->dispatch('snmpPollAction')
#5 /srv/ixpmanager/vendor/zendframework/zendframework1/library/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#6 /srv/ixpmanager/vendor/zendframework/zendframework1/library/Zend/Application/Bootstrap/Bootstrap.php(105): Zend_Controller_Front->dispatch()
#7 /srv/ixpmanager/vendor/zendframework/zendframework1/library/Zend/Application.php(384): Zend_Application_Bootstrap_Bootstrap->run()
#8 /srv/ixpmanager/app/Exceptions/Handler.php(59): Zend_Application->run()
#9 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(82): IXP\Exceptions\Handler->render(Object(Illuminate\Http\Request), Object(Symfony\Component\HttpKernel\Exception\NotFoundHttpException))
#10 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): Illuminate\Routing\Pipeline->handleException(Object(Illuminate\Http\Request), Object(Symfony\Component\HttpKernel\Exception\NotFoundHttpException))
#11 /srv/ixpmanager/vendor/barryvdh/laravel-debugbar/src/Middleware/Debugbar.php(51): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#12 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Barryvdh\Debugbar\Middleware\Debugbar->handle(Object(Illuminate\Http\Request), Object(Closure))
#13 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#14 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(30): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#15 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#16 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#17 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(30): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#18 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#19 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#20 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#21 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle(Object(Illuminate\Http\Request), Object(Closure))
#22 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#23 /srv/ixpmanager/app/Http/Middleware/UrlResolver.php(58): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#24 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): IXP\Http\Middleware\UrlResolver->handle(Object(Illuminate\Http\Request), Object(Closure))
#25 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#26 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(46): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#27 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#28 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#29 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#30 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(149): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#31 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#32 /srv/ixpmanager/public/index.php(84): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#33 {main}
2017-04-18T11:17:12-05:00 DEBUG (7) [65.182.164.62]: Logger instantiated
[2017-04-18 11:17:12] production.ERROR: Symfony\Component\Debug\Exception\FatalThrowableError: Call to undefined method OSS_SNMP\Platform::setSNMPHost() in /srv/ixpmanager/vendor/opensolutions/oss-snmp/src/OSS_SNMP/Platform.php:105
Stack trace:
#0 /srv/ixpmanager/vendor/opensolutions/oss-snmp/src/OSS_SNMP/SNMP.php(941): OSS_SNMP\Platform->__construct(Object(OSS_SNMP\SNMP))
#1 /srv/ixpmanager/database/Entities/Switcher.php(612): OSS_SNMP\SNMP->getPlatform()
#2 /srv/ixpmanager/application/controllers/SwitchPortController.php(545): Entities\Switcher->snmpPoll(Object(OSS_SNMP\SNMP), Object(OSS_Log))
#3 /srv/ixpmanager/vendor/zendframework/zendframework1/library/Zend/Controller/Action.php(516): SwitchPortController->snmpPollAction()
#4 /srv/ixpmanager/vendor/zendframework/zendframework1/library/Zend/Controller/Dispatcher/Standard.php(308): Zend_Controller_Action->dispatch('snmpPollAction')
#5 /srv/ixpmanager/vendor/zendframework/zendframework1/library/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#6 /srv/ixpmanager/vendor/zendframework/zendframework1/library/Zend/Application/Bootstrap/Bootstrap.php(105): Zend_Controller_Front->dispatch()
#7 /srv/ixpmanager/vendor/zendframework/zendframework1/library/Zend/Application.php(384): Zend_Application_Bootstrap_Bootstrap->run()
#8 /srv/ixpmanager/app/Exceptions/Handler.php(59): Zend_Application->run()
#9 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(82): IXP\Exceptions\Handler->render(Object(Illuminate\Http\Request), Object(Symfony\Component\HttpKernel\Exception\NotFoundHttpException))
#10 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): Illuminate\Routing\Pipeline->handleException(Object(Illuminate\Http\Request), Object(Symfony\Component\HttpKernel\Exception\NotFoundHttpException))
#11 /srv/ixpmanager/vendor/barryvdh/laravel-debugbar/src/Middleware/Debugbar.php(51): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#12 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Barryvdh\Debugbar\Middleware\Debugbar->handle(Object(Illuminate\Http\Request), Object(Closure))
#13 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#14 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(30): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#15 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#16 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#17 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(30): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#18 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#19 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#20 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#21 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle(Object(Illuminate\Http\Request), Object(Closure))
#22 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#23 /srv/ixpmanager/app/Http/Middleware/UrlResolver.php(58): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#24 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): IXP\Http\Middleware\UrlResolver->handle(Object(Illuminate\Http\Request), Object(Closure))
#25 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#26 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(46): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#27 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#28 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#29 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#30 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(149): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#31 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#32 /srv/ixpmanager/public/index.php(84): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#33 {main}

Shite, committed an error - now fixed.

It no longer craps out when polling the switches.

The 3548 shows the unused optics, whereas the 9000 does not. I'm checking out it's support of the IANA MAU MIB.

The MAC address page craps out.

stl ixpm mac address page basic

I also can't get the switches to add if I give a different hostname\name. Is there some logging I can increase the verbosity of to get that sort of information? laravel.log had when I was SNMP polling the existing switches, but nothing when trying to add the new ones.

I got a different error this time on the 9396 and the 3548. Maybe I had a typo in a previous attempt.

Could not interpret switch system description string - most likely because no platform interpretor exists for it.

Please see this OSS_SNMP page and consider adding one.

Otherwise use the the manual add method.

Can you confirm the system descriptions?

It looks like Cisco changed stuff....

root@ixpm:/srv/ixpmanager# snmpget -c MwIX -On -v 2c 210-9396 .1.3.6.1.2.1.1.1.0
.1.3.6.1.2.1.1.1.0 = STRING: "Cisco NX-OS(tm) nxos.7.0.3.I2.3.bin, Software (nxos), Version 7.0(3)I2(3), RELEASE SOFTWARE Copyright (c) 2002-2013 by Cisco Systems, Inc. Compiled 3/19/2016 22:00:00"
root@ixpm:/srv/ixpmanager# snmpget -c MwIX -On -v 2c 210-9396 .1.3.6.1.2.1.1.2.0
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.9.12.3.1.3.1508
root@ixpm:/srv/ixpmanager# snmpget -c MwIX -On -v 2c 900-3548 .1.3.6.1.2.1.1.1.0
.1.3.6.1.2.1.1.1.0 = STRING: "Cisco NX-OS(tm) n3500, Software (n3500-uk9), Version 6.0(2)A6(3), RELEASE SOFTWARE Copyright (c) 2002-2012 by Cisco Systems, Inc. Compiled 7/1/2015 10:00:00"
root@ixpm:/srv/ixpmanager# snmpget -c MwIX -On -v 2c 900-3548 .1.3.6.1.2.1.1.2.0
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.9.12.3.1.3.1666

The 9000 adds correctly, but the 3548 still fails with that same error.

Could not interpret switch system description string - most likely because no platform interpretor exists for it.

Please see this OSS_SNMP page and consider adding one.

Otherwise use the the manual add method.

@MHammett - I have a specific unit test (see here) for the sys desc you gave me for the 3548 and it's passing. So possibilities are:

  • sys desc is different than what you provided (see link above)
  • you haven't updated to the latest latest version (last night GMT)
  • nfi

Separately, this is neither an INEX nor an IXP Manager project so not appropriate for IXP Manager issues re a few posts above.

I believe the problem here was that the sysDescr that @MHammett pasted had some adjacent spaces collapsed. I investigated this issue and found the specific switch Mike is using returns a sysDescr string with three spaces prior to the "Compiled" portion of the string. I submitted a pull request to modify the regexp to allow a variable number of spaces in this location of the string.

Thanks @nschrenk - pulled and merged 🍻