Mellanox QOS Priority Based Flow Control Statistics Test

Quality of Service (QoS) prioritizes network traffic and manages available bandwidth so that the most important traffic goes first. QoS is implemented as rules or policies that prioritize packets, optionally change information in the packet header, and assign them to outbound port queues based on their priority. The priority interface in Mellanox switch allows for the configuration of priority rules and handles the incoming traffic accordingly. Given the QoS is responsible for management of bandwidth for important traffic, it is imparitive for administrators to make sure that priority based flow is working properly and effectively.

This test monitors the traffic and collects key stats about the working of priority based flow like number of pause packets received and transmitted and duration etc. Looking at the trend of these stats, the administrators can understand how the switch is behaving and if there are any issues.

Target of the test : A Mellanox Switch

Agent deploying the test : An external agent

Outputs of the test : One set of results for each Mellanox Switch.

Configurable parameters for the test
Parameter Description

Test Period

How often should the test be executed.

Host

The IP address of the host for which the test is to be configured.

SNMPPort

The port at which the monitored target exposes its SNMP MIB; the default is 161.

SNMPVersion

By default, the eG agent supports SNMP version 1. Accordingly, the default selection in the SNMPVersion list is v1. However, if a different SNMP framework is in use in your environment, say SNMP v2 or v3, then select the corresponding option from this list.

SNMPCommunity

The SNMP community name that the test uses to communicate with the firewall. This parameter is specific to SNMP v1 and v2 only. Therefore, if the SNMPVersion chosen is v3, then this parameter will not appear.

Username

This parameter appears only when v3 is selected as the SNMPVersion. SNMP version 3 (SNMPv3) is an extensible SNMP Framework which supplements the SNMPv2 Framework, by additionally supporting message security, access control, and remote SNMP configuration capabilities. To extract performance statistics from the MIB using the highly secure SNMP v3 protocol, the eG agent has to be configured with the required access privileges – in other words, the eG agent should connect to the MIB using the credentials of a user with access permissions to be MIB. Therefore, specify the name of such a user against this parameter. 

Context

This parameter appears only when v3 is selected as the SNMPVersion. An SNMP context is a collection of management information accessible by an SNMP entity. An item of management information may exist in more than one context and an SNMP entity potentially has access to many contexts. A context is identified by the SNMPEngineID value of the entity hosting the management information (also called a contextEngineID) and a context name that identifies the specific context (also called a contextName). If the Username provided is associated with a context name, then the eG agent will be able to poll the MIB and collect metrics only if it is configured with the context name as well. In such cases therefore, specify the context name of the Username in the Context text box.  By default, this parameter is set to none.

AuthPass

Specify the password that corresponds to the above-mentioned Username. This parameter once again appears only if the SNMPVersion selected is v3.

Confirm Password

Confirm the AuthPass by retyping it here.

AuthType

This parameter too appears only if v3 is selected as the SNMPversion. From the AuthType list box, choose the authentication algorithm using which SNMP v3 converts the specified username and password into a 32-bit format to ensure security of SNMP transactions. You can choose between the following options:

  • MD5 - Message Digest Algorithm
  • SHA - Secure Hash Algorithm
  • SHA224 - Secure Hash Algorithm 224 bit
  • SHA256 - Secure Hash Algorithm 256 bit
  • SHA384 - Secure Hash Algorithm 384 bit
  • SHA512 - Secure Hash Algorithm 512 bit

EncryptFlag

This flag appears only when v3 is selected as the SNMPVersion. By default, the eG agent does not encrypt SNMP requests. Accordingly, the this flag is set to No by default. To ensure that SNMP requests sent by the eG agent are encrypted, select the Yes option. 

EncryptType

If the EncryptFlag is set to Yes, then you will have to mention the encryption type by selecting an option from the EncryptType list. SNMP v3 supports the following encryption types:

  • DES - Data Encryption Standard
  • 3DES - Triple Data Encryption Standard
  • AES - Advanced Encryption Standard
  • AES128 - Advanced Encryption Standard 128 bit
  • AES192 - Advanced Encryption Standard 192 bit
  • AES256 - Advanced Encryption Standard 256 bit

EncryptPassword

Specify the encryption password here.

Confirm Password

Confirm the encryption password by retyping it here.

Timeout

Specify the duration (in seconds) within which the SNMP query executed by this test should time out in this text box. The default is 10 seconds.

Data Over TCP

By default, in an IT environment, all data transmission occurs over UDP. Some environments however, may be specifically configured to offload a fraction of the data traffic – for instance, certain types of data traffic or traffic pertaining to specific components – to other protocols like TCP, so as to prevent UDP overloads. In such environments, you can instruct the eG agent to conduct the SNMP data traffic related to the monitored target over TCP (and not UDP). For this, set this flag to Yes. By default, this flag is set to No.

Engine ID

This parameter appears only when v3 is selected as the SNMPVersion. Sometimes, the test may not report metrics when AES192 or AES256 is chosen as the Encryption type. To ensure that the test report metrics consistently, administrators need to set this flag to Yes. By default, this parameter is set to No.

Measurements made by the test

Measurement

Description

Measurement Unit

Interpretation

Received pause packets

Indicates the total number of pause packets received during the last measurement period on Priority Flow Control (PFC) queue.

Number

In case receiver is not able to receive the messages fast enough it will send pause messages, which means switch is sending too many messages.

Received pause duration

Indicates the duration of pause as per the pause packets received on Priority Flow Control (PFC) queue.

Milliseconds

If the pause duration is too high, there may be problem with receiver.

Transmitted pause packets

Indicates the total number of pause packets transmitted during the last measurement period on Priority Flow Control (PFC) queue.

Number

If you see too many pause packets being sent over the network, it means switch is not able to receive the messages fast enough as sent by source, it could be a sign of problem and needs to be looked at.

Transmitted pause duration

Indicates the duration of pause as per the pause packets transmitted on PFC on Priority Flow Control (PFC) queue.

Milliseconds

Similarly if the pause duration is too high, it means there could be a problem with the switch.