Delivering multicast frames to aggregated link trunks in a distributed switch
First Claim
1. A computer program product for forwarding a multicast data frame in a distributed switch, the computer program product comprising:
- a non-transitory computer-readable medium having computer-readable program code embodied therewith, the computer-readable program code comprising computer-readable program code configured to;
receive the multicast data frame at an ingress switch in the distributed switch, wherein a multicast group membership associated with the multicast data frame specifies at least two destination switches in the distributed switch, wherein each destination switch comprises an egress port;
generate a hash key based on header information in the multicast data frame;
forward at least a portion of the multicast data frame and the hash key to the at least two destination switches by routing the portion to one or more surrogate switches in a hierarchy, wherein the at least two destination switches are assigned to the one or more surrogate switch in the hierarchy;
receive the portion and the hash key at the at least two destination switches via the one or more surrogate switches;
identify an enabled egress port on each of the at least two destination switches based on respective local port masks, wherein the enabled egress ports form an aggregated link; and
after receiving the portion and the hash key, select only one of the enabled egress ports to forward the portion on the aggregated link based on the received hash key and a trunk ID associated with at least one of the enabled egress ports, wherein each destination switch comprising one of the enabled egress ports not selected to transmit the portion discards the portion.
1 Assignment
0 Petitions
Accused Products
Abstract
A distributed switch may include a plurality of sub-switches. These sub-switches may be arranged in a hierarchy that increases the available bandwidth for transmitting multicast data frames across the switch fabric. Moreover, the distributed switch may be compatible with link aggregation where multiple physical connections are grouped together to create an aggregated (logical) link. Link aggregation requires similar data frames to use the same data path when traversing the distributed switch. With a unicast data frame, the sub-switch in the distributed switch that receives the data frame typically identifies the destination port (during a process called link selection) and forwards the data frame to the sub-switch containing that port. However, with multicast data frames, instead of the receiving sub-switch performing link selection to determine the destination port, link selection may be done by a different sub-switch or not done at all.
-
Citations
6 Claims
-
1. A computer program product for forwarding a multicast data frame in a distributed switch, the computer program product comprising:
a non-transitory computer-readable medium having computer-readable program code embodied therewith, the computer-readable program code comprising computer-readable program code configured to; receive the multicast data frame at an ingress switch in the distributed switch, wherein a multicast group membership associated with the multicast data frame specifies at least two destination switches in the distributed switch, wherein each destination switch comprises an egress port; generate a hash key based on header information in the multicast data frame; forward at least a portion of the multicast data frame and the hash key to the at least two destination switches by routing the portion to one or more surrogate switches in a hierarchy, wherein the at least two destination switches are assigned to the one or more surrogate switch in the hierarchy; receive the portion and the hash key at the at least two destination switches via the one or more surrogate switches; identify an enabled egress port on each of the at least two destination switches based on respective local port masks, wherein the enabled egress ports form an aggregated link; and after receiving the portion and the hash key, select only one of the enabled egress ports to forward the portion on the aggregated link based on the received hash key and a trunk ID associated with at least one of the enabled egress ports, wherein each destination switch comprising one of the enabled egress ports not selected to transmit the portion discards the portion. - View Dependent Claims (2, 3)
-
4. A distributed switch, comprising:
-
an ingress switch that receives a multicast data frame at an ingress switch and is configured to generate a hash key based on header information in the multicast data frame; at least two destination switches each comprising an egress port, wherein a multicast group membership associated with the multicast data frame identifies the at least two destination switches; wherein at least a portion of the multicast data frame and the hash key are forwarded to the at least two destination switches by routing the portion and the hash key to one or more surrogate switches in a hierarchy, wherein the at least two destination switches are assigned to the one or more surrogate switches in the hierarchy; wherein the at least two destination switches are configured to; receive the portion and the hash key via the one or more surrogate switches, identify an enabled egress port on each of the at least two destination switches based on respective local port masks, wherein the enabled egress ports form an aggregated link, and after receiving the portion and the hash key, select only one of the enabled egress ports to forward the portion on the aggregated link based on the received hash key and a trunk ID associated with at least one of the enabled egress ports, wherein each destination switch comprising one of the enabled egress ports not selected to transmit the portion discards the portion. - View Dependent Claims (5, 6)
-
Specification