cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
135232
Views
91
Helpful
21
Comments
SunilKhanna
Level 1
Level 1

 

Introduction

Understanding MSFC, PFC and DFC roles in Catalyst 6500 Series Switch

Multilayer Switch Feature Card (MSFC)

 Multilayer Switch Feature Card is the Layer 3 switching engine that sites on the Catalyst Supervisor as a daughter card. The MSFC is an integral part of the Supervisor Engine, providing high performance, multilayer switching and routing intelligence. On the MSFC daughter card, the route processor (RP) is located on the MSFC itself. Equipped with a high performance processor, the MSFC runs layer 2 protocols on one CPU and layer 3 protocols on the second CPU. These include routing protocol support, layer 2 protocols (Spanning Tree Protocol and VLAN Trunking Protocol for example), and security services.

 The control plane functions in the Cisco Catalyst 6500 are processed by the MSFC and include handling Layer 3 routing protocols, maintaining the routing table, some access control, flow initiation, and other services not found in hardware. Performance of the control plane is dependent on the type and number of processes running on the MSFC. The MSFC3 can support forwarding rates up to 500Kpps. The MSFC provide a means to perform Multilayer Switching (MLS) and interVLAN routing.

The MSFC builds the Cisco Express Forwarding information Base (FIB) table in software and then downloads this table to the hardware Application-specific-integrated circuits (ASICs) on the PFC and DFC (if present) that make the forwarding decisions for IP unicast and multicast traffic.

 

MSFC on Sup720.bmp

 

Role of MSFC 

  1. Provide IOS based multi-protocol routing using a variety of routing protocols.
  2. Work with the PFC for implementing layer 3 switching & traditional router based input/output ACL's. Note, PFC can implement ACL's without requiring a MSFC.
  3. Provide other SW based features (like NAT, Policy Routing, Encryption etc) which are not supported in PFC hardware.

Table1. MSFC/Supervisor Compatibility Chart

 

MSFC ModelSupervisor Model

MSFC1

Supervisor 1 or Supervisor 1A

MSFC2

Supervisor 1A or Supervisor 2

MSFC3

Supervisor 720 Models

MSFC4

Supervisor 720-10GE Models

 

Policy Feature Card (PFC)

 The PFC3 is the ASIC-based forwarding engine daughtercard for the Sup720; the DFC3 is the ASIC-based forwarding engine daughtercard for various fabric-enabled linecards (CEF256, CEF720). Contains the ASICs that are used to accelerate Layer 2 and Layer 3 switching, store and process QoS and security ACLs, and maintain NetFlow statistics.

The PFC3/DFC3 generation is built upon a forwarding architecture known as EARL7. Within this generation, there are three different versions - 'A', 'B', and 'BXL' - that are all based on the same fundamental technologies but that each have incremental functionality. 'A' is the standard offering; 'B' is the intermediate option, and 'BXL' is the high-end option.

The PFC contains a Layer 2 and a Layer 3 forwarding engine.

 

PFC3_Card.bmp

Role of PFC Layer 2 engine

  1. Layer 2 MAC address lookups into the Layer 2 CAM table.
  2. Looking into the packet headers to determine if this switching operation will be a Layer 2 or a Layer 3 operation. If it is going to be a Layer 3 operation, then it will hand off the packet to the Layer 3 engine for further processing.

Role of PFC Layer 3 Engine

  1. NetFlow Statistics collection.
  2. Hardware based forwarding of IPv4, IPv6 and MPLS tagged packets.
  3. QoS mechanism for ACL classification, marking of packets, and policing (rate limiting).
  4. Security mechanism for validating ACL rules against incoming packets.
  5. Maintaining Adjacency entries and statistics.
  6. Maintaining Security ACL counters.

The PFC3 supports hardware based Layer 2 and Layer 3 switching, processing security and QoS ACLs in hardware and the collection of NetFlow statistics.

