OpenFlow Egress Table Entry Multicast Buffering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current hardware switch architectures face challenges in efficiently processing multicast packets due to the requirement of writing multiple copies of a packet to different output ports, which results in increased bandwidth and processing demands, making it costly and resource-intensive to implement.
Innovation Solution
The implementation of OpenFlow ALL groups, where a single copy of a packet is stored in a common data buffer and then modified by each bucket in the egress processor, allowing for efficient output to multiple ports with reduced resource allocation by using existing match-action structures, thereby simplifying the design and optimizing bandwidth usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple copies of a packet are written to different output ports for multicast processing, then multicast functionality is achieved, but bandwidth consumption and processing demands increase
Solution Approach 1:
The patent applies the copying principle by creating multiple copies of packet data in a common data buffer, where each copy is then modified by different egress buckets to send to various output ports. This allows efficient multicast processing by sharing the base packet data while enabling customized modifications for each destination, thereby reducing overall bandwidth consumption compared to transmitting entirely separate packet copies.
Solution Approach 2:
The common data buffer serves multiple functions by storing packet data that can be simultaneously accessed and modified by multiple egress buckets. This universal structure enables a single buffer to support multicast to multiple destinations, reducing the need for separate dedicated structures for each output port and thereby optimizing resource utilization and bandwidth efficiency.
2Adaptability or versatility
If multiple copies of a packet are written to different output ports for multicast processing, then multicast functionality is achieved, but processing demands and resource allocation increase
Solution Approach 1:
The patent merges multiple packet storage functions into a single common data buffer structure that is shared by all egress buckets. Instead of maintaining separate packet copies in different locations, the system combines storage and processing around a centralized buffer, reducing device complexity and processing overhead while still enabling multicast to multiple destinations through coordinated access and modification.
Solution Approach 2:
The system creates controlled copies of packet data within the common buffer for each egress bucket's processing needs, rather than creating independent copies throughout the system. This selective copying approach maintains multicast functionality while minimizing redundant data replication and reducing overall processing demands on the switch architecture.
3Productivity
If dedicated structures are implemented for handling multicast packets, then multicast performance is improved, but device complexity and cost increase
Solution Approach 1:
The common data buffer and egress bucket structure serve universal purposes by handling both unicast and multicast traffic through the same infrastructure. The egress buckets can process packets for single or multiple destinations using the same data buffer, eliminating the need for separate dedicated multicast structures and maintaining high performance while reducing device complexity and cost.
Solution Approach 2:
The system dynamically allocates and modifies packet data in the common buffer based on the specific multicast requirements of each egress bucket. Rather than having fixed dedicated structures for multicast, the buffer and processing pipeline adapt their behavior to handle different multicast scenarios efficiently, maintaining high performance with flexible, low-complexity architecture.
Data Source
AI summary
An embodiment of the invention includes an Openflow switch. The Openflow switch includes Openflow ALL groups. The Openflow ALL groups include ALL group buckets. During ingress ALL group buckets are represented in ingress as a list of output ports with associated queue ID's and associated copy-counts. Each ALL group bucket is represented in egress by an egress Openflow table entry where the egress Openflow table entry matches a group ID and a bucket ID. An action entry in an ALL group bucket table entry is the set of actions in the Openflow ALL group bucket excluding an output port and queue assignment.


