System and method to support enhanced equal cost multi-path and link aggregation group
First Claim
1. An apparatus comprising:
- a small flow forwarding module configured to receive a plurality of first packets that correspond to a plurality of small flows and distribute the first packets over a plurality of paths;
a large flow forwarding module configured to receive a plurality of second packets that correspond to a plurality of large flows and distribute the second packets over the paths; and
a packet header checking module in communication with the small flow forwarding module and the large flow forwarding module,wherein the packet header checking module is configured to inspect a flow indication in an incoming packet and forward the packet to the small flow forwarding module if the flow indication corresponds to one of the small flows or to the large flow forwarding module if the flow indication corresponds to one of the large flows,wherein the large flow forwarding module is further configured to;
store a large flow table that comprises a list of large flows received at the apparatus;
determine if there is an entry in the large flow table for a flow for the incoming packet when the flow indication corresponds to one of the large flows;
adding an entry for the flow to the large flow table if there is no entry for the flow in the large flow table; and
updating a flow status to current when a flow indication in an incoming packet indicates that a flow for the incoming packet is a large flow and if an entry for the flow is found in the large flow table,wherein adding the entry for the flow comprises assigning the flow to a component link and storing the mapping of the flow and the component link into the large flow table, andwherein the entry for the flow comprises;
a flow identifier that indicates the identity of the flow;
a path identifier that indicates at least one path used to forward the flow; and
a status identifier that indicates whether the flow is transported over the path identified.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus comprising a small flow forwarding module configured to distribute and forward a plurality of packets that correspond to a plurality of small flows over a plurality of paths, a large flow forwarding module configured to distribute and forward a plurality of packets that correspond to a plurality of large flows over the paths, and a packet header checking module in communication with the small flow forwarding module and the large flow forwarding module, wherein the packet header checking module is configured to inspect a flow indication in an incoming packet and forward the packet to the small flow forwarding module if the flow indication corresponds to one of the small flows or to the large flow forwarding module if the flow indication corresponds to one of the large flows.
19 Citations
19 Claims
-
1. An apparatus comprising:
-
a small flow forwarding module configured to receive a plurality of first packets that correspond to a plurality of small flows and distribute the first packets over a plurality of paths; a large flow forwarding module configured to receive a plurality of second packets that correspond to a plurality of large flows and distribute the second packets over the paths; and a packet header checking module in communication with the small flow forwarding module and the large flow forwarding module, wherein the packet header checking module is configured to inspect a flow indication in an incoming packet and forward the packet to the small flow forwarding module if the flow indication corresponds to one of the small flows or to the large flow forwarding module if the flow indication corresponds to one of the large flows, wherein the large flow forwarding module is further configured to; store a large flow table that comprises a list of large flows received at the apparatus; determine if there is an entry in the large flow table for a flow for the incoming packet when the flow indication corresponds to one of the large flows; adding an entry for the flow to the large flow table if there is no entry for the flow in the large flow table; and updating a flow status to current when a flow indication in an incoming packet indicates that a flow for the incoming packet is a large flow and if an entry for the flow is found in the large flow table, wherein adding the entry for the flow comprises assigning the flow to a component link and storing the mapping of the flow and the component link into the large flow table, and wherein the entry for the flow comprises; a flow identifier that indicates the identity of the flow; a path identifier that indicates at least one path used to forward the flow; and a status identifier that indicates whether the flow is transported over the path identified. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method comprising:
-
receiving a packet that corresponds to a flow at an edge node in a network; determining whether the flow corresponds to a large flow or a small flow; inserting a large flow indication in the packet to indicate that the flow is the large flow or the small flow; storing a large flow table that comprises a list of large flows received at an edge node; determining if there is an entry for the flow in the large flow table; adding an entry for the flow to the large flow table if there is no entry for the flow in the large flow table; updating the flow status to current when the flow indication in the packet indicates that the flow is a large flow and if an entry for the flow is found in the large flow table; and forwarding the packet to an internal node in the network, wherein adding the entry for the flow comprises assigning the flow to a component link and storing the mapping of the flow and component link into the large flow table, and wherein the entry for the flow comprises; a flow identifier that indicates the identity of the flow; a path identifier that indicates at least one path used to forward the flow; and a status identifier that indicates whether the flow is transporting over the path identified, wherein the large flow indicates the flow has a high flow rate, and wherein the small flow indicates the flow has a low flow rate that is less than the high flow rate. - View Dependent Claims (10)
-
-
11. A network component comprising:
-
a packet header checking module configured to; receive a plurality of incoming packets that corresponds to at least one data flow; detect a flow indication for each incoming packet of the plurality of incoming packets; forward the incoming packets that correspond to a first data flow with a low flow rate to a small flow forwarding module when the flow indication designates the corresponding data flows as a small flow; and forward the incoming packets that correspond to a second data flow with a high flow rate to a large flow forwarding module when the flow indication designates the corresponding data flow as a large flow, wherein the high flow rate is greater than the low flow rate, wherein the small flow forwarding module is coupled to the packet header checking module, wherein the large flow forwarding module is coupled to the packet header checking module and is configured to; forward the incoming packets that correspond to the large flows over a plurality of aggregated paths based on a large flow table; store the large flow table that comprises a list of large flows received by the network component; determine if there is an entry in the large flow table for a flow for one of the incoming packets that correspond to one of the large flows; add an entry for the flow to the large flow table if there is no entry for the flow in the large flow table; and update a flow status to current when a flow indication in an incoming packet indicates that a flow for the incoming packet is a large flow and if an entry for the flow is found in the large flow table, wherein adding the entry for the flow comprises assigning the flow to a component link and storing the mapping of the flow and the component link into the large flow table, and wherein the entry for the flow comprises; a flow identifier that indicates the identity of the flow; a path identifier that indicates at least one path used to forward the flow; and a status identifier that indicates whether the flow is transported over the path identified. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
Specification