Hello,
We have just started using the Netonix switches at our WISP. There are two feature/fix requests that I have for your SNMP stack:
1. Your switches currently put the interface description in the interface name field, and the interface name in the interface description field. This is backwards compared to other devices we use (Cisco, Mikrotik, servers, etc) where the description is in the description field. This causes us issues with our monitoring system because if we change the description of an interface, because it is changing the 'name' in SNMP, our monitoring system sees it as a brand new interface and deletes all the old graph data. This is not a problem in our monitoring system, it does this by the design, your switch should return the correct value in the correct field.
2. Please add support for SNMP's BRIDGE-MIB into your switches. If you are basing this on some kind of Linux kernel it should be a matter of just loading the correct thing since this should all be developed. We use BRIDGE-MIB to help track down customer devices (PC, router) by MAC address, and our monitoring system also uses it to tell which devices are behind which other devices.
Thanks!
SNMP-related issue and feature request
-
Eric Stern - Employee
- Posts: 532
- Joined: Wed Apr 09, 2014 9:41 pm
- Location: Toronto, Ontario
- Has thanked: 0 time
- Been thanked: 130 times
Re: SNMP-related issue and feature request
What firmware version are you using?
- mducharme
- Member
- Posts: 32
- Joined: Sun Jul 10, 2016 3:34 am
- Has thanked: 2 times
- Been thanked: 3 times
Re: SNMP-related issue and feature request
We are using 1.4.2. Is there a newer firmware we should be using?
-
Eric Stern - Employee
- Posts: 532
- Joined: Wed Apr 09, 2014 9:41 pm
- Location: Toronto, Ontario
- Has thanked: 0 time
- Been thanked: 130 times
Re: SNMP-related issue and feature request
I think you must be mistaken then. Before 1.4.0 this was wrong but was corrected. These are the name/description related values I get doing an snmp walk (I changed the description of port 2 in the UI):
8: ifNumber.0 14
9: ifIndex.1 1
10: ifIndex.2 2
11: ifIndex.3 3
12: ifIndex.4 4
13: ifIndex.5 5
14: ifIndex.6 6
15: ifIndex.7 7
16: ifIndex.8 8
17: ifIndex.9 9
18: ifIndex.10 10
19: ifIndex.11 11
20: ifIndex.12 12
21: ifIndex.13 13
22: ifIndex.14 14
23: ifDescr.1 Port 1
24: ifDescr.2 Port 2 description
25: ifDescr.3 Port 3
26: ifDescr.4 Port 4
27: ifDescr.5 Port 5
28: ifDescr.6 Port 6
29: ifDescr.7 Port 7
30: ifDescr.8 Port 8
31: ifDescr.9 Port 9
32: ifDescr.10 Port 10
33: ifDescr.11 Port 11
34: ifDescr.12 Port 12
35: ifDescr.13 Port 13
36: ifDescr.14 Port 14
216: ifName.1 Port 1
217: ifName.2 Port 2
218: ifName.3 Port 3
219: ifName.4 Port 4
220: ifName.5 Port 5
221: ifName.6 Port 6
222: ifName.7 Port 7
223: ifName.8 Port 8
224: ifName.9 Port 9
225: ifName.10 Port 10
226: ifName.11 Port 11
227: ifName.12 Port 12
228: ifName.13 Port 13
229: ifName.14 Port 14
398: ifAlias.1 1
399: ifAlias.2 2
400: ifAlias.3 3
401: ifAlias.4 4
402: ifAlias.5 5
403: ifAlias.6 6
404: ifAlias.7 7
405: ifAlias.8 8
406: ifAlias.9 9
407: ifAlias.10 10
408: ifAlias.11 11
409: ifAlias.12 12
410: ifAlias.13 13
411: ifAlias.14 14
I'll look into adding BRIDGE-MIB into the next release.
8: ifNumber.0 14
9: ifIndex.1 1
10: ifIndex.2 2
11: ifIndex.3 3
12: ifIndex.4 4
13: ifIndex.5 5
14: ifIndex.6 6
15: ifIndex.7 7
16: ifIndex.8 8
17: ifIndex.9 9
18: ifIndex.10 10
19: ifIndex.11 11
20: ifIndex.12 12
21: ifIndex.13 13
22: ifIndex.14 14
23: ifDescr.1 Port 1
24: ifDescr.2 Port 2 description
25: ifDescr.3 Port 3
26: ifDescr.4 Port 4
27: ifDescr.5 Port 5
28: ifDescr.6 Port 6
29: ifDescr.7 Port 7
30: ifDescr.8 Port 8
31: ifDescr.9 Port 9
32: ifDescr.10 Port 10
33: ifDescr.11 Port 11
34: ifDescr.12 Port 12
35: ifDescr.13 Port 13
36: ifDescr.14 Port 14
216: ifName.1 Port 1
217: ifName.2 Port 2
218: ifName.3 Port 3
219: ifName.4 Port 4
220: ifName.5 Port 5
221: ifName.6 Port 6
222: ifName.7 Port 7
223: ifName.8 Port 8
224: ifName.9 Port 9
225: ifName.10 Port 10
226: ifName.11 Port 11
227: ifName.12 Port 12
228: ifName.13 Port 13
229: ifName.14 Port 14
398: ifAlias.1 1
399: ifAlias.2 2
400: ifAlias.3 3
401: ifAlias.4 4
402: ifAlias.5 5
403: ifAlias.6 6
404: ifAlias.7 7
405: ifAlias.8 8
406: ifAlias.9 9
407: ifAlias.10 10
408: ifAlias.11 11
409: ifAlias.12 12
410: ifAlias.13 13
411: ifAlias.14 14
I'll look into adding BRIDGE-MIB into the next release.
- mducharme
- Member
- Posts: 32
- Joined: Sun Jul 10, 2016 3:34 am
- Has thanked: 2 times
- Been thanked: 3 times
Re: SNMP-related issue and feature request
I am not mistaken, here is the output:
Correct output from Mikrotik:
IF-MIB::ifName.1 = STRING: ether1
IF-MIB::ifName.2 = STRING: ether2
IF-MIB::ifName.3 = STRING: ether3
IF-MIB::ifName.4 = STRING: ether4
IF-MIB::ifName.5 = STRING: ether5
IF-MIB::ifName.6 = STRING: ether6
IF-MIB::ifName.7 = STRING: ether7
IF-MIB::ifName.8 = STRING: ether8
IF-MIB::ifName.9 = STRING: ether9
IF-MIB::ifName.10 = STRING: ether10
IF-MIB::ifName.11 = STRING: ether11
IF-MIB::ifName.12 = STRING: ether12
IF-MIB::ifName.13 = STRING: ether13
IF-MIB::ifAlias.1 = STRING: Uplink to <REMOVED>
IF-MIB::ifAlias.2 = STRING: Downlink to <REMOVED>
IF-MIB::ifAlias.3 = STRING: Link to <REMOVED>
IF-MIB::ifAlias.4 = STRING: <REMOVED> Link - Customer <REMOVED>
IF-MIB::ifAlias.5 = STRING: Reserved
IF-MIB::ifAlias.6 = STRING: Reserved
IF-MIB::ifAlias.7 = STRING: Reserved
IF-MIB::ifAlias.8 = STRING: Reserved
IF-MIB::ifAlias.9 = STRING: <REMOVED> PDU
IF-MIB::ifAlias.10 = STRING: <REMOVED> UPS
IF-MIB::ifAlias.11 = STRING: Reserved
IF-MIB::ifAlias.12 = STRING: Reserved
IF-MIB::ifAlias.13 = STRING: Reserved for <REMOVED> Tech
Incorrect output from Netonix:
IF-MIB::ifName.1 = STRING: Port 1
IF-MIB::ifName.2 = STRING: Port 2
IF-MIB::ifName.3 = STRING: Port 3
IF-MIB::ifName.4 = STRING: Port 4
IF-MIB::ifName.5 = STRING: Port 5
IF-MIB::ifName.6 = STRING: Port 6
IF-MIB::ifName.7 = STRING: Port 7
IF-MIB::ifName.8 = STRING: Port 8
IF-MIB::ifName.9 = STRING: Port 9
IF-MIB::ifName.10 = STRING: Port 10
IF-MIB::ifName.11 = STRING: Port 11
IF-MIB::ifName.12 = STRING: Port 12
IF-MIB::ifName.13 = STRING: Port 13
IF-MIB::ifName.14 = STRING: Port 14
IF-MIB::ifAlias.1 = STRING: 1
IF-MIB::ifAlias.2 = STRING: 2
IF-MIB::ifAlias.3 = STRING: 3
IF-MIB::ifAlias.4 = STRING: 4
IF-MIB::ifAlias.5 = STRING: 5
IF-MIB::ifAlias.6 = STRING: 6
IF-MIB::ifAlias.7 = STRING: 7
IF-MIB::ifAlias.8 = STRING: 8
IF-MIB::ifAlias.9 = STRING: 9
IF-MIB::ifAlias.10 = STRING: 10
IF-MIB::ifAlias.11 = STRING: 11
IF-MIB::ifAlias.12 = STRING: 12
IF-MIB::ifAlias.13 = STRING: 13
IF-MIB::ifAlias.14 = STRING: 14
ifAlias is the description, ifName is the name. Mikrotik and Cisco put the interface name into the ifName field. You are putting the description of the interface into the ifName field (where the name or number is supposed to go) and putting the name into the IfAlias field, which is designed for the description. Everything else we have has this correct behavior besides Netonix.
Correct output from Mikrotik:
IF-MIB::ifName.1 = STRING: ether1
IF-MIB::ifName.2 = STRING: ether2
IF-MIB::ifName.3 = STRING: ether3
IF-MIB::ifName.4 = STRING: ether4
IF-MIB::ifName.5 = STRING: ether5
IF-MIB::ifName.6 = STRING: ether6
IF-MIB::ifName.7 = STRING: ether7
IF-MIB::ifName.8 = STRING: ether8
IF-MIB::ifName.9 = STRING: ether9
IF-MIB::ifName.10 = STRING: ether10
IF-MIB::ifName.11 = STRING: ether11
IF-MIB::ifName.12 = STRING: ether12
IF-MIB::ifName.13 = STRING: ether13
IF-MIB::ifAlias.1 = STRING: Uplink to <REMOVED>
IF-MIB::ifAlias.2 = STRING: Downlink to <REMOVED>
IF-MIB::ifAlias.3 = STRING: Link to <REMOVED>
IF-MIB::ifAlias.4 = STRING: <REMOVED> Link - Customer <REMOVED>
IF-MIB::ifAlias.5 = STRING: Reserved
IF-MIB::ifAlias.6 = STRING: Reserved
IF-MIB::ifAlias.7 = STRING: Reserved
IF-MIB::ifAlias.8 = STRING: Reserved
IF-MIB::ifAlias.9 = STRING: <REMOVED> PDU
IF-MIB::ifAlias.10 = STRING: <REMOVED> UPS
IF-MIB::ifAlias.11 = STRING: Reserved
IF-MIB::ifAlias.12 = STRING: Reserved
IF-MIB::ifAlias.13 = STRING: Reserved for <REMOVED> Tech
Incorrect output from Netonix:
IF-MIB::ifName.1 = STRING: Port 1
IF-MIB::ifName.2 = STRING: Port 2
IF-MIB::ifName.3 = STRING: Port 3
IF-MIB::ifName.4 = STRING: Port 4
IF-MIB::ifName.5 = STRING: Port 5
IF-MIB::ifName.6 = STRING: Port 6
IF-MIB::ifName.7 = STRING: Port 7
IF-MIB::ifName.8 = STRING: Port 8
IF-MIB::ifName.9 = STRING: Port 9
IF-MIB::ifName.10 = STRING: Port 10
IF-MIB::ifName.11 = STRING: Port 11
IF-MIB::ifName.12 = STRING: Port 12
IF-MIB::ifName.13 = STRING: Port 13
IF-MIB::ifName.14 = STRING: Port 14
IF-MIB::ifAlias.1 = STRING: 1
IF-MIB::ifAlias.2 = STRING: 2
IF-MIB::ifAlias.3 = STRING: 3
IF-MIB::ifAlias.4 = STRING: 4
IF-MIB::ifAlias.5 = STRING: 5
IF-MIB::ifAlias.6 = STRING: 6
IF-MIB::ifAlias.7 = STRING: 7
IF-MIB::ifAlias.8 = STRING: 8
IF-MIB::ifAlias.9 = STRING: 9
IF-MIB::ifAlias.10 = STRING: 10
IF-MIB::ifAlias.11 = STRING: 11
IF-MIB::ifAlias.12 = STRING: 12
IF-MIB::ifAlias.13 = STRING: 13
IF-MIB::ifAlias.14 = STRING: 14
ifAlias is the description, ifName is the name. Mikrotik and Cisco put the interface name into the ifName field. You are putting the description of the interface into the ifName field (where the name or number is supposed to go) and putting the name into the IfAlias field, which is designed for the description. Everything else we have has this correct behavior besides Netonix.
-
Eric Stern - Employee
- Posts: 532
- Joined: Wed Apr 09, 2014 9:41 pm
- Location: Toronto, Ontario
- Has thanked: 0 time
- Been thanked: 130 times
Re: SNMP-related issue and feature request
I'm confused then.
But changing the description of the interface will not change ifName or ifAlias, it only changes ifDescr, so this should not cause a problem with your monitoring system.
mducharme wrote:This causes us issues with our monitoring system because if we change the description of an interface, because it is changing the 'name' in SNMP, our monitoring system sees it as a brand new interface and deletes all the old graph data.
But changing the description of the interface will not change ifName or ifAlias, it only changes ifDescr, so this should not cause a problem with your monitoring system.
- mducharme
- Member
- Posts: 32
- Joined: Sun Jul 10, 2016 3:34 am
- Has thanked: 2 times
- Been thanked: 3 times
Re: SNMP-related issue and feature request
http://picpaste.com/monitoring_system_screen_capture-Bp3Awsuc.PNG
Please see the image above. I have equipment from dozens of vendors, only yours shows up like that.
Please see the image above. I have equipment from dozens of vendors, only yours shows up like that.
Last edited by mducharme on Wed Jul 13, 2016 10:30 pm, edited 2 times in total.
- mducharme
- Member
- Posts: 32
- Joined: Sun Jul 10, 2016 3:34 am
- Has thanked: 2 times
- Been thanked: 3 times
Re: SNMP-related issue and feature request
What I see when I snmpwalk my ciscos and mikrotiks, it looks like they put the interface name as both ifName and ifDescr, and the description goes in ifAlias.
- mducharme
- Member
- Posts: 32
- Joined: Sun Jul 10, 2016 3:34 am
- Has thanked: 2 times
- Been thanked: 3 times
Re: SNMP-related issue and feature request
http://www.irobert.info/display/IRINFO/ ... src=search
"Pattern 1" is the behaviour I am normally seeing. This is the reason for the behaviour:
Originally there were not separate fields for interface name and interface description. There was only one field, ifDescr, which was used for the name instead. Later, an ifName field was added to store the name and ifAlias was added to hold the description. Even after that was done it was still the normal behaviour to use ifDescr to hold the name even though it is also in the ifName field.
So basically what I am wanting is for your product to match the standard behaviour for such equipment:
ifName - stores the interface name
ifDescr - stores the interface NAME
ifAlias - stores the interface DESCRIPTION
"Pattern 1" is the behaviour I am normally seeing. This is the reason for the behaviour:
Originally there were not separate fields for interface name and interface description. There was only one field, ifDescr, which was used for the name instead. Later, an ifName field was added to store the name and ifAlias was added to hold the description. Even after that was done it was still the normal behaviour to use ifDescr to hold the name even though it is also in the ifName field.
So basically what I am wanting is for your product to match the standard behaviour for such equipment:
ifName - stores the interface name
ifDescr - stores the interface NAME
ifAlias - stores the interface DESCRIPTION
-
Eric Stern - Employee
- Posts: 532
- Joined: Wed Apr 09, 2014 9:41 pm
- Location: Toronto, Ontario
- Has thanked: 0 time
- Been thanked: 130 times
Re: SNMP-related issue and feature request
I'll make this change in the next version.
Who is online
Users browsing this forum: No registered users and 47 guests