Hi,
In this post, we are going to introduce you something about the CPCAR, hope it could help you better understand CPCAR.
As is known, CPCAR is short for control plane committed access rate. It's application of CAR on the control plane, which helps to control the packets those sent to CPU to a specific rate.
Why we configure CPCAR?
As we all know, protocol packets and some special packets, such as ICMP packets, need to be sent to the CPU for processing. Some attackers use this mechanism to forge massive packets, exhausting the CPU resources of the device, causing the device to fail to process normal packets, which will cause some additional issues. To this end, CPCAR will limit these packets to a reasonable value through a similar QoS mechanism, thereby reducing the impact on the device CPU and ensuring the normality of the services carried by the device.
Which part of traffic will be affected by the CPCAR?
As we talked, commonly, CPCAR restricts the packets those will be handled by the CPU. However, CPCAR does not affect normal forwarded packets. For example, the traffic related to the forwarding entry in the FIB table will not be affected, because this part of the traffic will not be searched and forwarded by the CPU. Instead, the next hop interface is directly found in the FIB table to complete the forwarding. If some devices do not have a FIB, all data will be forwarded through the CPU's lookup table. In this case, CPCAR will affect these flows. Anyway, it’s just an assumption, and there is no such device now.
Is there a imgae that could describe this processing more visulization?
Yes, we could refer the image below to understand this processing.

As this image shows, packets 1 and 4 are forwarded to the CPU, and they will be limited by the CPCAR, while packets 2, 3, 5 and 6 will be forwarded through look up the FIB enteries. And packet 4 is discarded due to the rate exceeding.
What should be payed attention to during configuring the CPCAR?
Huawei router supports applying different rate limits to packets of different types or discards packets of a specified type to protect the CPU, so we can configure the CPCAR to restrict the specific type of packets, so that it woule affect the other packets.
The restricted rate by the CPCAR should be decided by the live network. Improper CPCAR might cause the CPU usage raise to high or the protocol packets are discarded unexpected.
That's all for this post. If you have any problems, please comment below. We'll help to resolve that.
Thanks.





