CoPP enhancements are to enhance the capability of FTOS by utilizing more number of CPU queues on CMIC port and sendingcontrol packets to different queues that internally reduce limitation or contention of control protocols sharing the same queues (thatis, before this functionality of CoPP for OSPV3 was introduced, OSPF might have caused the LACP flap because of both controltraffic sent to same Q7 on CPU port). Non CPU port should have only 4 dedicated control queues and remaining shared for bothdata and traffic. Number of control queues is increased on the CPU port. When tunneling packets from non-master to master unit,high-gig queues are used.Prior to the release 9.4.(0.0), all IPv6 packets are taken to same queues there is no priority between the ICMPv6 packets andunknown IPv6 packets. Due to this NS/NA/RS/RA packets not given high priority leads to the session establishment problem. Tosolve this issue, starting from release 9.4.(0.0), IPv6 NDP packets use different CPU queues when compared to the Generic IPv6multicast traffic. These entries are installed in system when application is triggered..CPU Processing of CoPP TrafficThe systems use FP rules to take the packets to control plane by CopyToCPU or redirect packet to CPU port. Only 8 CPU queuesare used while sending the packet to CPU. The CPU Management Interface Controller (CMIC) interface on all the systems supports48 queues in hardware. However, FTOS supports only 8 CMIC queues – 4 for data streams that are CPU bound – SFLOW packets,packet streams that are trapped to CPU for logging info on MAC learn limit exceeded and other violations, L3 packets with unknowndestination for soft forwarding etc. Other 4 CMIC queues will carry the L2/L3 well-known protocol streams. However there areabout 20 well known protocol streams that have to share these 4 CMIC queues. Before 9.4.(0.0)Dell Networking OS used only 8queues most of the queues are shared to multiple protocols. So, increasing the number of CMIC queues will reduce the contentionamong the protocols for the queue bandwidth.Currently, there are 4 Queues for data and 4 for control in both front-end and back-plane ports. In stacked systems, the controlstreams that reach standby or slave units will be tunneled through the backplane ports across stack-units to reach the CPU of themaster unit. In this case, the packets that reach slave unit’s CMIC via queues 0 – 7 will take same queues 0 – 7 on the back-planeports while traversing across units and finally on the master CMIC, they are queued on the same queues 0 – 7. In this case, thequeue (4 – 7) taken by the well-known protocol streams are uniform across different queuing points, and the queue (0 – 3) taken bythe CPU bound data streams are uniform. In back-plane ports, queue 0 – 3 will carry both the front-end bound data streams as wellas the CPU bound data streams which is acceptable but the well-known protocol streams must not be mixed with the data streamson queues 0 – 3 in back-plane ports.Increased CPU Queues for CoPPFTOS classifies every packet ingress from the front end port to system as control traffic or data traffic by having the pre-definedrules based on protocol type or packets types like ttl, slow path etc. FP is used to classify the traffic to transmit the control traffic toCMIC port. Other major function performed by the FP rule is to decide to which CPU queue the packet must be sent. All otherpackets will be forwarded or dropped at the ingress.All packet transmitted to CPU will transmit to local CPU by using the CPU queues and processed. But in stacked system only materCPU is responsible for the control plane actions. So control packets received in master or slave units will be tunneled to master CPUto process.As part of enhancements, CPU queues are increased from 8 to 12 on CPU port. However, the front-end port and the backplaneports support only 8 queues. As a result, when packets are transmitted to the local CPU, the CPU uses Q0-Q11 queues. The controlpackets that are tunneled to the master unit are isolated from the data queues and the control queues in the backplane links. Controltraffic must be sent over the control queues Q4-Q7 on higig links. After reaching the master unit tunneled packets must betransmitted to the CPU using the Q0-Q11 queues.The backplane ports can have a maximum of 4 control queues. So, when we have more than ‘n’ CMIC queues for well-knownprotocols and n > 4, then streams on ‘n’ CMIC queues must be multiplexed on 4 control queues on back-plane ports and on theMaster unit, these streams must be de-multiplexed to ‘n’ CMIC queues on the Master CPU.After control packets reach the CPU through the CMIC port, the software schedules to process traffic on each 12 CPU queues. Thisaspect must be ensured even in case of stand-alone systems and there is no dependency with stacking.236 Control Plane Policing (CoPP)