Printer FriendlyEmail Article Link

Spirent TestCenter: What is the maximum number of modifiers that can be configured?

Environment/Versions
 
  • What is the maximum number of modifiers that can be configured?
  • The number of hardware modifier configured was exceeded
  • VFD
  • RIT
  • Modifiers
  • DX
  • FX/MX
Answer

It is actually hard to say since the firmware does some optimizations so it can turn "user" stream blocks (the streamblocks you configure in your test) into hardware stream blocks that can contain multiple "user" stream blocks (depending on the way the traffic is configured).
 
For more context about this topic, there are different types of modifier:
 
  1. Increment, decrement, random, IMIX  (VFD) [3-4 for DX, 6 for FX/MX]
  2. List modifier (RIT)

The firmware may convert a VFD into a RIT entry so that the configuration can be applied and executed (this also depends on the optimizations made by the firmware) It might not sound like a huge difference but due to the hardware resources, the FX/MX family cards may have bigger numbers; a specific example of this is the maximum number of RIT table entries in a DX3 vs  FX3/MX3 cards, on the DX3 it is 8,192 and in the FX3/MX3 it is 8.4M (for 100G ports)

However, this is what we have so far:
 
  • On DX modules you can use up to 4 modifiers (VFD) per streamblock
  • On FX/MX cards the limit is 6
 
enlightenedBut take this into consideration:
  1. When you use either “Stream Only Generation” at streamblock level or “Use Streams” under a modifier, automatically one VFD out of the total (4 for DX modules and 6 for FX/MX) will be used for stream ID, so this means that we will have only X-1 VFD left (3 VFD available on DX and 5 VFD available on FX/MX cards) to use
  2. There is an optimization design ONLY for random modifiers with “Use stream” enabled, and this optimization is as follows:
    • When “Use stream” is ENABLED on one random modifier, it will use frame template (instead of a VFD) to generate both, the stream ID and the random values on the corresponding offset that the random modifier applied, so let say that when you enable “Use Stream” in a random modifier, we “free” one VFD that can be used to add another modifier.
    • Example:
      • In a DX3-100GQ-T12 scenario where you have 5 Random modifiers and you have “Use Streams” and Stream Only Generation DISABLED/NOT CHECKED, those 5 random modifiers exceed maximum modifiers on the DX3 card (4VFD OR 4 random modifiers) and hence apply will fail, this is because VFD assignation is as follows:
        •    VFD1: RandomModifier1 
        •    VFD2: RandomModifier2
        •    VFD3: RandomModifier3
        •    VFD4: RandomModifier4
        NO MORE VFD FOR RandomModifier5 (HENCE FAILS) no

        However, when enabling “Use streams” on one random modifier (as explained above) it will use frame template (instead of a VFD) to generate both, the stream ID and the random values on the corresponding offset that the random modifier applied, and the other/left 4 random modifiers use VFD modifier resource normally. So it applies fine. 

        Let say you enable “Use Streams” on RandomModifier5, so it will be on this way:
        •    VFD1: RandomModifier1 
        •    VFD2: RandomModifier2
        •    VFD3: RandomModifier3
        •    VFD4: RandomModifier4
        •    Frame Template: StreamID and RandomModifier5 yes
         

Workaround
 
  1. If the customer gets the ERROR: "The number of hardware modifier configured was exceeded" the user can disable the "Stream Only Generation" option as a workaround under the streamblock section
    • This could work as per the explanation above when you disable "Stream Only Generation" Spirent TestCenter's Generators to use a single Stream ID for all flows in that stream block   So you will get statistics for all the streams in aggregate, hence the StreamID does not use any VFD this time.
  2. If disabling Stream only generation didn't help, you can try enabling "Use Streams" under a single modifier inside the streamblock

Product : DX3,Spirent TestCenter,DX2,DX