Multicast Message Forwarding via Metadata in Host Network Interfaces
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In datacenters, multicast data messages sent to groups of virtual machines often result in replication within a single host server, leading to excessive processing resource utilization.
Innovation Solution
A method for forwarding multicast data messages within a host computer that involves a forwarding element looking up recipient ports and using metadata to determine delivery, thereby minimizing processing resources by reducing unnecessary message copies.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multicast data messages are replicated within a host server to deliver to multiple virtual machines, then all required VMs receive the multicast message, but processing resources (memory, CPU time) of the host server are excessively consumed
Solution Approach 1:
A metadata structure is introduced as an intermediary between the multicast message and the replication process. The metadata contains recipient port information that enables the forwarding element to efficiently determine which VMs should receive the message without requiring the routing element to create multiple copies, thus reducing CPU and memory usage while ensuring complete delivery
Solution Approach 2:
The routing element performs preliminary action by appending metadata to the multicast message before forwarding it to the switching element. This metadata pre-identifies the recipient ports, allowing the switching element to perform efficient single-copy replication based on port information rather than requiring the routing element to pre-create multiple message copies
2Reliability
If the routing element generates numerous copies of multicast data messages for different logical routers, then all recipients receive the message, but the routing element consumes excessive processing resources
Solution Approach 1:
Metadata acts as an intermediary that carries recipient port information from the routing element to the switching element. This allows the routing element to perform a single lookup and append metadata once, rather than generating multiple message copies for each logical router, thereby maintaining complete delivery across all logical routers while significantly improving processing efficiency
Solution Approach 2:
The message handling function is segmented between the routing element and switching element. The routing element handles logical router routing decisions and appends metadata, while the switching element handles the actual message replication to multiple ports based on the metadata. This segmentation allows each element to perform its specialized function efficiently without duplicating work
3Productivity
If the switching element generates all copies of multicast data messages, then processing resources are minimized, but the switching element must have complete information about all recipient ports across different logical routers
Solution Approach 1:
The metadata structure serves as an intermediary that bridges the routing element's knowledge of logical router recipients and the switching element's port-based forwarding capability. The metadata contains recipient port information that the switching element can use directly without requiring complex logic to determine which ports correspond to which logical routers, thus enabling efficient copy generation while managing information complexity
Data Source
AI summary
Some embodiments provide a method for forwarding multicast data messages at a forwarding element on a host computer. The method receives a multicast data message from a routing element executing on the host computer along with metadata appended to the multicast data message by the routing element. Based on a destination address of the multicast data message, the method identifies a set of recipient ports for a multicast group with which the multicast data message is associated. For each recipient port, the method uses the metadata appended to the multicast data message by the routing element to determine whether to deliver a copy of the multicast data message to the recipient port.


