Junos OS

 View Only
Expand all | Collapse all

QFX5200-32C VirtualChassis snmp counters not increased for jnxVirtualChassisPortInCRCAlignErrors

  • 1.  QFX5200-32C VirtualChassis snmp counters not increased for jnxVirtualChassisPortInCRCAlignErrors

    Posted 01-16-2025 17:04

    Hi everyone.

    We have a 3-member VC out of 3 x QFX5200-32C running JunOS 22.2R3-S3.18. After an outage caused by a faulty VC-Port cable (generating a lot of CRC errors), we turned our attention to adjust monitoring to catch this. After having enabled vcp-snmp-statistics, we saw entries under jnxVirtualChassisPortTable get populated. However, we also noticed that one particular metric we were interested in, did not get updated correctly:

    root@vpc01> show snmp mib walk ascii jnxVirtualChassisPortInCRCAlignErrors     
    jnxVirtualChassisPortInCRCAlignErrors.0."vcp-255/0/28.32768" = 0
    jnxVirtualChassisPortInCRCAlignErrors.0."vcp-255/0/29.32768" = 0
    jnxVirtualChassisPortInCRCAlignErrors.0."vcp-255/0/30.32768" = 0
    jnxVirtualChassisPortInCRCAlignErrors.0."vcp-255/0/31.32768" = 0
    jnxVirtualChassisPortInCRCAlignErrors.1."vcp-255/0/28.32768" = 0
    jnxVirtualChassisPortInCRCAlignErrors.1."vcp-255/0/29.32768" = 0
    jnxVirtualChassisPortInCRCAlignErrors.1."vcp-255/0/30.32768" = 0
    jnxVirtualChassisPortInCRCAlignErrors.1."vcp-255/0/31.32768" = 0
    jnxVirtualChassisPortInCRCAlignErrors.2."vcp-255/0/28.32768" = 0
    jnxVirtualChassisPortInCRCAlignErrors.2."vcp-255/0/29.32768" = 0
    jnxVirtualChassisPortInCRCAlignErrors.2."vcp-255/0/30.32768" = 0
    jnxVirtualChassisPortInCRCAlignErrors.2."vcp-255/0/31.32768" = 0
    
    {master:0}
    root@vcp01> show virtual-chassis vc-port statistics extensive | match "CRC"    
    CRC alignment errors:      0            
    CRC alignment errors:      0            
    CRC alignment errors:      0            
    CRC alignment errors:      0            
    CRC alignment errors:      0            
    CRC alignment errors:      0            
    CRC alignment errors:      1384         
    CRC alignment errors:      0            
    CRC alignment errors:      0            
    CRC alignment errors:      0            
    CRC alignment errors:      0            
    CRC alignment errors:      0    

    I normally would have opened a TAC case, but unfortunately the setup doesn't allow us. We rent the switches from the datacenter provider and because we choose to manage them ourselves in terms of config, they have refused to open a TAC case on our behalf (we're working on better terms). 

    Few questions around this issue:

    1. Have we missed something in config? This really looks like a bug more than anything else, considering other counter like jnxVirtualChassisPortInPkts increase correctly.
    2. Provided we manage to address the issue, how can we test that the CRC counters are increasing correctly? In other words, how can we simulate CRC errors and validate the fix?


    ------------------------------
    ANDREI NEAGOE
    ------------------------------


  • 2.  RE: QFX5200-32C VirtualChassis snmp counters not increased for jnxVirtualChassisPortInCRCAlignErrors

    Posted 07-04-2025 19:24

    Hello. Did you found a solution for this problem? I seem to face the same thing using a virtual chassis with a qfx5110-48s and a qfx5100-48t on version 21.4R3.16.

    admin@switch> show virtual-chassis vc-port statistics extensive | match "CRC"   
    CRC alignment errors:      0            
    CRC alignment errors:      10125512     
    
    
    
    {master:0}
    admin@switch> show snmp mib walk ascii jnxVirtualChassisPortInCRCAlignErrors     
    jnxVirtualChassisPortInCRCAlignErrors.0."vcp-255/0/51" = 0
    jnxVirtualChassisPortInCRCAlignErrors.1."vcp-255/0/53" = 0
    
    {master:0}
    


    ------------------------------
    MICHIEL TIMMERS
    ------------------------------



  • 3.  RE: QFX5200-32C VirtualChassis snmp counters not increased for jnxVirtualChassisPortInCRCAlignErrors

    Posted 07-05-2025 06:02

    I didn't find any PR's related to this particular issue, and I will try to reach out to some folks to see if I can find someone more knowledgable on QFX.

    The only work-around that comes to mind if there isn't an immediate solution would be to leverage an SNMP script instead.  This would provide the ability to poll an OID and for a snmp script (SLAX, XLST, Python) to then parse/return the relevant result from an RPC that does return the values.

    e.g.

    show virtual-chassis vc-port statistics extensive | display xml rpc
    
    The above will return the RPC associated with the above command.
    
    show virtual-chassis vc-port statistics extensive | display xml
    
    The above will return the results of the RPC in its native XML format and this result can then be parsed using XPATH etc., to return the values for CRC errors etc.

     

    Alas, I don't have access to a QFX VC to investigate further, but I guess if you could provide the output of both commands, it shouldn't be too much effort to develop an SNMP script (SLAX is usually my go-to preferred style, because it just works with XML data so incredibly well).

    I'm pretty sure that I have some existing SNMP scripts that I've written over the years that perform this kind of operation as I've used this approach to monitor SRX clusters in the past and to provide additional visibility to SNMP management systems.

    It's not the solution that you are probably looking for, but this is a work-around that comes to mind.

    Regards,

    Andy




  • 4.  RE: QFX5200-32C VirtualChassis snmp counters not increased for jnxVirtualChassisPortInCRCAlignErrors

    Posted 07-07-2025 05:31

    Please see below the output from both commands:

    root@switch> show virtual-chassis vc-port statistics extensive | display xml rpc    
    <rpc-reply xmlns:junos="http://xml.juniper.net/junos/22.2R0/junos">
        <rpc>
            <get-virtual-chassis-port-statistics>
                    <extensive/>
            </get-virtual-chassis-port-statistics>
        </rpc>
        <cli>
            <banner>{master:0}</banner>
        </cli>
    </rpc-reply>
    
    {master:0}
    root@switch> show virtual-chassis vc-port statistics extensive | display xml        
    <rpc-reply xmlns:junos="http://xml.juniper.net/junos/22.2R0/junos">
        <multi-routing-engine-results>
            
            <multi-routing-engine-item>
                
                <re-name>localre</re-name>
                
                <virtual-chassis-port-statistics-information>
                    <statistics-port-list>
                        <statistics junos:style="extensive">
                            <port-name>vcp-255/0/28</port-name>
                            <input-bytes>2401537870387005</input-bytes>
                            <output-bytes>2058877711494577</output-bytes>
                            <input-packets>686599933523</input-packets>
                            <output-packets>539186704187</output-packets>
                            <input-unicasts>686393116898</input-unicasts>
                            <output-unicasts>539152782474</output-unicasts>
                            <input-broadcasts>66238</input-broadcasts>
                            <output-broadcasts>1049598</output-broadcasts>
                            <input-multicasts>206750387</input-multicasts>
                            <output-multicasts>32872115</output-multicasts>
                            <input-mac-control-frames>0</input-mac-control-frames>
                            <output-mac-control-frames>0</output-mac-control-frames>
                            <crc-align-errors>0</crc-align-errors>
                            <input-oversized-frames>0</input-oversized-frames>
                            <input-undersized-frames>0</input-undersized-frames>
                            <input-jabber-frames>0</input-jabber-frames>
                            <input-fragment-frames>0</input-fragment-frames>
                            <interface-tx-errors>0</interface-tx-errors>
                            <octets-size-64-count>0</octets-size-64-count>
                            <octets-size-65-127-count>233351392879</octets-size-65-127-count>
                            <octets-size-128-255-count>251479167955</octets-size-128-255-count>
                            <octets-size-256-511-count>69901085137</octets-size-256-511-count>
                            <octets-size-512-1023-count>69901085137</octets-size-512-1023-count>
                            <octets-size-1024-1518-count>57479291895</octets-size-1024-1518-count>
                            <input-pps>47696</input-pps>
                            <output-pps>30701</output-pps>
                            <input-bps>186542524</input-bps>
                            <output-bps>141246968</output-bps>
                        </statistics>
                        <statistics junos:style="extensive">
                            <port-name>vcp-255/0/29</port-name>
                            <input-bytes>1795318420337663</input-bytes>
                            <output-bytes>1976837599945717</output-bytes>
                            <input-packets>510566102804</input-packets>
                            <output-packets>535946807399</output-packets>
                            <input-unicasts>510562941332</input-unicasts>
                            <output-unicasts>535931144785</output-unicasts>
                            <input-broadcasts>1300802</input-broadcasts>
                            <output-broadcasts>11475053</output-broadcasts>
                            <input-multicasts>1860670</input-multicasts>
                            <output-multicasts>4187561</output-multicasts>
                            <input-mac-control-frames>0</input-mac-control-frames>
                            <output-mac-control-frames>0</output-mac-control-frames>
                            <crc-align-errors>0</crc-align-errors>
                            <input-oversized-frames>0</input-oversized-frames>
                            <input-undersized-frames>0</input-undersized-frames>
                            <input-jabber-frames>0</input-jabber-frames>
                            <input-fragment-frames>0</input-fragment-frames>
                            <interface-tx-errors>0</interface-tx-errors>
                            <octets-size-64-count>0</octets-size-64-count>
                            <octets-size-65-127-count>201721512077</octets-size-65-127-count>
                            <octets-size-128-255-count>208717570885</octets-size-128-255-count>
                            <octets-size-256-511-count>57859008831</octets-size-256-511-count>
                            <octets-size-512-1023-count>57859008831</octets-size-512-1023-count>
                            <octets-size-1024-1518-count>51204403845</octets-size-1024-1518-count>
                            <input-pps>38400</input-pps>
                            <output-pps>40602</output-pps>
                            <input-bps>126773236</input-bps>
                            <output-bps>185469701</output-bps>
                        </statistics>
                        <statistics junos:style="extensive">
                            <port-name>vcp-255/0/30</port-name>
                            <input-bytes>2442925428186223</input-bytes>
                            <output-bytes>1989226282747175</output-bytes>
                            <input-packets>633739258823</input-packets>
                            <output-packets>495789102546</output-packets>
                            <input-unicasts>633736299708</input-unicasts>
                            <output-unicasts>495756865204</output-unicasts>
                            <input-broadcasts>278904</input-broadcasts>
                            <output-broadcasts>1050105</output-broadcasts>
                            <input-multicasts>2680211</input-multicasts>
                            <output-multicasts>31187237</output-multicasts>
                            <input-mac-control-frames>0</input-mac-control-frames>
                            <output-mac-control-frames>0</output-mac-control-frames>
                            <crc-align-errors>0</crc-align-errors>
                            <input-oversized-frames>0</input-oversized-frames>
                            <input-undersized-frames>0</input-undersized-frames>
                            <input-jabber-frames>0</input-jabber-frames>
                            <input-fragment-frames>0</input-fragment-frames>
                            <interface-tx-errors>0</interface-tx-errors>
                            <octets-size-64-count>0</octets-size-64-count>
                            <octets-size-65-127-count>205219001710</octets-size-65-127-count>
                            <octets-size-128-255-count>240994587285</octets-size-128-255-count>
                            <octets-size-256-511-count>64046263345</octets-size-256-511-count>
                            <octets-size-512-1023-count>64046263345</octets-size-512-1023-count>
                            <octets-size-1024-1518-count>21928844471</octets-size-1024-1518-count>
                            <input-pps>45037</input-pps>
                            <output-pps>39812</output-pps>
                            <input-bps>219081183</input-bps>
                            <output-bps>230523752</output-bps>
                        </statistics>
                        <statistics junos:style="extensive">
                            <port-name>vcp-255/0/31</port-name>
                            <input-bytes>1846806439874356</input-bytes>
                            <output-bytes>2542237884928640</output-bytes>
                            <input-packets>464992760874</input-packets>
                            <output-packets>637388910552</output-packets>
                            <input-unicasts>464925618293</input-unicasts>
                            <output-unicasts>637373248113</output-unicasts>
                            <input-broadcasts>53706</input-broadcasts>
                            <output-broadcasts>11475015</output-broadcasts>
                            <input-multicasts>67088875</input-multicasts>
                            <output-multicasts>4187421</output-multicasts>
                            <input-mac-control-frames>0</input-mac-control-frames>
                            <output-mac-control-frames>0</output-mac-control-frames>
                            <crc-align-errors>0</crc-align-errors>
                            <input-oversized-frames>0</input-oversized-frames>
                            <input-undersized-frames>0</input-undersized-frames>
                            <input-jabber-frames>0</input-jabber-frames>
                            <input-fragment-frames>0</input-fragment-frames>
                            <interface-tx-errors>0</interface-tx-errors>
                            <octets-size-64-count>0</octets-size-64-count>
                            <octets-size-65-127-count>197940836343</octets-size-65-127-count>
                            <octets-size-128-255-count>230686743458</octets-size-128-255-count>
                            <octets-size-256-511-count>63442543971</octets-size-256-511-count>
                            <octets-size-512-1023-count>63442543971</octets-size-512-1023-count>
                            <octets-size-1024-1518-count>18054882592</octets-size-1024-1518-count>
                            <input-pps>32178</input-pps>
                            <output-pps>55057</output-pps>
                            <input-bps>147219521</input-bps>
                            <output-bps>339696929</output-bps>
                        </statistics>
                    </statistics-port-list>
                </virtual-chassis-port-statistics-information>
            </multi-routing-engine-item>
            
            <multi-routing-engine-item>
                
                <re-name>fpc1</re-name>
                
                <virtual-chassis-port-statistics-information>
                    <statistics-port-list>
                        <statistics junos:style="extensive">
                            <port-name>vcp-255/0/28</port-name>
                            <input-bytes>2324895406685188</input-bytes>
                            <output-bytes>1968457270795067</output-bytes>
                            <input-packets>587073390894</input-packets>
                            <output-packets>508682472563</output-packets>
                            <input-unicasts>587070431780</input-unicasts>
                            <output-unicasts>508475655974</output-unicasts>
                            <input-broadcasts>278903</input-broadcasts>
                            <output-broadcasts>66238</output-broadcasts>
                            <input-multicasts>2680211</input-multicasts>
                            <output-multicasts>206750351</output-multicasts>
                            <input-mac-control-frames>0</input-mac-control-frames>
                            <output-mac-control-frames>0</output-mac-control-frames>
                            <crc-align-errors>0</crc-align-errors>
                            <input-oversized-frames>0</input-oversized-frames>
                            <input-undersized-frames>0</input-undersized-frames>
                            <input-jabber-frames>0</input-jabber-frames>
                            <input-fragment-frames>0</input-fragment-frames>
                            <interface-tx-errors>0</interface-tx-errors>
                            <octets-size-64-count>0</octets-size-64-count>
                            <octets-size-65-127-count>211960593391</octets-size-65-127-count>
                            <octets-size-128-255-count>190171427552</octets-size-128-255-count>
                            <octets-size-256-511-count>63086381630</octets-size-256-511-count>
                            <octets-size-512-1023-count>63086381630</octets-size-512-1023-count>
                            <octets-size-1024-1518-count>48942468231</octets-size-1024-1518-count>
                            <input-pps>34935</input-pps>
                            <output-pps>37477</output-pps>
                            <input-bps>186274622</input-bps>
                            <output-bps>196634255</output-bps>
                        </statistics>
                        <statistics junos:style="extensive">
                            <port-name>vcp-255/0/29</port-name>
                            <input-bytes>2224286320415987</input-bytes>
                            <output-bytes>2447479801209430</output-bytes>
                            <input-packets>571579374018</input-packets>
                            <output-packets>676789691038</output-packets>
                            <input-unicasts>571512231455</input-unicasts>
                            <output-unicasts>676786529549</output-unicasts>
                            <input-broadcasts>53706</input-broadcasts>
                            <output-broadcasts>1300802</output-broadcasts>
                            <input-multicasts>67088857</input-multicasts>
                            <output-multicasts>1860687</output-multicasts>
                            <input-mac-control-frames>0</input-mac-control-frames>
                            <output-mac-control-frames>0</output-mac-control-frames>
                            <crc-align-errors>0</crc-align-errors>
                            <input-oversized-frames>0</input-oversized-frames>
                            <input-undersized-frames>0</input-undersized-frames>
                            <input-jabber-frames>0</input-jabber-frames>
                            <input-fragment-frames>0</input-fragment-frames>
                            <interface-tx-errors>0</interface-tx-errors>
                            <octets-size-64-count>0</octets-size-64-count>
                            <octets-size-65-127-count>241388245614</octets-size-65-127-count>
                            <octets-size-128-255-count>234996860093</octets-size-128-255-count>
                            <octets-size-256-511-count>77414425955</octets-size-256-511-count>
                            <octets-size-512-1023-count>77414425955</octets-size-512-1023-count>
                            <octets-size-1024-1518-count>51738978636</octets-size-1024-1518-count>
                            <input-pps>31395</input-pps>
                            <output-pps>48127</output-pps>
                            <input-bps>156591491</input-bps>
                            <output-bps>232013849</output-bps>
                        </statistics>
                        <statistics junos:style="extensive">
                            <port-name>vcp-255/0/30</port-name>
                            <input-bytes>2058877975854637</input-bytes>
                            <output-bytes>2401537812552013</output-bytes>
                            <input-packets>539186758417</input-packets>
                            <output-packets>686600026643</output-packets>
                            <input-unicasts>539152836700</input-unicasts>
                            <output-unicasts>686393209980</output-unicasts>
                            <input-broadcasts>1049598</input-broadcasts>
                            <output-broadcasts>66238</output-broadcasts>
                            <input-multicasts>32872119</input-multicasts>
                            <output-multicasts>206750425</output-multicasts>
                            <input-mac-control-frames>0</input-mac-control-frames>
                            <output-mac-control-frames>0</output-mac-control-frames>
                            <crc-align-errors>0</crc-align-errors>
                            <input-oversized-frames>0</input-oversized-frames>
                            <input-undersized-frames>0</input-undersized-frames>
                            <input-jabber-frames>0</input-jabber-frames>
                            <input-fragment-frames>0</input-fragment-frames>
                            <interface-tx-errors>0</interface-tx-errors>
                            <octets-size-64-count>0</octets-size-64-count>
                            <octets-size-65-127-count>233351416587</octets-size-65-127-count>
                            <octets-size-128-255-count>251479200911</octets-size-128-255-count>
                            <octets-size-256-511-count>69901086945</octets-size-256-511-count>
                            <octets-size-512-1023-count>69901086945</octets-size-512-1023-count>
                            <octets-size-1024-1518-count>57479296951</octets-size-1024-1518-count>
                            <input-pps>32102</input-pps>
                            <output-pps>38824</output-pps>
                            <input-bps>175744176</input-bps>
                            <output-bps>156038854</output-bps>
                        </statistics>
                        <statistics junos:style="extensive">
                            <port-name>vcp-255/0/31</port-name>
                            <input-bytes>1976837978921833</input-bytes>
                            <output-bytes>1795318036999655</output-bytes>
                            <input-packets>535946757251</input-packets>
                            <output-packets>510566064071</output-packets>
                            <input-unicasts>535931094637</input-unicasts>
                            <output-unicasts>510562902599</output-unicasts>
                            <input-broadcasts>11475053</input-broadcasts>
                            <output-broadcasts>1300802</output-broadcasts>
                            <input-multicasts>4187561</input-multicasts>
                            <output-multicasts>1860670</output-multicasts>
                            <input-mac-control-frames>0</input-mac-control-frames>
                            <output-mac-control-frames>0</output-mac-control-frames>
                            <crc-align-errors>0</crc-align-errors>
                            <input-oversized-frames>0</input-oversized-frames>
                            <input-undersized-frames>0</input-undersized-frames>
                            <input-jabber-frames>0</input-jabber-frames>
                            <input-fragment-frames>0</input-fragment-frames>
                            <interface-tx-errors>0</interface-tx-errors>
                            <octets-size-64-count>0</octets-size-64-count>
                            <octets-size-65-127-count>201721495363</octets-size-65-127-count>
                            <octets-size-128-255-count>208717543571</octets-size-128-255-count>
                            <octets-size-256-511-count>57859007240</octets-size-256-511-count>
                            <octets-size-512-1023-count>57859007240</octets-size-512-1023-count>
                            <octets-size-1024-1518-count>51204399637</octets-size-1024-1518-count>
                            <input-pps>30481</input-pps>
                            <output-pps>32186</output-pps>
                            <input-bps>114515238</input-bps>
                            <output-bps>138679050</output-bps>
                        </statistics>
                    </statistics-port-list>
                </virtual-chassis-port-statistics-information>
            </multi-routing-engine-item>
            
            <multi-routing-engine-item>
                
                <re-name>fpc2</re-name>
                
                <virtual-chassis-port-statistics-information>
                    <statistics-port-list>
                        <statistics junos:style="extensive">
                            <port-name>vcp-255/0/28</port-name>
                            <input-bytes>1989225182948955</input-bytes>
                            <output-bytes>2442924842437777</output-bytes>
                            <input-packets>495788875541</input-packets>
                            <output-packets>633738998724</output-packets>
                            <input-unicasts>495756638201</input-unicasts>
                            <output-unicasts>633736039610</output-unicasts>
                            <input-broadcasts>1050104</input-broadcasts>
                            <output-broadcasts>278903</output-broadcasts>
                            <input-multicasts>31187236</input-multicasts>
                            <output-multicasts>2680211</output-multicasts>
                            <input-mac-control-frames>0</input-mac-control-frames>
                            <output-mac-control-frames>0</output-mac-control-frames>
                            <crc-align-errors>0</crc-align-errors>
                            <input-oversized-frames>0</input-oversized-frames>
                            <input-undersized-frames>0</input-undersized-frames>
                            <input-jabber-frames>0</input-jabber-frames>
                            <input-fragment-frames>0</input-fragment-frames>
                            <interface-tx-errors>0</interface-tx-errors>
                            <octets-size-64-count>0</octets-size-64-count>
                            <octets-size-65-127-count>205218891182</octets-size-65-127-count>
                            <octets-size-128-255-count>240994504866</octets-size-128-255-count>
                            <octets-size-256-511-count>64046236835</octets-size-256-511-count>
                            <octets-size-512-1023-count>64046236835</octets-size-512-1023-count>
                            <octets-size-1024-1518-count>21928818681</octets-size-1024-1518-count>
                            <input-pps>39127</input-pps>
                            <output-pps>44501</output-pps>
                            <input-bps>219492057</input-bps>
                            <output-bps>236608224</output-bps>
                        </statistics>
                        <statistics junos:style="extensive">
                            <port-name>vcp-255/0/29</port-name>
                            <input-bytes>2542237166472400</input-bytes>
                            <output-bytes>1846806767198804</output-bytes>
                            <input-packets>637388662148</input-packets>
                            <output-packets>464992532602</output-packets>
                            <input-unicasts>637372999712</input-unicasts>
                            <output-unicasts>464925390057</output-unicasts>
                            <input-broadcasts>11475015</input-broadcasts>
                            <output-broadcasts>53706</output-broadcasts>
                            <input-multicasts>4187421</input-multicasts>
                            <output-multicasts>67088839</output-multicasts>
                            <input-mac-control-frames>0</input-mac-control-frames>
                            <output-mac-control-frames>0</output-mac-control-frames>
                            <crc-align-errors>0</crc-align-errors>
                            <input-oversized-frames>0</input-oversized-frames>
                            <input-undersized-frames>0</input-undersized-frames>
                            <input-jabber-frames>0</input-jabber-frames>
                            <input-fragment-frames>0</input-fragment-frames>
                            <interface-tx-errors>0</interface-tx-errors>
                            <octets-size-64-count>0</octets-size-64-count>
                            <octets-size-65-127-count>197940740517</octets-size-65-127-count>
                            <octets-size-128-255-count>230686668242</octets-size-128-255-count>
                            <octets-size-256-511-count>63442519797</octets-size-256-511-count>
                            <octets-size-512-1023-count>63442519797</octets-size-512-1023-count>
                            <octets-size-1024-1518-count>18054864623</octets-size-1024-1518-count>
                            <input-pps>58326</input-pps>
                            <output-pps>33645</output-pps>
                            <input-bps>371588154</input-bps>
                            <output-bps>168411258</output-bps>
                        </statistics>
                        <statistics junos:style="extensive">
                            <port-name>vcp-255/0/30</port-name>
                            <input-bytes>1968458207171257</input-bytes>
                            <output-bytes>2324895185572134</output-bytes>
                            <input-packets>508682541313</input-packets>
                            <output-packets>587073453248</output-packets>
                            <input-unicasts>508475724686</input-unicasts>
                            <output-unicasts>587070494134</output-unicasts>
                            <input-broadcasts>66238</input-broadcasts>
                            <output-broadcasts>278903</output-broadcasts>
                            <input-multicasts>206750389</input-multicasts>
                            <output-multicasts>2680211</output-multicasts>
                            <input-mac-control-frames>0</input-mac-control-frames>
                            <output-mac-control-frames>0</output-mac-control-frames>
                            <crc-align-errors>0</crc-align-errors>
                            <input-oversized-frames>0</input-oversized-frames>
                            <input-undersized-frames>0</input-undersized-frames>
                            <input-jabber-frames>0</input-jabber-frames>
                            <input-fragment-frames>0</input-fragment-frames>
                            <interface-tx-errors>0</interface-tx-errors>
                            <octets-size-64-count>0</octets-size-64-count>
                            <octets-size-65-127-count>211960621115</octets-size-65-127-count>
                            <octets-size-128-255-count>190171449353</octets-size-128-255-count>
                            <octets-size-256-511-count>63086383146</octets-size-256-511-count>
                            <octets-size-512-1023-count>63086383146</octets-size-512-1023-count>
                            <octets-size-1024-1518-count>48942469295</octets-size-1024-1518-count>
                            <input-pps>39203</input-pps>
                            <output-pps>35996</output-pps>
                            <input-bps>211095498</input-bps>
                            <output-bps>189804066</output-bps>
                        </statistics>
                        <statistics junos:style="extensive">
                            <port-name>vcp-255/0/31</port-name>
                            <input-bytes>2447480911343939</input-bytes>
                            <output-bytes>2224286090233519</output-bytes>
                            <input-packets>676789790797</input-packets>
                            <output-packets>571579435537</output-packets>
                            <input-unicasts>676786629308</input-unicasts>
                            <output-unicasts>571512292992</output-unicasts>
                            <input-broadcasts>1300802</input-broadcasts>
                            <output-broadcasts>53706</output-broadcasts>
                            <input-multicasts>1860687</input-multicasts>
                            <output-multicasts>67088839</output-multicasts>
                            <input-mac-control-frames>0</input-mac-control-frames>
                            <output-mac-control-frames>0</output-mac-control-frames>
                            <crc-align-errors>0</crc-align-errors>
                            <input-oversized-frames>0</input-oversized-frames>
                            <input-undersized-frames>0</input-undersized-frames>
                            <input-jabber-frames>0</input-jabber-frames>
                            <input-fragment-frames>0</input-fragment-frames>
                            <interface-tx-errors>0</interface-tx-errors>
                            <octets-size-64-count>0</octets-size-64-count>
                            <octets-size-65-127-count>241388277917</octets-size-65-127-count>
                            <octets-size-128-255-count>234996892873</octets-size-128-255-count>
                            <octets-size-256-511-count>77414428300</octets-size-256-511-count>
                            <octets-size-512-1023-count>77414428300</octets-size-512-1023-count>
                            <octets-size-1024-1518-count>51738980090</octets-size-1024-1518-count>
                            <input-pps>51931</input-pps>
                            <output-pps>33424</output-pps>
                            <input-bps>243039786</input-bps>
                            <output-bps>166929527</output-bps>
                        </statistics>
                    </statistics-port-list>
                </virtual-chassis-port-statistics-information>
            </multi-routing-engine-item>
            
        </multi-routing-engine-results>
        <cli>
            <banner>{master:0}</banner>
        </cli>
    </rpc-reply>
    
    {master:0}
    root@switch> 
    

    The biggest challenge is probably testing this; since in my case I've no way of reproducing the CRC errors.

    Any examples of workflows would be appreciated.

    Cheers,
    Andrei



    ------------------------------
    ANDREI NEAGOE
    ------------------------------



  • 5.  RE: QFX5200-32C VirtualChassis snmp counters not increased for jnxVirtualChassisPortInCRCAlignErrors

    Posted 07-07-2025 13:26

    Many thanks for the data.

    I'll take a look and see what I can come up with for you.


    Regards,

    Andy




  • 6.  RE: QFX5200-32C VirtualChassis snmp counters not increased for jnxVirtualChassisPortInCRCAlignErrors

    Posted 07-14-2025 04:00

    Hi Andrei,

    Just a question on how you are going to poll this data for your management system.  Are you walking (SNMP Walk) the table and collecting data, parsing it etc., or  are you using SNMP Gets for each specific OID that you are interested in obtaining, and then tracking that for each linecard and handling the OID to incorporate the vcp ports that are used etc.

    The reason that I ask is that this will drive the behaviour of the SNMP script.

    Thanks,

    Andy




  • 7.  RE: QFX5200-32C VirtualChassis snmp counters not increased for jnxVirtualChassisPortInCRCAlignErrors

    Posted 07-14-2025 04:21

    Hello Andy. Are you from Juniper? If so why would you make a workaround for this problem using a script and not fix the issue in software? 



    ------------------------------
    MICHIEL TIMMERS
    ------------------------------



  • 8.  RE: QFX5200-32C VirtualChassis snmp counters not increased for jnxVirtualChassisPortInCRCAlignErrors

    Posted 07-14-2025 08:10
    Edited by asharp 07-14-2025 08:44

    Hi Michiel,

    In answer to your questions.

    Yes, I am a Juniper employee.  I'm offering a workaround as an interim solution using an SNMP script until such time as this issue is qualified and can be addressed via s/w.

    Regards,

    Andy




  • 9.  RE: QFX5200-32C VirtualChassis snmp counters not increased for jnxVirtualChassisPortInCRCAlignErrors

    Posted 07-14-2025 19:45

    Hey Andy,

    We use SNMP exporter for this with a custom config, so yes, we do get on particular OIDs (after generating the initial config of SNMP exporter).

    Cheers,
    Andrei



    ------------------------------
    ANDREI NEAGOE
    ------------------------------



  • 10.  RE: QFX5200-32C VirtualChassis snmp counters not increased for jnxVirtualChassisPortInCRCAlignErrors

    Posted 07-17-2025 05:20
    Edited by asharp 07-17-2025 13:05

    Hi Andrei,

    Okay, so here is one example script.  This is an event script, and is written in Python, and the approach of this script is such that it is triggered by a timer, in this example every 60 seconds.  Once the script is triggered then it will populate the Juniper Utility MIB with the CRC values.

    Since this is now using a different set of MIB OIDs, you would need to adjust the monitoring that you are using for this within SNMP exporter.

    The script and the associated configuration are as follows: In this example, the script has been created as /var/db/scripts/event/crc.py

    from jnpr.junos import Device
    
    
    def main():
        """Populate utility mib with crc-align-errors values."""
        dev = Device()
        dev.open()
    
        VC_stats = dev.rpc.get_virtual_chassis_port_statistics(extensive=True)
    
        FPC_E_LIST = VC_stats.findall(".//re-name")
    
        DICT = {}
        for FPC_E in FPC_E_LIST:
            FPC = FPC_E.text
            PORT_E_LIST = VC_stats.findall(
                ".//multi-routing-engine-item[re-name='" + FPC + "']//port-name"
            )
            CRC_E_LIST = VC_stats.findall(
                ".//multi-routing-engine-item[re-name='" + FPC + "']//crc-align-errors"
            )
            PORT_CRC_DICT = {}
            for i in range(len(PORT_E_LIST)):
                PORT_CRC_DICT[PORT_E_LIST[i].text] = CRC_E_LIST[i].text
            DICT[FPC] = PORT_CRC_DICT
    
        for FPC in DICT:
            for PORT in DICT[FPC]:
                CRC = DICT[FPC][PORT]
                STRING = FPC + "_" + PORT
                dev.rpc.request_snmp_utility_mib_set(
                    object_type="string", instance=STRING, object_value=STRING
                )
                dev.rpc.request_snmp_utility_mib_set(
                    object_type="integer", instance=STRING, object_value=CRC
                )
    
    
    if __name__ == "__main__":
        main()
    

    The configuration required to enable this script is as shown below: Please note that an event script needs to run with root privs, and you would need to update the username for the python-script-user configuration to match your own user.

    event-options {
        generate-event {
            populate-VC-CRC time-interval 60;
        }
        policy VC-CRC {
            events populate-VC-CRC;
            then {
                event-script crc.py;
            }
        }
        event-script {
            file crc.py {
                python-script-user labroot;
            }
        }
    }
    system {
        scripts {
            language python3;
        }
    }

    Once the script is in place and the configuration has been applied, then an event will trigger each 60 seconds (as defined by the generate event configuration, and the script will update the Juniper Utility MIB with the appropriate data.

    Example of the data that is generated is shown below:

    show snmp mib walk jnxUtil ascii
    jnxUtilIntegerValue."fpc0_vcp-255/0/46" = 0
    jnxUtilIntegerValue."fpc0_vcp-255/0/47" = 0
    jnxUtilIntegerValue."localre_vcp-255/0/46" = 0
    jnxUtilIntegerValue."localre_vcp-255/0/47" = 0
    jnxUtilIntegerTime."fpc0_vcp-255/0/46" = 07 e9 07 11  0e 2c 06 00  2b 05 00
    jnxUtilIntegerTime."fpc0_vcp-255/0/47" = 07 e9 07 11  0e 2c 06 00  2b 05 00
    jnxUtilIntegerTime."localre_vcp-255/0/46" = 07 e9 07 11  0e 2c 06 00  2b 05 00
    jnxUtilIntegerTime."localre_vcp-255/0/47" = 07 e9 07 11  0e 2c 06 00  2b 05 00
    jnxUtilStringValue."fpc0_vcp-255/0/46" = fpc0_vcp-255/0/46
    jnxUtilStringValue."fpc0_vcp-255/0/47" = fpc0_vcp-255/0/47
    jnxUtilStringValue."localre_vcp-255/0/46" = localre_vcp-255/0/46
    jnxUtilStringValue."localre_vcp-255/0/47" = localre_vcp-255/0/47
    jnxUtilStringTime."fpc0_vcp-255/0/46" = 07 e9 07 11  0e 2c 06 00  2b 05 00
    jnxUtilStringTime."fpc0_vcp-255/0/47" = 07 e9 07 11  0e 2c 06 00  2b 05 00
    jnxUtilStringTime."localre_vcp-255/0/46" = 07 e9 07 11  0e 2c 06 00  2b 05 00
    jnxUtilStringTime."localre_vcp-255/0/47" = 07 e9 07 11  0e 2c 06 00  2b 05 00
    
    show snmp mib walk jnxUtil decimal
    jnxUtilIntegerValue.102.112.99.48.95.118.99.112.45.50.53.53.47.48.47.52.54 = 0
    jnxUtilIntegerValue.102.112.99.48.95.118.99.112.45.50.53.53.47.48.47.52.55 = 0
    jnxUtilIntegerValue.108.111.99.97.108.114.101.95.118.99.112.45.50.53.53.47.48.47.52.54 = 0
    jnxUtilIntegerValue.108.111.99.97.108.114.101.95.118.99.112.45.50.53.53.47.48.47.52.55 = 0
    jnxUtilIntegerTime.102.112.99.48.95.118.99.112.45.50.53.53.47.48.47.52.54 = 07 e9 07 11  0e 2d 06 00  2b 05 00
    jnxUtilIntegerTime.102.112.99.48.95.118.99.112.45.50.53.53.47.48.47.52.55 = 07 e9 07 11  0e 2d 06 00  2b 05 00
    jnxUtilIntegerTime.108.111.99.97.108.114.101.95.118.99.112.45.50.53.53.47.48.47.52.54 = 07 e9 07 11  0e 2d 06 00  2b 05 00
    jnxUtilIntegerTime.108.111.99.97.108.114.101.95.118.99.112.45.50.53.53.47.48.47.52.55 = 07 e9 07 11  0e 2d 06 00  2b 05 00
    jnxUtilStringValue.102.112.99.48.95.118.99.112.45.50.53.53.47.48.47.52.54 = fpc0_vcp-255/0/46
    jnxUtilStringValue.102.112.99.48.95.118.99.112.45.50.53.53.47.48.47.52.55 = fpc0_vcp-255/0/47
    jnxUtilStringValue.108.111.99.97.108.114.101.95.118.99.112.45.50.53.53.47.48.47.52.54 = localre_vcp-255/0/46
    jnxUtilStringValue.108.111.99.97.108.114.101.95.118.99.112.45.50.53.53.47.48.47.52.55 = localre_vcp-255/0/47
    jnxUtilStringTime.102.112.99.48.95.118.99.112.45.50.53.53.47.48.47.52.54 = 07 e9 07 11  0e 2d 06 00  2b 05 00
    jnxUtilStringTime.102.112.99.48.95.118.99.112.45.50.53.53.47.48.47.52.55 = 07 e9 07 11  0e 2d 06 00  2b 05 00
    jnxUtilStringTime.108.111.99.97.108.114.101.95.118.99.112.45.50.53.53.47.48.47.52.54 = 07 e9 07 11  0e 2d 06 00  2b 05 00
    jnxUtilStringTime.108.111.99.97.108.114.101.95.118.99.112.45.50.53.53.47.48.47.52.55 = 07 e9 07 11  0e 2d 06 00  2b 05 00

    As mentioned already, this is one approach using an event script and populating the Juniper Utility mib with values, and I'll share an alternative method using an SNMP script shortly.

    Please don't hesitate to let me know if you have any questions.

    Thanks and regards,

    Andy




  • 11.  RE: QFX5200-32C VirtualChassis snmp counters not increased for jnxVirtualChassisPortInCRCAlignErrors

    Posted 07-17-2025 07:15

    Hi Andrei,

    The alternative script that I mentioned using an SNMP script approach would be based upon the following example.  Please note that the OIDs used here are based on the lab setup that I am using, rather than your own setup, so you will need to expand upon the configuration with the required OIDs and extend the script to cover the members and vc-ports that you are using in your own setup.

    The script /var/db/scripts/snmp/snmp_crc.slax is shown below:  This is a SLAX script rather than a Python script, but without too much effort it could be ported to Python if required.

    version 1.2;
    
    ns junos = "http://xml.juniper.net/junos/*/junos";
    ns xnm = "http://xml.juniper.net/xnm/1.1/xnm";
    ns jcs = "http://xml.juniper.net/junos/commit-scripts/1.0";
    ns dyn = "http://exslt.org/dynamic";
    ns snmp extension = "http://exslt.org/functions";
    
    
    match / {
        /* open connection */
        var $connection = jcs:open();
    
        var $snmp-action = snmp-script-input/snmp-action;
        var $snmp-oid = snmp-script-input/snmp-oid;
    
        var $rpc = <get-virtual-chassis-port-statistics> {
        	<extensive>;
        }
        var $result = jcs:execute( $connection, $rpc );
    
        if ( $snmp-action == 'get' ) {
            /* member 0 - vcp-255/0/46 */
            if ( $snmp-oid == '.1.3.6.1.4.1.2636.3.40.1.4.1.2.1.16.0.12.118.99.112.45.50.53.53.47.48.47.52.54') {
                var $value = $result//multi-routing-engine-item[1]/virtual-chassis-port-statistics-information/statistics-port-list/statistics[port-name="vcp-255/0/46"]/crc-align-errors;
                <snmp-script-results> {
                    <snmp-oid> $snmp-oid;
                    <snmp-type> "Counter64";
                    <snmp-value> $value;
                }
            }
            /* member 0 - vcp-255/0/47 */
            if ( $snmp-oid == '.1.3.6.1.4.1.2636.3.40.1.4.1.2.1.16.0.12.118.99.112.45.50.53.53.47.48.47.52.55') {
                var $value = $result//multi-routing-engine-item[1]/virtual-chassis-port-statistics-information/statistics-port-list/statistics[port-name="vcp-255/0/47"]/crc-align-errors;
                <snmp-script-results> {
                    <snmp-oid> $snmp-oid;
                    <snmp-type> "Counter64";
                    <snmp-value> $value;
                }
            }
            /* member 1 - vcp-255/0/46 */
            if ( $snmp-oid == '.1.3.6.1.4.1.2636.3.40.1.4.1.2.1.16.1.12.118.99.112.45.50.53.53.47.48.47.52.54') {
                var $value = $result//multi-routing-engine-item[2]/virtual-chassis-port-statistics-information/statistics-port-list/statistics[port-name="vcp-255/0/46"]/crc-align-errors;
                <snmp-script-results> {
                    <snmp-oid> $snmp-oid;
                    <snmp-type> "Counter64";
                    <snmp-value> $value;
                }
            }
            /* member 1 - vcp-255/0/47 */
            if ( $snmp-oid == '.1.3.6.1.4.1.2636.3.40.1.4.1.2.1.16.1.12.118.99.112.45.50.53.53.47.48.47.52.55') {
                var $value = $result//multi-routing-engine-item[2]/virtual-chassis-port-statistics-information/statistics-port-list/statistics[port-name="vcp-255/0/47"]/crc-align-errors;
                <snmp-script-results> {
                    <snmp-oid> $snmp-oid;
                    <snmp-type> "Counter64";
                    <snmp-value> $value;
                }
            }
        }
        expr jcs:close ( $connection );
    }

    A few points to take note about the SLAX script above, the snmp-oid value is obtained using a mib walk for the oid 1.3.6.1.4.1.2636.3.40.1.4.1.2.1.16 and I was looking at the result both in ascii and decimal to identify the vc-port and its value in decimal as that is then used for each member.

    Secondly, the $value variable since this is SLAX the xpath that I'm using for each routing-engine-item starts at [1] rather than [0] so just be aware of that.  You will also need to update the xpath predicate to match your vc-ports for each member.

    Also note, that since the SLAX script is only detecting the snmp-action for "get" this will only return values when using an SNMP get rather than an SNMP walk.

    The configuration that I have applied to the device is shown below, again, you will need to adjust the OID entries to match your own environment.

    system {
      scripts {
            snmp {
                file snmp_crc.slax {
                    oid .1.3.6.1.4.1.2636.3.40.1.4.1.2.1.16.0.12.118.99.112.45.50.53.53.47.48.47.52.54;
                    oid .1.3.6.1.4.1.2636.3.40.1.4.1.2.1.16.0.12.118.99.112.45.50.53.53.47.48.47.52.55;
                    oid .1.3.6.1.4.1.2636.3.40.1.4.1.2.1.16.1.12.118.99.112.45.50.53.53.47.48.47.52.54;
                    oid .1.3.6.1.4.1.2636.3.40.1.4.1.2.1.16.1.12.118.99.112.45.50.53.53.47.48.47.52.55;
                }
            }
        }
    }

    Once this configuration is in place, you can then poll those OIDs to get the appropriate results derived from the rpc get-virtual-chassis-port-statistics

    show snmp mib get .1.3.6.1.4.1.2636.3.40.1.4.1.2.1.16.0.12.118.99.112.45.50.53.53.47.48.47.52.54
    jnxVirtualChassisPortInCRCAlignErrors.0.12.118.99.112.45.50.53.53.47.48.47.52.54 = 0
    
    show snmp mib get .1.3.6.1.4.1.2636.3.40.1.4.1.2.1.16.0.12.118.99.112.45.50.53.53.47.48.47.52.55
    jnxVirtualChassisPortInCRCAlignErrors.0.12.118.99.112.45.50.53.53.47.48.47.52.55 = 0
    
    show snmp mib get .1.3.6.1.4.1.2636.3.40.1.4.1.2.1.16.1.12.118.99.112.45.50.53.53.47.48.47.52.54
    jnxVirtualChassisPortInCRCAlignErrors.1.12.118.99.112.45.50.53.53.47.48.47.52.54 = 0
    
    show snmp mib get .1.3.6.1.4.1.2636.3.40.1.4.1.2.1.16.1.12.118.99.112.45.50.53.53.47.48.47.52.55
    jnxVirtualChassisPortInCRCAlignErrors.1.12.118.99.112.45.50.53.53.47.48.47.52.55 = 0
    
    show snmp mib get .1.3.6.1.4.1.2636.3.40.1.4.1.2.1.16.0.12.118.99.112.45.50.53.53.47.48.47.52.54 ascii
    jnxVirtualChassisPortInCRCAlignErrors.0."vcp-255/0/46" = 0
    
    show snmp mib get .1.3.6.1.4.1.2636.3.40.1.4.1.2.1.16.0.12.118.99.112.45.50.53.53.47.48.47.52.55 ascii
    jnxVirtualChassisPortInCRCAlignErrors.0."vcp-255/0/47" = 0
    
    show snmp mib get .1.3.6.1.4.1.2636.3.40.1.4.1.2.1.16.1.12.118.99.112.45.50.53.53.47.48.47.52.54 ascii
    jnxVirtualChassisPortInCRCAlignErrors.1."vcp-255/0/46" = 0
    
    show snmp mib get .1.3.6.1.4.1.2636.3.40.1.4.1.2.1.16.1.12.118.99.112.45.50.53.53.47.48.47.52.55 ascii
    jnxVirtualChassisPortInCRCAlignErrors.1."vcp-255/0/47" = 0
    
    

    Again, please reach out to me if you have any questions or issues in relation to either of these two work-arounds until such time that the issue has been resolved.

    If I figure a way to dummy values for the CRC counters then I'll update here, but so far I've not figured out a way to do that.

    Regards,

    Andy




  • 12.  RE: QFX5200-32C VirtualChassis snmp counters not increased for jnxVirtualChassisPortInCRCAlignErrors

    Posted 07-17-2025 08:56

    Hey Andy,

    Thanks a lot for both scripts. This is looking very promising, and at the first glance I think I like the timer approach more, especially since it's not something that has to trigger immediately. I also like that it's using different OIDs because then there's no doubt that we're looking at the correct values. We can also (temporarily) look at different counters of the VC port in the script to prove that it works, then revert to the CRC errors afterward.

    I already have a poor man solution in place via a custom oxidized scrape which will flag the increasing counters in a config change and ping over slack (not very precise but at least it will draw attention because of many updates to config). 

    I'm currently on holiday and will be back on 4th of August when I can start testing out these scripts and see what works. Will report back soon after.

    Cheers,
    Andrei



    ------------------------------
    ANDREI NEAGOE
    ------------------------------



  • 13.  RE: QFX5200-32C VirtualChassis snmp counters not increased for jnxVirtualChassisPortInCRCAlignErrors

    Posted 07-17-2025 14:36

    Hi Andrei,

    Glad I could be of assistance, I'll be on vacation in August too, so back on the 18th or thereabouts.

    Go and enjoy your holiday and don't worry about scripts!!

    Regards,

    Andy




  • 14.  RE: QFX5200-32C VirtualChassis snmp counters not increased for jnxVirtualChassisPortInCRCAlignErrors

    Posted 07-24-2025 06:03

    I think I have found a way on how to replicate this issue.

    I'm using a qfx5110-48s and a qfx5100-48t switch in a vc. When using port 0/51 on the qfx5110-48s and port 0/53 on the qfx5100-48t I do get CRC errors. But when I move it to port 0/51 on the qfx5100-48t there are no CRC errors.

    I can replicate this on other switches in my lab so its not a broken ports or cable.

    I'm using 21.4R3.16 (qfx-5e).

    I did noticed the report that CRC can be seen when connecting between PHY and PHYLESS ports. But I believe I'm using the same type of ports.

    Problem Report IDPR1692102 (https://prsearch.juniper.net/problemreport/PR1692102)

    Anyhow, that is a way you can replicate the problem, and make a fix so you don't require a script.



    ------------------------------
    MICHIEL TIMMERS
    ------------------------------