- Finding Feature Information
- Information About the Multicast Forwarding Information Base
- Where to Go Next
- Additional References
- Feature Information for the Multicast Forwarding Information Base
Multicast Forwarding Information Base Overview
The Multicast Forwarding Information Base (MFIB) architecture provides modularity and separation between the multicast control plane (Protocol Independent Multicast [PIM] and Internet Group Management Protocol [IGMP]) and the multicast forwarding plane (MFIB). This architecture is used in Cisco IOS IPv6 multicast implementations. With the introduction of the IPv4 MFIB infrastructure, the Cisco IOS IPv4 multicast implementation has been enhanced, making the MFIB forwarding model the only forwarding engine used.
- Finding Feature Information
- Information About the Multicast Forwarding Information Base
- Where to Go Next
- Additional References
- Feature Information for the Multicast Forwarding Information Base
Finding Feature Information
Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table at the end of this module.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Information About the Multicast Forwarding Information Base
- Benefits of the MFIB Architecture
- Types of Multicast Tables
- Types of Multicast Entries
- MFIB Components
- Multicast Packet Forwarding Using the MFIB
- MFIB and MRIB Entry and Interface Flags
- Introduction of New Multicast Forwarding Entries
- Introduction of PIM Tunnel Interfaces
- MFIB Statistics Support
Benefits of the MFIB Architecture
Simplifies multicast operation through the separation of the control and forwarding planes.
Protects mission critical multicast applications by enabling new services such as multicast high availability (HA).
Eliminates the need for the route cache maintenance associated with demand caching schemes such as multicast fast switching.
Types of Multicast Tables
The following tables are used for general multicast routing and forwarding:
IGMP--Contains local IGMP memberships on the router.
Multicast Route (Mroute)--Contains (*, G) and (S, G) multicast states on the router (including PIM mode, incoming interfaces, and outgoing interfaces).
Multicast Source Discovery Protocol (MSDP)--Contains all Source-Active (SA) messages.
Multicast Routing Information Base (MRIB)--Contains (*, G), (S, G), and (*, G/m) MRIB entries.
MFIB--Contains (*, G), (S, G), and (*, G/m) MFIB entries.
Multicast tables can be further defined by the following contexts:
Global--Non-VRF context.
VRF--Layer-3 VPN context.
IPv4--IPv4 address family context.
IPv6--IPv6 address family context.
Types of Multicast Entries
(*, G)--Shared tree entries used by PIM sparse mode (PIM-SM) and bidirectional PIM (bidir-PIM).
(S, G)--Source tree entries used by PIM-SM and Source Specific Multicast (PIM-SSM).
(*, G/mask)--Shared tree entries used by the bidir-PIM and the MFIB.
Note | For more information about (*, G/mask) entries, see the Introduction of New Multicast Forwarding Entries section. |
MFIB Components
The following sections describe the components that make up the MFIB architecture:
The figure illustrates the components that make up the MFIB architecture.
Note | When you enter the show ip mrib client command on a multicast router in an IP multicast network, PIM, the mroute table, and IGMP will appear as one client to the MRIB. For more information, see the Cisco IOS IP Multicast Command Reference. |
The figure illustrates the IPv4 MFIB distributed architecture.
MFIB
The MFIB is a multicast routing protocol independent forwarding engine; that is, it does not depend on PIM or any other multicast routing protocol. It is responsible for:
Forwarding multicast packets
Registering with the MRIB to learn the entry and interface flags set by the control plane
Handling data-driven events that must be sent to the control plane
Maintaining counts, rates, and bytes of received, dropped, and forwarded multicast packets
Distributed MFIB
Distributed MFIB (dMFIB) is used to switch multicast packets on distributed platforms. dMFIB may also contain platform-specific information on replication across line cards. The basic MFIB routines that implement the core of the forwarding logic are common to all forwarding environments.
dMFIB implements the following functions:
Distributes a copy of the MFIB to the line cards.
Relays data-driven protocol events generated in the line cards to PIM.
Provides an MFIB platform application program interface (API) to propagate MFIB changes to platform-specific code responsible for programming the hardware acceleration engine. This API also includes entry points to switch a packet in software (necessary if the packet is triggering a data-driven event) and to upload traffic statistics to the software.
Provides hooks to allow clients residing on the Route Processor (RP) to read traffic statistics on demand. (dMFIB does not periodically upload these statistics to the RP.)
The combination of dMFIB and MRIB subsystem (MRIB proxy) also allows the router to have a “customized” copy of the MFIB database in each line card and to transport MFIB-related platform-specific information from the RP to the line cards.
MRIB
The MRIB is the communication channel between MRIB clients. Examples of MRIB clients are PIM, IGMP, the multicast routing (mroute) table, and the MFIB.
MRIB communication is based on the setting and clearing of entry and interface flags. MRIB entries are keyed on source, group, and group mask; and appear as (*, G), (S, G), and (*, G/m) multicast entries in the output of the show ip mrib route commands. In addition, every MRIB entry will have a list of interfaces associated with it and each interface will have flags set that describe its forwarding state.
The MRIB does not interpret any entry or interface flags. The flags are significant only to MRIB clients.
Note | The MRIB uses different tables for different contexts. MRIB tables are separated by address family to distinguish between IPv4 and IPv6 multicast entries. Each table can further be divided within a VRF or global context. |
Multicast Control Plane
The multicast control plane is responsible for building and maintaining multicast distribution trees. It consists of PIM, IGMP, and the mroute table, which are MRIB clients in the MFIB architecture. Any changes, additions, and deletions to the mroute table (learned from either PIM or IGMP) are communicated across the MRIB and then distributed to the MFIB for multicast forwarding. Any events related to packet reception that require updates to the control plane are handled between the MRIB and MFIB. Such events include liveness checking, shortest path tree (SPT) switchover, and PIM asserts.
Multicast Packet Forwarding Using the MFIB
The core forwarding engine used by the MFIB is shared by both interrupt-level (fast switching) and process-level forwarding (process switching) as shown in the figure. Multicast packets received with a forwarding entry in the MFIB will be fast-switched by the MFIB, and multicast packets received without a forwarding entry that require the creation of a new forwarding entry will be process-switched by the MFIB.
MFIB and MRIB Entry and Interface Flags
The table lists the significant MFIB and MRIB entry and interface flags used by IPv4 multicast.
Introduction of New Multicast Forwarding Entries
The MFIB architecture introduces (*, G/mask) entries to describe a group range present in a router’s local group-to-RP mapping cache (static, Auto-RP, Bootstrap Router [BSR]).
(*, G/mask) entries are used by the MFIB to:
Create (S, G) entries if they are not already present in the MFIB table (for PIM-SM)
Create (*, G) entries along source-only branches (for bidir-PIM)
Forward multicast traffic along shared-tree branches (for bidir-PIM)
Note | (*, G/mask) entries are present until the group-to-RP mapping cache either times out or is cleared. |
Introduction of PIM Tunnel Interfaces
The MFIB architecture introduces PIM tunnel interfaces. PIM tunnel interfaces are used by the MFIB for the PIM-SM registration process. Two types of PIM tunnel interfaces are used by the MFIB:
A PIM encapsulation tunnel (PIM Encap Tunnel)
A PIM decapsulation tunnel (PIM Decap Tunnel)
The PIM Encap Tunnel interface is dynamically created whenever a group-to-RP mapping is learned (via Auto-RP, BSR, or static RP configuration). The PIM Encap Tunnel interface is used to encapsulate multicast packets sent by first-hop designated routers (DRs) that have directly connected sources.
Similar to the PIM Encap Tunnel, the PIM Decap Tunnel interface is dynamically created--with the exception that it is created on the RP only whenever a group-to-rp mapping is learned. The PIM Decap Tunnel interface is used by the RP to decapsulate PIM registers.
Note | PIM tunnels will not appear in the running configuration. To display information about PIM Tunnel interfaces, use the show ip pim tunnel command. |
The following syslog message will appear when a PIM tunnel interface is created:
* %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel<interface_number>, changed state to up
MFIB Statistics Support
In the MFIB forwarding model, the MFIB maintains multicast state packet and byte counts and packet rates. The MFIB calculates these statistics as it forwards traffic. There is no periodic polling of these statistics by the control plane, nor does the MFIB periodically upload these statistics to the control plane. The MFIB has an API to these statistics allowing the control plane to query multicast counters when requested from the command-line interface (CLI) for the show ip mroute countcommand and for MIB statistics objects.
Where to Go Next
Proceed to the “ Verifying IPv4 Multicast Forwarding Using the MFIB ” module.
Additional References
Related Documents
Related Topic |
Document Title |
---|---|
Multicast verification tasks and examples using the MFIB |
“ Verifying IPv4 Multicast Forwarding Using the MFIB ” module |
IP multicast commands: complete command syntax, command mode, command history, defaults, usage guidelines, and examples |
Cisco IOS IP Multicast Command Reference |
Standards
Standard |
Title |
---|---|
No new or modified standards are supported, and support for existing standards has not been modified. |
-- |
MIBs
MIB |
MIBs Link |
---|---|
No new or modified MIBs are supported, and support for existing MIBs has not been modified. |
To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at the following URL: |
RFCs
RFC |
Title |
---|---|
No new or modified RFCs are supported, and support for existing RFCs has not been modified. |
-- |
Technical Assistance
Description |
Link |
---|---|
The Cisco Support website provides extensive online resources, including documentation and tools for troubleshooting and resolving technical issues with Cisco products and technologies. To receive security and technical information about your products, you can subscribe to various services, such as the Product Alert Tool (accessed from Field Notices), the Cisco Technical Services Newsletter, and Really Simple Syndication (RSS) Feeds. Access to most tools on the Cisco Support website requires a Cisco.com user ID and password. |
Feature Information for the Multicast Forwarding Information Base
The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Feature Name |
Releases |
Feature Information |
---|---|---|
IPv4 Multicast Support of the MFIB |
15.0(1)M |
The MFIB architecture provides modularity and separation between the multicast control plane (PIM and IGMP) and the multicast forwarding plane (MFIB). This architecture is used in Cisco IOS IPv6 and Cisco IOS XR multicast implementations. With the introduction of the IPv4 MFIB infrastructure, the Cisco IOS IPv4 multicast implementation has been enhanced, making the MFIB forwarding model the only forwarding engine used. The following commands were introduced or modified: clear ip mfib counters, debug ip mcache, debug ip mfib adjacency, debug ip mfib db, debug ip mfib fs, debug ip mfib init, debug ip mfib interface, debug ip mfib mrib, debug ip mfib pak, debug ip mfib platform, debug ip mfib ppr, debug ip mfib ps, debug ip mfib signal, debug ip mfib table, debug ip mpacket, debug ip mrib, ip mfib, ip mfib cef, ip mfib forwarding, ip mroute-cache, ip multicast cache-headers, ip multicast rate-limit, ip multicast ttl-threshold, ip pim register-rate-limit, show ip mcache, show ip mfib, show ip mfib active, show ip mfib count, show ip mfib interface, show ip mfib route, show ip mfib status, show ip mfib summary, show ip pim interface, show ip pim tunnel. |