5.2.b CoPP
Aligned to Cisco's 350-401 ENCOR v1.2 exam topics.
On this page
What this objective tests
The exam wants you to configure and verify Control Plane Policing (CoPP). You must classify traffic that goes to the device CPU, apply police rates per class, and read the per-class counters. This matters because hardware forwards transit traffic, but the CPU processes control and management traffic. A flood of CPU-bound traffic can kill routing and management while forwarding still works.
What reaches the CPU
- Routing protocol packets: OSPF, EIGRP, BGP.
- Spanning tree and other Layer 2 control protocols.
- ARP and ICMP destined to the device.
- Management traffic: SSH, SNMP, NETCONF, RESTCONF.
- Exception traffic: TTL expired, fragmentation needed.
Transit packet -> forwarded in hardware
Packet to device -> punted to CPU -> CoPP polices it
Exception packet -> punted to CPU -> CoPP polices itNote: CoPP is the last line of defense for the device. It does not replace interface ACLs or firewall policy.
The four building blocks
- ACLs name the traffic.
- Class maps group the ACLs into classes.
- A policy map sets a police rate per class.
- The control plane applies the policy in the input direction.
A permit in a CoPP classification ACL means match this class. It does not mean forward. The policy action decides what happens to matched traffic.
Example: three-class policy on R1
Scenario: R1 runs OSPF. The management subnet is 10.10.10.0/24. Build three classes: routing protocols, management SSH, and diagnostic ICMP. Give routing the highest rate. Give ICMP a small rate.
ip access-list extended COPP-ROUTING
remark OSPF and BGP to the control plane
permit ospf any any
permit tcp any any eq bgp
permit tcp any eq bgp any
ip access-list extended COPP-MGMT
remark SSH from the management subnet only
permit tcp 10.10.10.0 0.0.0.255 any eq 22
ip access-list extended COPP-ICMP
remark Ping and traceroute support
permit icmp any any echo
permit icmp any any echo-reply
permit icmp any any time-exceeded
permit icmp any any unreachable
class-map match-any COPP-ROUTING
match access-group name COPP-ROUTING
class-map match-any COPP-MGMT
match access-group name COPP-MGMT
class-map match-any COPP-ICMP
match access-group name COPP-ICMP
policy-map COPP-POLICY
class COPP-ROUTING
police 128000 conform-action transmit exceed-action drop
class COPP-MGMT
police 64000 conform-action transmit exceed-action drop
class COPP-ICMP
police 32000 conform-action transmit exceed-action drop
class class-default
police 16000 conform-action transmit exceed-action drop
control-plane
service-policy input COPP-POLICYRead the rates as bits per second. Traffic at or under the rate is transmitted. Traffic over the rate is dropped. Anything that matches no class falls into class-default.
Warning: A police rate that is too low can break routing, management, and monitoring at the same time. Do not paste a policy into a production device. Observe the default policy and counters first. Tune one class at a time.
Expected verification output:
R1# show policy-map control-plane
Control Plane
Service-policy input: COPP-POLICY
Class-map: COPP-ROUTING (match-any)
1521 packets, 121680 bytes
5 minute offered rate 0000 bps, drop rate 0000 bps
Match: access-group name COPP-ROUTING
police:
rate 128000 bps, burst 4000 bytes
conformed 1521 packets, 121680 bytes; actions:
transmit
exceeded 0 packets, 0 bytes; actions:
drop
conformed 0000 bps, exceeded 0000 bps
Class-map: COPP-MGMT (match-any)
86 packets, 6192 bytes
5 minute offered rate 0000 bps, drop rate 0000 bps
Match: access-group name COPP-MGMT
police:
rate 64000 bps, burst 2000 bytes
conformed 86 packets, 6192 bytes; actions:
transmit
exceeded 0 packets, 0 bytes; actions:
drop
Class-map: COPP-ICMP (match-any)
44 packets, 4400 bytes
Match: access-group name COPP-ICMP
Class-map: class-default (match-any)
12 packets, 960 bytes
Match: anyRead the counters before you change a rate. A failing protocol with drops in class-default has a classification problem. A failing protocol with exceeded drops in its own class has a rate problem. The fixes are different.
Lab: protect the CPU on R1
Topology:
[Admin PC 10.10.10.50] ---- [R1 10.10.10.2] ---- [R2, OSPF neighbor]Do these steps:
- Configure OSPF between R1 and R2. Confirm the adjacency is full.
- Create the four ACLs and three class maps from the example.
- Create policy map
COPP-POLICYwith the rates from the example. - Run
show policy-map control-plane. Record the starting counters. - Apply the policy with
control-planeandservice-policy input COPP-POLICY. - Connect with SSH from 10.10.10.50.
- Ping R1 from the admin PC.
- Run
show policy-map control-planeagain. - Confirm OSPF packets increase in
COPP-ROUTING, SSH inCOPP-MGMT, and ping inCOPP-ICMP. - Confirm the OSPF adjacency stayed full and SSH stayed responsive.
Expected results:
- Each test increases only its own class counter.
- The OSPF adjacency does not flap.
- Unexpected traffic falls into
class-defaultat the lowest rate.
Exam traps
- CoPP protects the control plane. Transit traffic does not hit it.
- A class-map ACL is for classification. It is not an interface security ACL.
class-defaultcatches everything else. Watch it for unexpected drops.- Most platforms ship a default control-plane policy. Check it before you replace it.
- CoPP ACLs match traffic destined to the device. A transit-style ACL misses that traffic.
Pass check
You are ready for this objective when you can do these things:
- Name five kinds of traffic that are punted to the CPU.
- Write the four CoPP building blocks in order: ACL, class map, policy map, control plane.
- Explain what
police 64000 conform-action transmit exceed-action dropdoes. - Read
show policy-map control-planeand find conformed and exceeded counters. - Explain why a low rate on a routing class can break the network.