Method and apparatus for performing link aggregation
First Claim
1. A method of performing link aggregation in a network node, comprising:
- mapping a given ingress flow to an egress flow identifier by searching for a match of a first key in a first lookup table and providing a result;
mapping the egress flow identifier to a member of an aggregated group associated with an egress interface of the network node based on information available in the given ingress flow using a globally-unique, node-wide, aggregate flow identifier by searching for a match of a second key in a second lookup table, the second key including at least part of the result; and
forwarding the given ingress flow, via the egress interface, to the member of the aggregated group associated with the egress interface;
wherein the number of entries in the first and second lookup tables combined is based on the number of ingress flows supported by an ingress interface plus the number of members of the aggregated group associated with the egress interface.
5 Assignments
0 Petitions
Accused Products
Abstract
A network node or corresponding method of performing link aggregation reduces a number of Content Addressable Memory (CAM) entries required to make a forwarding decision for a given ingress flow, reducing cost, size, and power consumption of the CAM and accompanying static RAM. In one embodiment, an ingress flow is mapped to an egress flow identifier. Subsequently, the egress flow identifier is mapped to a member of an aggregated group associated with an egress interface based on information available in a given ingress flow. Finally, the given ingress flow is forwarded to the member of the aggregated group associated with the egress interface. A hashing technique or two lookups may be used alone or in combination in mapping the ingress flow to the egress flow identifier to reduce CAM memory usage.
69 Citations
19 Claims
-
1. A method of performing link aggregation in a network node, comprising:
-
mapping a given ingress flow to an egress flow identifier by searching for a match of a first key in a first lookup table and providing a result; mapping the egress flow identifier to a member of an aggregated group associated with an egress interface of the network node based on information available in the given ingress flow using a globally-unique, node-wide, aggregate flow identifier by searching for a match of a second key in a second lookup table, the second key including at least part of the result; and forwarding the given ingress flow, via the egress interface, to the member of the aggregated group associated with the egress interface; wherein the number of entries in the first and second lookup tables combined is based on the number of ingress flows supported by an ingress interface plus the number of members of the aggregated group associated with the egress interface. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A network node, comprising:
-
a first mapping unit configured to map a given ingress flow to an egress flow identifier by searching a first lookup table for a match of a first key and providing a result; a second mapping unit configured to map the egress flow identifier to a member of an aggregated group associated with an egress interface of the network node based on information available in the given ingress flow using a globally-unique, node-wide, aggregate flow identifier by searching a second lookup table for a match of a second key, the second key including at least part of the result; and a flow forwarding unit configured to forward the given ingress flow, via the egress interface, to the member of the aggregated group associated with the egress interface; wherein the number of entries in the first and second lookup tables combined is based on the number of ingress flows supported by an ingress interface plus the number of members of the aggregated group associated with the egress interface. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A non-transitory computer-readable medium having stored thereon sequences of instructions, the sequences of instructions including instructions, when executed by a digital processor, that cause the processor to:
-
map a given ingress flow to an egress flow identifier by searching for a match of a first key in a first lookup table and providing a result; map the egress flow identifier to a member of an aggregated group associated with an egress interface of a network node based on information available in the given ingress flow using a globally-unique, node-wide, aggregate flow identifier by searching for a match of a second key in a second lookup table, the second key including at least part of the result; and forward the given ingress flow, via the egress interface, to the member of the aggregated group associated with the egress interface; the number of entries in the first and second lookup tables combined is based on the number of ingress flows supported by an ingress interface plus the number of members of the aggregated group associated with the egress interface.
-
Specification