Switching paths, 1 - receive the packet, 2 - switch the packet – Cisco 1600 User Manual

Page 11: 1 − receive the packet 2 − switch the packet, 1 − receive the packet, 2 − switch the packet

Advertising
background image

interface.

Switching Paths

This description is based on the book Inside Cisco IOS Software Architecture, Cisco Press

1

.

1

"CCIE Professional Development: Inside Cisco IOS Software Architecture" by Vijay Bollapragada, Curtis

Murphy, Russ White (ISBN 1−57870−181−3).

1 − Receive the packet

Step 1: The interface media controller detects a packet on the network media and copies it into a buffer to
which the first free element in the receive ring points. Media controllers use the Direct Memory Access
(DMA) method to copy packet data into memory.

Step 2: The media controller changes ownership of the packet buffer back to the processor, and issues a
receive interrupt to the processor. The media controller does not have to wait for a response from the CPU,
and continues to receive incoming packets into the receive ring.

It is possible for the media controller to fill the receive ring before the processor processes all the new buffers
in the ring. This condition is called an overrun. When this occurs, all incoming packets are dropped until the
processor recovers.

Step 3: The CPU responds to the receive interrupt, and attempts to remove the newly−filled buffer from the
receive ring, and replenishes the ring from the private pool of the interface. Notice that packets are not
physically moved within the I/O memory. Instead, only the pointers are changed. If the input hold queue of
the interface is full, the packet is dropped; otherwise, three outcomes are possible:

3.1: A free buffer is available in the private pool of the interface to replenish the receive ring. The free
buffer is linked to the receive ring and the packet now belongs to the private buffers pool of the
interface.

3.2: A free buffer is not available in the private pool of the interface, so the receive ring falls back to
the global pool that matches the MTU of the interface, in order to be replenished. The fallback
counter value increases for the private pool.

3.3: If a free buffer is not available in the public pool as well, the incoming packet is dropped, and the
ignore counter value increases. In addition, the interface is throttled and all incoming traffic is ignored
on this interface for a short period.

2 − Switch the Packet

Step 4: After the receive ring is replenished, the CPU begins to switch the packet. Cisco IOS software
attempts to switch the packet with the help of the fastest method configured on the interface. On shared
memory routers, it first tries Cisco Express Forwarding (CEF) switching (if configured), then fast switching
(unless the no ip route−cache command is configured on the interface), and finally, process switching if none
of the others work.

Step 5: While still in the receive interrupt context, the Cisco IOS software attempts to use the CEF table or the
fast switching cache to make a switching decision. Switching can be:

5.1: CEF switchingIf there are valid CEF and adjacency table entries, the Cisco IOS software
rewrites the Media Access Control (MAC) header on the packet and begins to transmit it (see Step 8).

Cisco − Cisco 1600 Series Router Architecture

Advertising