Description

In this article, you will find answers to the following questions:

  • How can I poll CRC errors and FCS errors on Juniper Networks EX and MX series switches and routers that run Junos OS release 15.1 and later?

  • How can I find the SNMP interface index for a given interface?

 

Symptoms

The following OIDs do not work on Junos OS release 15.1 and later: 

  • ifJnxFcsErrors - OID - 1.3.6.1.4.1.2636.3.3.1.1.33

  • ifJnxCrcErrors - OID - 1.3.6.1.4.1.2636.3.3.1.1.32

 

The following types of errors may be seen if these OIDs are used while polling for CRC and FCS errors:

  1. The No such object error:
labroot@MX960_RE0> show snmp mib get ifJnxFcsErrors.600 
ifJnxFcsErrors.600 No such object

labroot@MX960_RE0> show snmp mib get ifJnxCrcErrors.600    
ifJnxCrcErrors.600 No such object

labroot@MX960_RE0> show snmp mib get ifJnxCrcErrors        
ifJnxCrcErrors    No such object
 
  1. In the following, no error is given, but there is no expected output either.

labroot@MX960_RE0> show snmp mib walk ifJnxCrcErrors   
labroot@MX960_RE0>

labroot@MX960_RE0> show snmp mib walk ifJnxFcsErrors                    
labroot@MX960_RE0> 
 
  1. Another error from a typo in the command would be similar to the following:

labroot@MX960_RE0> show snmp mib walk ifJnxCrcError     
Request failed: Could not resolve 'ifJnxCrcError' to an OID

 

Solution

On Junos OS 15.1 and later, the following MIB objects are available in JUNIPER-IF-MIB , which can be used when the above OIDs do not work:

  • ifJnxInErrors,  OID 1.3.6.1.4.1.2636.3.3.1.1.9
    • Errors: The sum of incoming frame aborts and FCS errors

  • ifJnxOutErrors, OID 1.3.6.1.4.1.2636.3.3.1.1.24
    • Errors: The sum of outgoing frame aborts and FCS errors

  • ifJnxOutHslCrcErrors, OID 1.3.6.1.4.1.2636.3.3.1.1.31
    • HS Link CRC Errors: The number of CRC errors on the high-speed links between the ASICs responsible for handling router interfaces while transmitting packets

  • ifJnxInHslCrcErrors, OID 1.3.6.1.4.1.2636.3.3.1.1.15
    • HS Link CRC Errors: The number of CRC errors on the high-speed links between the ASICs responsible for handling router interfaces while receiving packets

 

To poll a CRC or FCS error for a specific interface, you would need to know the SNMP interface index (SNMP ifIndex), which can be found in this output:

labroot@MX960_RE0> show interfaces xe-2/1/0 | match "SNMP ifIndex" 
  Interface index: 202, SNMP ifIndex: 600
  Logical interface xe-2/1/0.0 (Index 353) (SNMP ifIndex 608)
 

Then use ifDescr to confirm the interface name and SNMP ifIndex:

labroot@MX960_RE0> show snmp mib get ifDescr.600 
ifDescr.600   = xe-2/1/0

labroot@MX960_RE0> show snmp mib get ifDescr.608    
ifDescr.608   = xe-2/1/0.0

labroot@MX960_RE0> show snmp mib walk ifDescr | match xe-2/1/0     
ifDescr.600   = xe-2/1/0
ifDescr.608   = xe-2/1/0.0
 

Next we will poll the four OIDs above for the xe-2/1/0 interface, which has SNMP ifIndex 600.

labroot@MX960_RE0> show snmp mib get ifJnxInErrors.600 
ifJnxInErrors.600 = 0  <<< there are no errors on this interface, but the result of 0 shows that the command is working. 

labroot@ MX960_RE0> show snmp mib get ifJnxOutErrors.600   
ifJnxOutErrors.600 = 0

labroot@MX960_RE0> show snmp mib get ifJnxOutHslCrcErrors.600
ifJnxOutHslCrcErrors.600 = 0

labroot@MX960_RE0> show snmp mib get ifJnxInHslCrcErrors.600     
ifJnxInHslCrcErrors.600 = 0
 

Here are some additional syntax examples:

labroot@MX960_RE0> show snmp mib walk ifJnxInErrors | match 600         
ifJnxInErrors.600 = 0

labroot@MX960_RE0> show snmp mib walk ifJnxInErrors | match "600|608"                     
ifJnxInErrors.600 = 0
ifJnxInErrors.608 = 0

labroot@MX960_RE0> show snmp mib walk 1.3.6.1.4.1.2636.3.3.1.1.24 | match "600|608" 
ifJnxOutErrors.600 = 0
ifJnxOutErrors.608 = 0

labroot@MX960_RE0> show snmp mib walk ifJnxOutHslCrcErrors | match "600|608"           
ifJnxOutHslCrcErrors.600 = 0
ifJnxOutHslCrcErrors.608 = 0

labroot@MX960_RE0> show snmp mib get 1.3.6.1.4.1.2636.3.3.1.1.15.600     
ifJnxInHslCrcErrors.600 = 0

labroot@MX960_RE0> show snmp mib get 1.3.6.1.4.1.2636.3.3.1.1.15.608    
ifJnxInHslCrcErrors.608 = 0

For an interface with incrementing ifJnxInErrors , we can use the following:

lab@MX960_RE0> show snmp mib get ifJnxInErrors.528    
ifJnxInErrors.528 = 2773101335
 

We can also find the interface with ifDescr , and check further: 

lab@MX960_RE0> show snmp mib walk ifDescr | match 528            
ifDescr.528   = xe-1/1/0

lab@MX960_RE0>show interfaces xe-1/1/0 extensive | match "Input errors|Errors"    
  Input errors:
    Errors: 2773694594, Drops: 0, Framing errors: 2773694594, Runts: 0, Policed discards: 0, L3 incompletes: 0, L2 channel errors: 0, L2 mismatch timeouts: 0, FIFO errors: 0, Resource errors: 0
  Output errors:
    Carrier transitions: 1, Errors: 0, Drops: 0, Collisions: 0, Aged packets: 0, FIFO errors: 0, HS link CRC errors: 0, MTU errors: 0, Resource errors: 0
    Bit errors                         10297
    CRC/Align errors                2773694594                0
    FIFO errors                              0                0
    Total errors                    2786997582                0

lab@MX960_RE0> show snmp mib get ifJnxInErrors.528                                 
ifJnxInErrors.528 = 2773694594

 

Modification History

2023-06-06: KB updated to include EX devices as well. Updated links. 

Related Information