Printer FriendlyEmail Article Link

Spirent TestCenter: Why when using PFC and Optimized Xon option, the counters show Dropped, Duplicate frames or other sequence related counter malfunctions

Symptoms
When the configuraton uses PFC (Prioirity Flow Control) feature and have Xon enabled, the counters of Dropped, Duplicated or other Sequence counter have incorrect data on it.
Environment
  • STC several versions
  • PFC enabled
  • Xon enabled
Explanation/Resolution

Spirent TestCenter when using PFC it has the option of Xon enable / disable, when..
 
  • Xon is disabled, the FPGA will process the PFC RX packet in a slow path and ensures that the emitted packets will have the correct stream Sequence Number. In this case the FPGA may not conform to the standard and the traffic stop may occurred later as the standard requires.
 
  • Xon is enabled, the FPGA is instructed to conform to the standard and stop the traffic in the standard defined time and does this by internally enabling a fast path. Having the Xon enabled causes some side effects, the FPGA may generate incorrect Sequence Number for the Tx streams that were impacted by the Rx PFC messages. Therefore the receiving port of these streams may increment in dropped, duplicate or other Sequence related counter, but the number of the packets is correct.
 

UI Warning message for PFC XON set to ON:

enlightened IMPORTANT NOTES:
  • On some test modules you can control this XON option, to enable/disabled, some other modules doesn't allow you to disable, it is ALWAYS ON.
    1. Test Modules with XON always ON with sequence error:
      • FX2/MX2-40G/10G/1G
      • MX2-1G
      • FX3-QSFP28-6
    2. Test Modules with XON always ON without sequence error
      1. Some FX3 HSE Modules like:
        • FX3-100GO-T2
        • FX3-100GD-T2
           
 
Root Cause
Explaining how it works and how it Is affected when Xon is enabled:


 
  • Each white rectangle is a packet
  • The white rectangle with a red X on it, is the affected packet.
 
When the PFC message is received, the time of pause starts and expires (sometimes causing to be 1 or more Sequence Numbers being affected). The transmission is resumed, but since the packet 4 is already on the TX queue and there is no time to redo the Tx queue again, the timestamp and the Sequence Number are not adjusted and it is sent out like that.
The Receiving Analyzer receives 3 packets and the Tx sent the 3 packets, but since the Tx had no time to redo the Sequence Number it looks there are Dropped Packages, because Rx does not have the packet #3.
 

 

Product : Spirent TestCenter