Multicast Traffic Convergence via Hardware Cache Miss Handling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
During network topology changes, existing multicast traffic convergence is hindered by cache misses in IGMP snooping tables, leading to increased CPU resource consumption and prolonged convergence times, especially in networks with multiple VLANs and thousands of data packets.
Innovation Solution
Implementing a special forwarding mode where cache misses are initially flooded via hardware and processed by an out-of-line unit to establish hardware cache entries, reducing the burden on the CPU and facilitating faster convergence by selective forwarding only to actual receivers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the IGMP snooping table is cleared during topology change to relearn membership, then network topology is updated, but cache misses increase causing packets to be forwarded to CPU in software which is significantly slower
Solution Approach 1:
The patent segments the packet forwarding process into two paths: a fast hardware path for cache hits and a slow software path for cache misses. By identifying and separating cache miss handling, the system can optimize each path independently, allowing hardware to handle the majority of packets at high speed while software processes only the necessary cache miss cases.
Solution Approach 2:
The patent introduces a hardware cache (IGMP snooping table) as an intermediary between the packet input and the CPU. This cache stores recently seen multicast group addresses and enables the packet processor to quickly determine whether packets should be forwarded to the CPU or handled directly by hardware, avoiding the need for every packet to be processed by the slow software path.
2Quantity of substance
If thousands of data packets are present during topology change, then network traffic volume increases, but CPU resources are consumed by slow-path forwarding preventing re-programming of hardware cache
Solution Approach 1:
The patent performs preliminary action by pre-programming the hardware cache with multicast group addresses before packets arrive. The system proactively learns IGMP membership reports and updates the hardware cache in advance, so when data packets arrive during topology changes, the hardware is already prepared to handle them without requiring CPU intervention for each packet.
Solution Approach 2:
The patent replaces the mechanical software-based packet forwarding system with a hardware-based system for handling multicast packets. By implementing IGMP snooping in hardware and using a hardware cache for quick lookups, the system substitutes slow software processing with fast hardware operations, dramatically improving packet forwarding speed and reducing CPU burden during topology changes.
3Reliability
If IGMP queries are sent on each VLAN to relearn membership, then complete network state is updated, but CPU is burdened with slow-path forwarding from thousands of IGMP reports
Solution Approach 1:
The patent extracts the IGMP report processing function from the main packet forwarding path and handles it separately in hardware. By dedicating hardware resources to capture and process IGMP reports independently, the system can learn multicast group membership without burdening the CPU with slow-path forwarding for each report, thus maintaining accurate membership tables while reducing CPU load.
Data Source
AI summary
A multicast data packet sent from a source node is received by a transit node. The multicast data packet includes a source address and a multicast group address. A hardware cache miss is detected at the transit node for the multicast data packet. The multicast data packet is hardware-flooded onto ports of the network. The flooding consists of forwarding a copy of the multicast data packet to neighbor nodes of the transit node based on virtual local area network (VLAN) membership. A cache-miss copy of the multicast data packet is sent to an out-of-line processing unit where it is processed in software. The processing includes establishing, via a hardware abstraction layer, a hardware cache entry for the multicast data packet. The cache-miss copy is not forwarded onto the network.


