- Table of Contents
- Related Documents
-
| Title | Size | Download |
|---|---|---|
| 03-IPCC configuration | 115.08 KB |
Configuring IPCC
About IPCC
Intelligent Proactive Congestion Control (IPCC) is an improvement of Explicit Congestion Notification (ECN). IPCC allows network devices to proactively monitor and respond to network congestion, optimizing network performance by intelligently adjusting data flow rates. For more information about ECN, see QoS configuration in ACL and QoS Configuration Guide.
RoCEv2 packets
IPCC takes effect only on RoCEv2 packets. RoCEv2 uses UDP encapsulation. Figure 1 shows the RoCEv2 packet format.
· Ethernet header—Contains source and destination MAC addresses.
· IP header—Contains source and destination IP addresses.
· UDP header—Contains source and destination port numbers. The destination port number of RoCEv2 packets is 4791.
· Payload—Message payload.
· CRC—Cyclic redundancy check.
· FCS—Frame check sequence.
· InfiniBand Base Transport Header—Contains key information about an RoCEv2 packet. IPCC is related to the following fields:
¡ Opcode—Indicates the RoCEv2 packet type, which can be one of the following:
- ConnectMsg—Communication management (CM) connection setup packet. The packet is used for RoCEv2 connection setup. The sender and receiver use the RoCEv2 connection to exchange data packets.
- Send—Send packet. The sender uses the packet to request data from the receiver, without specifying the address where the receiver stores data.
- Write—Write packet. The packet carries the address, key, and length of data to be written to the receiver.
- Read—Read packet. The packet carries the address, key, and length of data to be read from the receiver.
- ACK—ACK packet. The packet is a response message returned by the receiver.
The Send, Write, and Read RoCEv2 packets are RoCEv2 data packets.
¡ Dest QP—Destination Queue Pair (QP), identifying an RoCEv2 flow. This field is similar to the destination port number. It is a key value for setting up an RoCEv2 flow table.
IPCC workflow
IPCC is usually deployed in data center networks. You can enable IPCC on the interface that receives packets on the forwarding device to implement intelligent congestion control.
As shown in Figure 2, IPCC works as follows:
1. Set up an RoCEv2 flow table.
After you enable IPCC for an interface on the forwarding device, IPCC replicates RoCEv2 data packets passing the interface and sends the packets to the CPU. The CPU processes the packets as follows:
a. Generates an RoCEv2 flow table based on the quadruple information (client IP, server IP, client QP, and server QP) in the RoCEv2 connection setup packets.
b. Associates the RoCEv2 flow table with the interface based on the RoCEv2 data packets.
By updating and maintaining the RoCEv2 flow table, the forwarding device can track address and forwarding path information about each RoCEv2 flow.
2. Calculate the number of CNPs to be sent.
After you enable IPCC for a queue on the interface, the forwarding device monitors the length of the queue and calculates the number of CNPs to be sent as follows:
¡ When the length of the queue increases, the forwarding device only needs to send a small number of CNPs if the cache usage of the queue is low. If the cache usage of the queue is high, the forwarding device needs to send a large number of CNPs to reduce queue congestion and forwarding latency.
¡ When the length of the queue decreases, the forwarding device does not need to send CNPs if the cache usage of the queue is low. This can avoid throughput reduction due to rate decrease. If the cache usage of the queue is high, the forwarding device needs to send a small number of CNPs to reduce queue congestion while ensuring throughput and latency performance as much as possible.
3. Construct and send CNPs.
The forwarding device constructs CNPs based on the calculated number of CNPs and address information in the RoCEv2 flow table and sends the CNPs actively to the sender. Then, the sender reduces the RoCEv2 packet sending rate.
Figure 2 IPCC mechanism
IPCC operating mechanism
The implementation of IPCC relies on the following key mechanisms:
· Intelligent detection mechanism: IPCC intelligently identifies congestion states of interfaces on the device, improving detection efficiency and accuracy.
· Proactive control mechanism: When congestion occurs on network devices, the proactive control mechanism varies as follows:
¡ For ECN, the ECN-capable receiver sends congestion notification packets (CNPs) to notify the sender to adjust the packet sending rate.
¡ For IPCC, the IPCC-enabled network device proactively sends CNPs to notify the sender to adjust the packet sending rate. In large-scale networks for the packet sender and receiver, IPCC-capable devices provide congestion state feedback, enhancing the response speed for congestion.
· Dynamic adjustment mechanism: IPCC dynamically adapts CNP sending volume based on congestion changes, balancing throughput and latency performance.
These mechanisms enable IPCC to significantly reduce network delay and increase throughput, improving network stability and efficiency.
Restrictions and guidelines: IPCC configuration
IPCC cannot be used together with M-LAG. For more information about M-LAG, see Layer 2—LAN Switching Configuration Guide.
IPCC takes effect only on Layer 3 unicast traffic and does not take effect on packets encapsulated by tunnels such as VXLAN and GRE.
IPCC tasks at a glance
To configure IPCC, perform the following tasks:
Enabling IPCC
Restrictions and guidelines
IPCC takes effect on only RoCEv2 packets.
IPCC performs RoCEv2 traffic analysis based on global bidirectional flows. If IPCC and NetAnalysis are both enabled at the same time, specify the bidirectional mode for NetAnalysis to and the global keyword for the netanalysis rocev2 statistics command.
For IPCC to take effect on an interface, you must also enable IPCC for a queue on the interface. To enable IPCC for a queue, execute the ipcc queue command.
Procedure
1. Enter system view.
system-view
2. Enter interface view.
interface interface-type interface-number
|
|
NOTE: Layer 2 and Layer 3 Ethernet interfaces support IPCC, but logical interfaces such as Layer 3 Ethernet subinterfaces or aggregate interfaces do not support IPCC. |
3. Enable IPCC.
ipcc enable
By default, IPCC is disabled.
Enabling IPCC for a queue
About this task
After you enable IPCC for a queue, the forwarding device monitors the length of the queue and calculates the number of CNPs to be proactively sent. Then, the forwarding device constructs CNPs based on the calculated number and address information in the RoCEv2 flow table and sends the CNPs to the sender. After receiving the CNPs, the sender reduces the RoCEv2 packet sending rate.
Restrictions and guidelines
For IPCC to take effect on a queue, you must also enable IPCC for the interface of the queue. To enable IPCC for an interface, execute the ipcc enable command.
Procedure
1. Enter system view.
system-view
2. Enable IPCC for the specified queue.
ipcc queue queue-id
By default, IPCC is disabled for a queue.
Display and maintenance commands for IPCC
Execute display commands in any view and execute reset commands in user view.
|
Task |
Command |
|
Display statistics of CNPs that are proactively sent by the device. |
display ipcc statistics interface interface-type interface-number |
|
Clear statistics about CNPs that are proactively sent by the device. |
reset ipcc statistics [ interface interface-type interface-number ] |


