From fb5c53f813dedab6d87d1c4a792bf91bd590587c Mon Sep 17 00:00:00 2001 From: Adam Wujek <adam.wujek@cern.ch> Date: Mon, 18 Feb 2019 14:10:18 +0100 Subject: [PATCH] userspace/snmp: change the order of OIDs in wrsPtpInstanceTable Move wrsPtpInstanceName to be the first (after indexes) OID. Thanks to this, by doing snmpwalk/snmpgetnext of OID wrsPtpInstanceName(.<n>.<m>), the user gets in a single responce: --n - a port number --m - an instance nubmer --value which is an instance name Signed-off-by: Adam Wujek <adam.wujek@cern.ch> --- doc/wrs_failures/snmp_objects.tex | 2 +- userspace/snmpd/WR-SWITCH-MIB.txt | 23 ++++++++++++----------- userspace/snmpd/wrsPtpInstanceTable.c | 2 +- userspace/snmpd/wrsPtpInstanceTable.h | 2 +- 4 files changed, 15 insertions(+), 14 deletions(-) diff --git a/doc/wrs_failures/snmp_objects.tex b/doc/wrs_failures/snmp_objects.tex index 43ce0c697..45c8fbbb7 100644 --- a/doc/wrs_failures/snmp_objects.tex +++ b/doc/wrs_failures/snmp_objects.tex @@ -651,10 +651,10 @@ is a serial number of an instance on particular port.} \snmpentrye{WR-SWITCH-MIB}{wrsPtpInstanceTable}{wrsPtpInstancePortIndex.<n>.<m>}{} \snmpentrye{WR-SWITCH-MIB}{wrsPtpInstanceTable}{wrsPtpInstanceOnPortIndex.<n>.<m>}{} + \snmpentrye{WR-SWITCH-MIB}{wrsPtpInstanceTable}{wrsPtpInstanceName.<n>.<m>}{} \snmpentrye{WR-SWITCH-MIB}{wrsPtpInstanceTable}{wrsPtpInstancePort.<n>.<m>}{} \snmpentrye{WR-SWITCH-MIB}{wrsPtpInstanceTable}{wrsPtpInstancePortInstance.<n>.<m>}{} \snmpentrye{WR-SWITCH-MIB}{wrsPtpInstanceTable}{wrsPtpInstancePortName.<n>.<m>}{} - \snmpentrye{WR-SWITCH-MIB}{wrsPtpInstanceTable}{wrsPtpInstanceName.<n>.<m>}{} \snmpentrye{WR-SWITCH-MIB}{wrsPtpInstanceTable}{wrsPtpInstanceState.<n>.<m>}{} \snmpentrye{WR-SWITCH-MIB}{wrsPtpInstanceTable}{wrsPtpInstanceStateNext.<n>.<m>}{} \snmpentrye{WR-SWITCH-MIB}{wrsPtpInstanceTable}{wrsPtpInstanceRole.<n>.<m>}{} diff --git a/userspace/snmpd/WR-SWITCH-MIB.txt b/userspace/snmpd/WR-SWITCH-MIB.txt index 198045a09..fbb37d743 100644 --- a/userspace/snmpd/WR-SWITCH-MIB.txt +++ b/userspace/snmpd/WR-SWITCH-MIB.txt @@ -37,6 +37,7 @@ wrSwitchMIB MODULE-IDENTITY - wrsPortStatusSfpTxBias - wrsPortStatusSfpTxPower - wrsPortStatusSfpRxPower + Add wrsPtpInstanceTable " REVISION "201602171600Z" @@ -2634,10 +2635,10 @@ WrsPtpInstanceEntry ::= SEQUENCE { wrsPtpInstancePortIndex Unsigned32, wrsPtpInstanceOnPortIndex Unsigned32, + wrsPtpInstanceName DisplayString, wrsPtpInstancePort INTEGER, wrsPtpInstancePortInstance INTEGER, wrsPtpInstancePortName DisplayString, - wrsPtpInstanceName DisplayString, wrsPtpInstanceState INTEGER, wrsPtpInstanceStateNext INTEGER, wrsPtpInstanceRole INTEGER, @@ -2666,36 +2667,36 @@ wrsPtpInstanceOnPortIndex OBJECT-TYPE "Index for wrsPtpInstanceTable" ::= { wrsPtpInstanceEntry 2 } -wrsPtpInstancePort OBJECT-TYPE - SYNTAX INTEGER +wrsPtpInstanceName OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..12)) MAX-ACCESS read-only STATUS current DESCRIPTION - "Port number on which an instance is running" + "Name of an instance" ::= { wrsPtpInstanceEntry 3 } -wrsPtpInstancePortInstance OBJECT-TYPE +wrsPtpInstancePort OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION - "Index of an instance running on a port" + "Port number on which an instance is running" ::= { wrsPtpInstanceEntry 4 } -wrsPtpInstancePortName OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..12)) +wrsPtpInstancePortInstance OBJECT-TYPE + SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION - "Port name of port" + "Index of an instance running on a port" ::= { wrsPtpInstanceEntry 5 } -wrsPtpInstanceName OBJECT-TYPE +wrsPtpInstancePortName OBJECT-TYPE SYNTAX DisplayString (SIZE (0..12)) MAX-ACCESS read-only STATUS current DESCRIPTION - "Name of an instance" + "Port name of port" ::= { wrsPtpInstanceEntry 6 } wrsPtpInstanceState OBJECT-TYPE diff --git a/userspace/snmpd/wrsPtpInstanceTable.c b/userspace/snmpd/wrsPtpInstanceTable.c index 4d572b887..ec71d6483 100644 --- a/userspace/snmpd/wrsPtpInstanceTable.c +++ b/userspace/snmpd/wrsPtpInstanceTable.c @@ -8,10 +8,10 @@ static struct pickinfo wrsPtpInstanceTable_pickinfo[] = { /* Warning: strings are a special case for snmp format */ FIELD(wrsPtpInstanceTable_s, ASN_UNSIGNED, wrsPtpInstancePortIndex), /* not reported */ FIELD(wrsPtpInstanceTable_s, ASN_UNSIGNED, wrsPtpInstanceOnPortIndex), /* not reported */ + FIELD(wrsPtpInstanceTable_s, ASN_OCTET_STR, wrsPtpInstanceName), FIELD(wrsPtpInstanceTable_s, ASN_INTEGER, wrsPtpInstancePort), FIELD(wrsPtpInstanceTable_s, ASN_INTEGER, wrsPtpInstancePortInstance), FIELD(wrsPtpInstanceTable_s, ASN_OCTET_STR, wrsPtpInstancePortName), - FIELD(wrsPtpInstanceTable_s, ASN_OCTET_STR, wrsPtpInstanceName), FIELD(wrsPtpInstanceTable_s, ASN_INTEGER, wrsPtpInstanceState), FIELD(wrsPtpInstanceTable_s, ASN_INTEGER, wrsPtpInstanceStateNext), FIELD(wrsPtpInstanceTable_s, ASN_INTEGER, wrsPtpInstanceRole), diff --git a/userspace/snmpd/wrsPtpInstanceTable.h b/userspace/snmpd/wrsPtpInstanceTable.h index 178ff39f1..4e64311cd 100644 --- a/userspace/snmpd/wrsPtpInstanceTable.h +++ b/userspace/snmpd/wrsPtpInstanceTable.h @@ -14,10 +14,10 @@ struct wrsPtpInstanceTable_s { uint32_t wrsPtpInstancePortIndex; /* not reported, index fields has t o be marked * as not-accessible in MIB */ uint32_t wrsPtpInstanceOnPortIndex; /* port on which ptp instance is running (index+1) */ + char wrsPtpInstanceName[16]; /* Instance name */ int wrsPtpInstancePort; /* port on which ptp instance is running (index+1) */ int wrsPtpInstancePortInstance; /* serial of instance running on a given port */ char wrsPtpInstancePortName[16];/* port name on which ptp instance is running (wriX) */ - char wrsPtpInstanceName[16]; /* Instance name */ int wrsPtpInstanceState; int wrsPtpInstanceStateNext; int wrsPtpInstanceRole; -- GitLab