From 915e2ca244ac223603ad2a4b3530ea7666780959 Mon Sep 17 00:00:00 2001 From: Adam Wujek <adam.wujek@cern.ch> Date: Mon, 30 Mar 2015 14:51:28 +0200 Subject: [PATCH] userspace/snmpd: change order of branches in MIB No technical change. Change location of branch wrSwitchMIB.wrsStatus from high number (256) to low (6), then move wrSwitchMIB.wrsEpertStatus to (7). At the beginning wrsStatus branch was placed at high number because objects from that branch might use several other objects to calculate their own value. For example, there was a risk that query of wrsMainSystemStatus triggers cascade of time consuming cache fills and snmpget timeouts. However, practice shown that cache filling is significantly shorter that SNMP transfers. Additionally, such risk was possible in case of snmpwalk or other method querying objects in order. Signed-off-by: Adam Wujek <adam.wujek@cern.ch> --- userspace/snmpd/WR-SWITCH-MIB.txt | 282 ++++++++++++------------ userspace/snmpd/wrsCurrentTimeGroup.h | 2 +- userspace/snmpd/wrsGeneralStatusGroup.h | 2 +- userspace/snmpd/wrsOSStatusGroup.h | 2 +- userspace/snmpd/wrsPortStatusTable.h | 2 +- userspace/snmpd/wrsPstatsTable.h | 2 +- userspace/snmpd/wrsPtpDataTable.h | 2 +- userspace/snmpd/wrsSpllStatusGroup.h | 2 +- userspace/snmpd/wrsStartCntGroup.h | 2 +- userspace/snmpd/wrsTemperatureGroup.h | 2 +- userspace/snmpd/wrsVersionGroup.h | 2 +- 11 files changed, 151 insertions(+), 151 deletions(-) diff --git a/userspace/snmpd/WR-SWITCH-MIB.txt b/userspace/snmpd/WR-SWITCH-MIB.txt index 799bbcf2d..fa271f712 100644 --- a/userspace/snmpd/WR-SWITCH-MIB.txt +++ b/userspace/snmpd/WR-SWITCH-MIB.txt @@ -36,8 +36,9 @@ wrsScalar OBJECT IDENTIFIER ::= { wrSwitchMIB 1 } --wrsPpsi OBJECT IDENTIFIER ::= { wrSwitchMIB 3 } == obsolete --wrsVersion OBJECT IDENTIFIER ::= { wrSwitchMIB 4 } == obsolete --wrsDate OBJECT IDENTIFIER ::= { wrSwitchMIB 5 } == obsolete -wrsExpertStatus OBJECT IDENTIFIER ::= { wrSwitchMIB 6 } -wrsStatus OBJECT IDENTIFIER ::= { wrSwitchMIB 254 } +wrsStatus OBJECT IDENTIFIER ::= { wrSwitchMIB 6 } +wrsExpertStatus OBJECT IDENTIFIER ::= { wrSwitchMIB 7 } + -- define one stupid object for a start @@ -49,9 +50,140 @@ wrsScalarOne OBJECT-TYPE "Integer incremented at every GET" ::= { wrsScalar 1 } + +--wrsGeneralStatusGroup OBJECT IDENTIFIER ::= { wrsStatus 1 } +wrsDetailedStatusesGroup OBJECT IDENTIFIER ::= { wrsStatus 2 } + +-- wrsOSStatusGroup (.6.2.1) +wrsOSStatusGroup OBJECT IDENTIFIER ::= { wrsDetailedStatusesGroup 1 } + +wrsTemperatureWarning OBJECT-TYPE + SYNTAX INTEGER { + na(0), + thresholdNotSet(1), + temperatureOK(2), + temperatureTooHigh(3) + } + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Warning if temperature exceed threshold levels" + ::= { wrsOSStatusGroup 2 } + + +--wrsTimingStatusGroup OBJECT IDENTIFIER ::= { wrsDetailedStatusesGroup 2 } +--wrsNetworkingStatusGroup OBJECT IDENTIFIER ::= { wrsDetailedStatusesGroup 3 } + +-- wrsVersionGroup (.6.3) +wrsVersionGroup OBJECT IDENTIFIER ::= { wrsStatus 3 } + +wrsVersionSwVersion OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..32)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The software version, as returned from 'git describe' at build time" + ::= { wrsVersionGroup 1 } + +wrsVersionSwBuildBy OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..32)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The software build by, as returned from 'git config --get-all user.name' at build time" + ::= { wrsVersionGroup 2 } + +wrsVersionSwBuildDate OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..32)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The build date of the software, '__DATE__' at build time" + ::= { wrsVersionGroup 3 } + +wrsVersionBackplaneVersion OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..32)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The hardware version of minibackplane PCB" + ::= { wrsVersionGroup 4 } + +wrsVersionFpgaType OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..32)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The hardware version of FPGA" + ::= { wrsVersionGroup 5 } + +wrsVersionManufacturer OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..32)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The name of the manufacturing company of a switch" + ::= { wrsVersionGroup 6 } + +wrsVersionSwitchSerialNumber OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..32)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The serial number (or string) of the switch" + ::= { wrsVersionGroup 7 } + +wrsVersionScbVersion OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..32)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The version of the SCB (switch's motherboard)" + ::= { wrsVersionGroup 8 } + +wrsVersionGwVersion OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..32)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The version of gateware (FPGA bitstream)" + ::= { wrsVersionGroup 9 } + +wrsVersionGwBuild OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..32)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The build of gateware (FPGA bitstream)" + ::= { wrsVersionGroup 10 } + +wrsVersionSwitchHdlCommitId OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..32)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The gateware version: commit of wr_switch_hdl" + ::= { wrsVersionGroup 11 } + +wrsVersionGeneralCoresCommitId OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..32)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The gateware version: commit of general-cores" + ::= { wrsVersionGroup 12 } + +wrsVersionWrCoresCommitId OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..32)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The gateware version: commit of wr-cores" + ::= { wrsVersionGroup 13 } + wrsOperationStatus OBJECT IDENTIFIER ::= { wrsExpertStatus 1 } --- wrsCurrentTimeGroup (.6.1.1) +-- wrsCurrentTimeGroup (.7.1.1) wrsCurrentTimeGroup OBJECT IDENTIFIER ::= { wrsOperationStatus 1 } wrsDateTAI OBJECT-TYPE @@ -73,7 +205,7 @@ wrsDateTAIString OBJECT-TYPE --wrsBootStatusGroup OBJECT IDENTIFIER ::= { wrsOperationStatus 2 } wrsTemperatureGroup OBJECT IDENTIFIER ::= { wrsOperationStatus 3 } --- wrsTemperatureGroup (.6.1.3) +-- wrsTemperatureGroup (.7.1.3) wrsTempFPGA OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only @@ -140,7 +272,7 @@ wrsTempThresholdPSR OBJECT-TYPE wrsStartCntGroup OBJECT IDENTIFIER ::= { wrsExpertStatus 2 } --- wrsStartCntGroup (.6.2) +-- wrsStartCntGroup (.7.2) wrsStartCntHAL OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only @@ -166,7 +298,7 @@ wrsStartCntRTUd OBJECT-TYPE ::= { wrsStartCntGroup 3 } wrsSpllState OBJECT IDENTIFIER ::= { wrsExpertStatus 3 } --- wrsSpllStatusGroup (.6.3.2) +-- wrsSpllStatusGroup (.7.3.2) wrsSpllStatusGroup OBJECT IDENTIFIER ::= { wrsSpllState 2 } wrsSpllMode OBJECT-TYPE @@ -241,7 +373,7 @@ wrsSpllDelCnt OBJECT-TYPE "Del counter at Soft PLL" ::= { wrsSpllStatusGroup 9 } --- wrsPstatsTable (.6.1.4) +-- wrsPstatsTable (.7.1.4) wrsPstatsTable OBJECT-TYPE SYNTAX SEQUENCE OF WrsPstatsEntry MAX-ACCESS not-accessible @@ -642,7 +774,7 @@ wrsPstatsTRURespValid OBJECT-TYPE "Number of TRU decisions" ::= { wrsPstatsEntry 41 } --- wrsPtpDataTable (.6.1.5) +-- wrsPtpDataTable (.7.1.5) wrsPtpDataTable OBJECT-TYPE SYNTAX SEQUENCE OF WrsPtpDataEntry MAX-ACCESS not-accessible @@ -852,7 +984,7 @@ wrsPtpDeltaRxS OBJECT-TYPE "Fixed Rx latency on Slave side" ::= { wrsPtpDataEntry 19 } --- per-port (.6.1.6) +-- per-port (.7.1.6) wrsPortStatusTable OBJECT-TYPE SYNTAX SEQUENCE OF WrsPortStatusEntry MAX-ACCESS not-accessible @@ -1004,136 +1136,4 @@ wrsPortStatusSfpError OBJECT-TYPE --wrsNetworking --Configuration -wrsDetailedStatusesGroup OBJECT IDENTIFIER ::= { wrsStatus 1 } - -wrsOSStatusGroup OBJECT IDENTIFIER ::= { wrsDetailedStatusesGroup 1 } - --- wrsOSStatusGroup (.254.1.1) - -wrsTemperatureWarning OBJECT-TYPE - SYNTAX INTEGER { - na(0), - thresholdNotSet(1), - temperatureOK(2), - temperatureTooHigh(3) - } - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "Warning if temperature exceed threshold levels" - ::= { wrsOSStatusGroup 2 } - - ---wrsTimingStatusGroup OBJECT IDENTIFIER ::= { wrsDetailedStatusesGroup 2 } ---wrsNetworkingStatusGroup OBJECT IDENTIFIER ::= { wrsDetailedStatusesGroup 3 } - --- wrsVersionGroup (.254.2) -wrsVersionGroup OBJECT IDENTIFIER ::= { wrsStatus 2 } - -wrsVersionSwVersion OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..32)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The software version, as returned from 'git describe' at build time" - ::= { wrsVersionGroup 1 } - -wrsVersionSwBuildBy OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..32)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The software build by, as returned from 'git config --get-all user.name' at build time" - ::= { wrsVersionGroup 2 } - -wrsVersionSwBuildDate OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..32)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The build date of the software, '__DATE__' at build time" - ::= { wrsVersionGroup 3 } - -wrsVersionBackplaneVersion OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..32)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The hardware version of minibackplane PCB" - ::= { wrsVersionGroup 4 } - -wrsVersionFpgaType OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..32)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The hardware version of FPGA" - ::= { wrsVersionGroup 5 } - -wrsVersionManufacturer OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..32)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The name of the manufacturing company of a switch" - ::= { wrsVersionGroup 6 } - -wrsVersionSwitchSerialNumber OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..32)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The serial number (or string) of the switch" - ::= { wrsVersionGroup 7 } - -wrsVersionScbVersion OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..32)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The version of the SCB (switch's motherboard)" - ::= { wrsVersionGroup 8 } - -wrsVersionGwVersion OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..32)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The version of gateware (FPGA bitstream)" - ::= { wrsVersionGroup 9 } - -wrsVersionGwBuild OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..32)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The build of gateware (FPGA bitstream)" - ::= { wrsVersionGroup 10 } - -wrsVersionSwitchHdlCommitId OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..32)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The gateware version: commit of wr_switch_hdl" - ::= { wrsVersionGroup 11 } - -wrsVersionGeneralCoresCommitId OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..32)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The gateware version: commit of general-cores" - ::= { wrsVersionGroup 12 } - -wrsVersionWrCoresCommitId OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..32)) - MAX-ACCESS read-only - STATUS current - DESCRIPTION - "The gateware version: commit of wr-cores" - ::= { wrsVersionGroup 13 } - ---wrsGeneralStatusGroup OBJECT IDENTIFIER ::= { wrsStatus 254 } - END diff --git a/userspace/snmpd/wrsCurrentTimeGroup.h b/userspace/snmpd/wrsCurrentTimeGroup.h index a2a3337f8..f66c2adc5 100644 --- a/userspace/snmpd/wrsCurrentTimeGroup.h +++ b/userspace/snmpd/wrsCurrentTimeGroup.h @@ -2,7 +2,7 @@ #define WRS_CURRENT_TIME_GROUP_H #define WRSCURRENTTIME_CACHE_TIMEOUT 5 -#define WRSCURRENTTIME_OID WRS_OID, 6, 1, 1 +#define WRSCURRENTTIME_OID WRS_OID, 7, 1, 1 struct wrsCurrentTime_s { uint64_t wrsDateTAI; /* current time in TAI */ diff --git a/userspace/snmpd/wrsGeneralStatusGroup.h b/userspace/snmpd/wrsGeneralStatusGroup.h index aed4bc0ac..b535f231b 100644 --- a/userspace/snmpd/wrsGeneralStatusGroup.h +++ b/userspace/snmpd/wrsGeneralStatusGroup.h @@ -1,7 +1,7 @@ #ifndef WRS_GENERAL_STATUS_GROUP_H #define WRS_GENERAL_STATUS_GROUP_H -#define WRSGENERALSTATUS_OID WRS_OID, 254, 254 +#define WRSGENERALSTATUS_OID WRS_OID, 6, 1 struct wrsGeneralStatus_s { int wrsMainSystemStatus; }; diff --git a/userspace/snmpd/wrsOSStatusGroup.h b/userspace/snmpd/wrsOSStatusGroup.h index cfe7ad4fa..6ba7ab65d 100644 --- a/userspace/snmpd/wrsOSStatusGroup.h +++ b/userspace/snmpd/wrsOSStatusGroup.h @@ -1,7 +1,7 @@ #ifndef WRS_OSSTATUS_GROUP_H #define WRS_OSSTATUS_GROUP_H -#define WRSOSSTATUS_OID WRS_OID, 254, 1, 1 +#define WRSOSSTATUS_OID WRS_OID, 6, 2, 1 #define WRS_TEMPERATURE_WARNING_THOLD_NOT_SET 1 /* warning */ #define WRS_TEMPERATURE_WARNING_OK 2 /* ok */ diff --git a/userspace/snmpd/wrsPortStatusTable.h b/userspace/snmpd/wrsPortStatusTable.h index a992bcbb1..17020a56f 100644 --- a/userspace/snmpd/wrsPortStatusTable.h +++ b/userspace/snmpd/wrsPortStatusTable.h @@ -2,7 +2,7 @@ #define WRS_PORT_STATUS_TABLE_H #define WRSPORTSTATUSTABLE_CACHE_TIMEOUT 5 -#define WRSPORTSTATUSTABLE_OID WRS_OID, 6, 6 +#define WRSPORTSTATUSTABLE_OID WRS_OID, 7, 6 #define WRS_PORT_STATUS_SFP_ERROR_SFP_OK 1 /* ok */ #define WRS_PORT_STATUS_SFP_ERROR_SFP_ERROR 2 /* error */ diff --git a/userspace/snmpd/wrsPstatsTable.h b/userspace/snmpd/wrsPstatsTable.h index 4be30c018..e1bf56237 100644 --- a/userspace/snmpd/wrsPstatsTable.h +++ b/userspace/snmpd/wrsPstatsTable.h @@ -2,7 +2,7 @@ #define WRS_PSTATS_TABLE_H #define WRSPSTATSTABLE_CACHE_TIMEOUT 5 -#define WRSPSTATSTABLE_OID WRS_OID, 6, 4 +#define WRSPSTATSTABLE_OID WRS_OID, 7, 4 #define PSTATS_MAX_N_COUNTERS 39 /* maximum number of counters */ #define PSTATS_SYSCTL_PATH "/proc/sys/pstats/" /* Path to sysclt entries */ diff --git a/userspace/snmpd/wrsPtpDataTable.h b/userspace/snmpd/wrsPtpDataTable.h index d82331702..5f18c103d 100644 --- a/userspace/snmpd/wrsPtpDataTable.h +++ b/userspace/snmpd/wrsPtpDataTable.h @@ -2,7 +2,7 @@ #define WRS_PTP_DATA_TABLE_H #define WRSPTPDATATABLE_CACHE_TIMEOUT 5 -#define WRSPTPDATATABLE_OID WRS_OID, 6, 5 +#define WRSPTPDATATABLE_OID WRS_OID, 7, 5 /* Right now we allow only one servo instance, it will change in the future * when switchover is implemented */ #define WRS_MAX_N_SERVO_INSTANCES 1 diff --git a/userspace/snmpd/wrsSpllStatusGroup.h b/userspace/snmpd/wrsSpllStatusGroup.h index f7ade2244..3339f68cb 100644 --- a/userspace/snmpd/wrsSpllStatusGroup.h +++ b/userspace/snmpd/wrsSpllStatusGroup.h @@ -2,7 +2,7 @@ #define WRS_SPLL_STATUS_GROUP_H #define WRSSPLLSTATUS_CACHE_TIMEOUT 5 -#define WRSSPLLSTATUS_OID WRS_OID, 6, 3, 2 +#define WRSSPLLSTATUS_OID WRS_OID, 7, 3, 2 struct wrsSpllStatus_s { int32_t wrsSpllMode; diff --git a/userspace/snmpd/wrsStartCntGroup.h b/userspace/snmpd/wrsStartCntGroup.h index 1bb5e095b..6f9ee78ac 100644 --- a/userspace/snmpd/wrsStartCntGroup.h +++ b/userspace/snmpd/wrsStartCntGroup.h @@ -2,7 +2,7 @@ #define WRS_START_CNT_GROUP_H #define WRSSTARTCNT_CACHE_TIMEOUT 5 -#define WRSSTARTCNT_OID WRS_OID, 6, 2 +#define WRSSTARTCNT_OID WRS_OID, 7, 2 struct wrsStartCnt_s { uint32_t wrsStartCntHAL; diff --git a/userspace/snmpd/wrsTemperatureGroup.h b/userspace/snmpd/wrsTemperatureGroup.h index 3a42a8953..f84a1f750 100644 --- a/userspace/snmpd/wrsTemperatureGroup.h +++ b/userspace/snmpd/wrsTemperatureGroup.h @@ -2,7 +2,7 @@ #define WRS_TEMPERATURE_GROUP_H #define WRSTEMPERATURE_CACHE_TIMEOUT 5 -#define WRSTEMPERATURE_OID WRS_OID, 6, 1, 3 +#define WRSTEMPERATURE_OID WRS_OID, 7, 1, 3 struct wrsTemperature_s { int temp_fpga; /* FPGA temperature */ diff --git a/userspace/snmpd/wrsVersionGroup.h b/userspace/snmpd/wrsVersionGroup.h index c1fa6c891..690d6505f 100644 --- a/userspace/snmpd/wrsVersionGroup.h +++ b/userspace/snmpd/wrsVersionGroup.h @@ -1,7 +1,7 @@ #ifndef WRS_VERSION_GROUP_H #define WRS_VERSION_GROUP_H -#define WRSVERSION_OID WRS_OID, 254, 2 +#define WRSVERSION_OID WRS_OID, 6, 3 struct wrsVersion_s { char wrsVersions[13][32]; /* array of version strings */ -- GitLab