There are five versions of the Policy Feature Card in use today. The PFC3A , PFC3B, and PFC3BXL are integrated into the Supervisor 720-3A, Supervisor 720-3B and Supervisor 720-3BXL respectively. The PFC3B is the only option for the Supervisor 32, while the PFC3C and PFC3CXL are integrated into the Supervisor 720-10G-3C and Supervisor 720-10G-3CXL.

Table2. PFC/Supervisor Compatibility Chart

PFC ModelSupervisor Model

PFC1Supervisor 1 or Supervisor 1A

PFC2

Supervisor 2

PFC3A

Supervisor 720

PFC3B

Supervisor 720-3B

PFC3BXL

Supervisor 720-3BXL

PFC3C

Supervisor 720-10GE-3C

PFC3CXL

Supervisor 720-10GE-3CXL

 

Distributed Forwarding Card (DFC)

The Catalyst 6500 architecture supports the use of Distributed Forwarding Cards (DFC). Distributed Forwarding Card is a combo daughter card comprising a MSFC and PFC used by a fabric enabled Cat6500 linecard to perform distributed switching. DFCs are located in linecards, not in Supervisors.

A DFC is used to hold a local copy of the forwarding tables (constructed by the MSFC) along with Security and QoS policies to facilitate local switching on the linecard. The DFC3A is available as an option on CEF256 and CEF720 based linecards. The DFC3B and DFC3BXL were introduced for linecards to operate with the Supervisor 720 equipped with PFC3B and PFC3BXL. The last generation of DFC, the DFC3C, is available as an option on the CEF720 based linecards but are integrated on the latest generation linecards, the WS-X6708 and WS-X6716.

It is important to note that there are some operational considerations that can impact the ability of the Catalyst 6500 system to provide specific QoS features. This can happen when you mix different generations of PFC's and DFC's together. The rule is that the system will operate at the lowest common feature denominator

Table 3.  DFC/PFC Operation 

 PFC3APFC3BPFC3BXLPFC3CPFC3CXL

DFC3ANormal OperationPFC3B operates as a PFC3APFC3BXL operates as a PFC3APFC3C operates as a PFC3APFC3CXL operates as a PFC3A
DFC3BDFC3B operates as a DFC3ANormal OperationPFC3BXL operates as a PFC3BPFC3C operates as a PFC3APFC3CXL operates as a PFC3B
DFC3BXLDFC3BXL operates as a DFC3ADFC3BXL operates as a DFC3BNormal OperationPFC3C operates as a PFC3BXLPFC3CXL operates as a PFC3BXL
DFC3CDFC3C operates as a DFC3ADFC3C operates as a DFC3BDFC3C operates as a DFC3B and PFC3BXL operates as a PFC3B

Normal Operation

PFC3CXL operates as a PFC3C

DFC3CXL

DFC3CXL operates as a DFC3ADFC3CXL operates as a DFC3BDFC3CXL operates as a DFC3BXLDFC3CXL operates as a DFC3CNormal Operation

 

The primary MSFC3 will calculate, then push down a FIB table (Forwarding Information Base) giving the DFC3x its layer 3 forwarding tables. The MSFC3 will also push down a copy of the QoS policies so that they are also local to the line card. Subsequent to this, local switching decisions can reference the local copy of any QoS policies providing hardware QoS processing speeds and yielding higher levels of performance though distributed switching.

 

DFC_Card.bmp

 

Benefits of DFC

Performance is the biggest and most obvious reason to implement DFCs. You move from a 30 Mpps centralized forwarding system anywhere up to a 400 Mpps distributed forwarding system. This forwarding performance is for all L2 bridging, L3 routing, ACLs, QoS, and Netflow features, i.e., not just L3.

The performance benefit of a DFC is most applicable when you use the 67xx series modules. This is because these modules have enough ports and bandwidth to generate much more than the 30Mpps centralized forwarding engine has available. A 67xx-series module without a DFC is subject to the same centralized performance characteristics of all other centralized forwarding modules.

