Brocade/Broadcom FC Switch SFP Stats (HW address inside OID)

Post general support questions here that do not specifically fall into the Linux or Windows categories.

Moderators: Moderators, Developers

Post Reply
Author
Message
jmroth
Cacti User
Posts: 59
Joined: Sun Jan 20, 2002 7:00 pm

Brocade/Broadcom FC Switch SFP Stats (HW address inside OID)

#1 Post by jmroth » Sun Mar 17, 2019 5:01 pm

Hey,
I have found a peculiar MIB on these switches

Normal stuff (like transmitted frames) looks, well, normal:

Code: Select all

SNMPv2-SMI::enterprises.1588.2.1.1.1.6.2.1.13.1 = Counter32: 3835485735
SNMPv2-SMI::enterprises.1588.2.1.1.1.6.2.1.13.2 = Counter32: 1492958274
SNMPv2-SMI::enterprises.1588.2.1.1.1.6.2.1.13.3 = Counter32: 1699923677
SNMPv2-SMI::enterprises.1588.2.1.1.1.6.2.1.13.4 = Counter32: 2819691366
SNMPv2-SMI::enterprises.1588.2.1.1.1.6.2.1.13.5 = Counter32: 2254368755
SNMPv2-SMI::enterprises.1588.2.1.1.1.6.2.1.13.6 = Counter32: 1855902496
SNMPv2-SMI::enterprises.1588.2.1.1.1.6.2.1.13.7 = Counter32: 3329439194
SNMPv2-SMI::enterprises.1588.2.1.1.1.6.2.1.13.8 = Counter32: 625897204
SNMPv2-SMI::enterprises.1588.2.1.1.1.6.2.1.13.9 = Counter32: 1908407748
SNMPv2-SMI::enterprises.1588.2.1.1.1.6.2.1.13.10 = Counter32: 2217535470
But if you like to graph SFP stats, you'll have to use the "FibreAlliance Extension MIB Objects" which, for some reason, seem to encode the hardware address in the OID:

Code: Select all

SNMPv2-SMI::enterprises.1588.2.1.1.1.28.1.1.4.16.0.123.123.123.123.123.123.0.0.0.0.0.0.0.0.1 = STRING: "-13.6"
SNMPv2-SMI::enterprises.1588.2.1.1.1.28.1.1.4.16.0.123.123.123.123.123.123.0.0.0.0.0.0.0.0.2 = STRING: "-8.4"
SNMPv2-SMI::enterprises.1588.2.1.1.1.28.1.1.4.16.0.123.123.123.123.123.123.0.0.0.0.0.0.0.0.3 = STRING: "-3.7"
SNMPv2-SMI::enterprises.1588.2.1.1.1.28.1.1.4.16.0.123.123.123.123.123.123.0.0.0.0.0.0.0.0.4 = STRING: "-3.0"
SNMPv2-SMI::enterprises.1588.2.1.1.1.28.1.1.4.16.0.123.123.123.123.123.123.0.0.0.0.0.0.0.0.5 = STRING: "-40.0"
SNMPv2-SMI::enterprises.1588.2.1.1.1.28.1.1.4.16.0.123.123.123.123.123.123.0.0.0.0.0.0.0.0.6 = STRING: "-3.1"
SNMPv2-SMI::enterprises.1588.2.1.1.1.28.1.1.4.16.0.123.123.123.123.123.123.0.0.0.0.0.0.0.0.7 = STRING: "-2.5"
SNMPv2-SMI::enterprises.1588.2.1.1.1.28.1.1.4.16.0.123.123.123.123.123.123.0.0.0.0.0.0.0.0.8 = STRING: "-3.0"
SNMPv2-SMI::enterprises.1588.2.1.1.1.28.1.1.4.16.0.123.123.123.123.123.123.0.0.0.0.0.0.0.0.9 = STRING: "-3.1"
SNMPv2-SMI::enterprises.1588.2.1.1.1.28.1.1.4.16.0.123.123.123.123.123.123.0.0.0.0.0.0.0.0.10 = STRING: "-2.3"
SNMPv2-SMI::enterprises.1588.2.1.1.1.28.1.1.4.16.0.123.123.123.123.123.123.0.0.0.0.0.0.0.0.11 = STRING: "-3.0"
SNMPv2-SMI::enterprises.1588.2.1.1.1.28.1.1.4.16.0.123.123.123.123.123.123.0.0.0.0.0.0.0.0.12 = STRING: "-4.4"
Now how do I retrieve those values using a data query?

I've tried extending a data query for FC switches I found online like this:

Code: Select all

<interface>
  <name>Brocade FC Interfaces</name>
  <description>Queries a host for a list of monitorable interfaces</description>
  <oid_index>.1.3.6.1.4.1.1588.2.1.1.1.6.2.1.1</oid_index>
  <oid_num_indexes>.1.3.6.1.4.1.1588.2.1.1.1.6.1.0</oid_num_indexes>
  <index_order>ifDescr:ifHwAddr:ifIndex</index_order>
  <index_order_type>numeric</index_order_type>
  <index_title_format>|chosen_order_field|</index_title_format>

  <fields>
    <ifIndex>
      <name>Index</name>
      <method>walk</method>
      <source>value</source>
      <direction>input</direction>
      <oid>.1.3.6.1.4.1.1588.2.1.1.1.6.2.1.1</oid>
    </ifIndex>
    <ifOperStatus>
      <name>Status</name>
      <method>walk</method>
      <source>value</source>
      <direction>input</direction>
      <oid>.1.3.6.1.4.1.1588.2.1.1.1.6.2.1.4</oid>
    </ifOperStatus>
    <ifDescr>
      <name>Description</name>
      <method>walk</method>
      <source>value</source>
      <direction>input</direction>
      <oid>.1.3.6.1.4.1.1588.2.1.1.1.6.2.1.36</oid>
    </ifDescr>
    <ifType>
      <name>Type</name>
      <method>walk</method>
      <source>value</source>
      <direction>input</direction>
      <oid>.1.3.6.1.4.1.1588.2.1.1.1.6.2.1.7</oid>
    </ifType>
    <ifHwAddr>
      <name>Hardware Address</name>
      <method>walk</method>
      <source>value</source>
      <direction>input</direction>
      <oid>.1.3.6.1.4.1.1588.2.1.1.1.6.2.1.34</oid>
    </ifHwAddr>

    <swFCPortTxFrames>
      <name>Fibrechannel frames transmitted</name>
      <method>walk</method>
      <source>value</source>
      <direction>output</direction>
      <oid>.1.3.6.1.4.1.1588.2.1.1.1.6.2.1.13</oid>
    </swFCPortTxFrames>

...
  
    <swSfpRxPower>
      <name>SFP Received Optical Power</name>
      <method>walk</method>
      <source>value</source>
      <direction>output</direction>
      <oid>.1.3.6.1.4.1.1588.2.1.1.1.28.1.1.4</oid>   <-------------------------
    </swSfpRxPower>
However data source values remain "unknown" ... Looking at wireshark it doesn't even try querying anything .1.3.6.1.4.1.1588.2.1.1.1.28.xxx

Note also that you don't want to include the hardware address in the XML file since it varies from switch to switch, obviously.


***EDIT/UPDATE***
I can't see the mentioned OIDs using wireshark during a Verbose Query, however I can see them in the debug logs.

I was afraid that I would see

Code: Select all

sfpRxPower, oid: .1.3.6.1.4.1.1588.2.1.1.1.28.1.1.4.47, output: U
since that is not the actual OID... (see above)

Post Reply