DFC also minimize the impact that a classic module has in a system. Classic modules do affect the centralized forwarding performance of a system, limiting the maximum centralized forwarding rate to 15Mpps. Modules enabled with DFCs have their own forwarding engine and are not subject to this performance degradation. If a classic module used, the inclusion of a DFC mitigates any performance issues/concerns. Any non-DFC modules are still subject to the available 15 Mpps of forwarding available when a classic-module is present.

Packet Forwarding

Packet Forwarding is done on the ingress forwarding engine. Therefore, packets coming into the ports on the Sup720-3B will have forwarding done on the PFC3B of the Supervisor. Packets coming into ports of line cards with DFC3s will have the forwarding done on the DFC3. Packets coming into ports of line cards with CFCs will have the forwarding done on the PFC3B of the Supervisor. The MSFC3 only does forwarding in the cases where the PFC3 or DFC3 cannot make the forwarding decision. Some of these cases include when traffic has IP Options set, when ACLs are applied to an interface but the ACL is not programmed into the ACL TCAM for some reason, when packets have TTL expiration, when packets hit an ACE with the "log" keyword, and others.

Centralized Forwarding Card (CFC)

CFC is a centralized forwarding card for the switching modules which makes IPv4 Routing over the PFC. CFC does not do local forwarding, the forwarding is done by the PFC in the Supervisor. As the forwarding is centralized, the PFC performance, FIB entries, ACL lables are shared among the line cards that uses the Supervisor PFC for forwrding. WS-F6700-CFC is the CFC card used on WS-X67xx Ethernet Modules. This daughter card is supported only by the Supervisor Engine 720.

Note: CFC or the Centralized Forwarding Card was introduced along with the CEF720 modules. It provides centralized connectivity to the supervisor for look-ups and results. Though the switch fabric is used for the data, but the CFC is responsible to send a look-up request from the Supervisor and then get those results back.

 

CFC Card.jpg

Table 4. CFC And Supported Modules

CFCModule

WS-F6700-CFC

WS-X6704-10GE

WS-X6724-SFP

WS-X6748-SFP

WS-X6748-GE-TX

 

References

Comments
neelesh.gaekwad
Level 1
Level 1

thanks for your efforts to make this document, a converged and brief document to understand MSFC, DFS, PFC & CFC

ysaadi2009
Level 1
Level 1

Excellent document thank you

ivan.roque1
Community Member

Hi Sunil!

Great doc! Thank you :)

Sunil Khanna
Cisco Employee
Cisco Employee

Thanks Ivan.

Apoorv Dabral
Cisco Employee
Cisco Employee

Great Article !! Kudos

rmarosko
Level 1
Level 1

Minor point of note for which clarification would be nice...

In an older (2007) Cisco product bulletin (https://www.cisco.com/c/en/us/products/collateral/switches/catalyst-6500-virtual-switching-system-1440/prod_bulletin0900aecd806ee29a.html) is a table which states the following:

Table 2. Supported Combinations

 

 
 

WS-F6700-DFC3B

WS-F6700-DFC3BXL

WS-F6700-DFC3C

WS-F6700-DFC3CXL

WS-SUP720-3B

PFC3B functionality

PFC3B functionality

PFC3B functionality

PFC3B functionality

WS-SUP720-3BXL

PFC3B functionality

PFC3BXL functionality

PFC3B functionality

PFC3BXL functionality

VS-S720-10G-3C

PFC3B functionality

PFC3B functionality

PFC3C functionality

PFC3C functionality

VS-S720-10G-3CXL

PFC3B functionality

PFC3BXL functionality

PFC3C functionality

PFC3CXL functionality

 

 

However, in comparison Table 3 above, I find one discrepancy in the case of a PFC3C in a chassis with DFC3BXL modules. The original product bulletin indicates the PFC3C will operate in PFC3B mode in the presence of DFC3BXL modules. Table 3 at the top of this page indicates the PFC3C will operate in PFC3BXL mode in the presence of DFC3BXL modules.

It might be nice to clarify which table is correct, and make whatever corrections necessary to the incorrect table.

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community:

Review Cisco Networking for a $25 gift card