IP Library › Granted Patent US 10,785,145
Granted Patent B2
US 10,785,145 · App. 15/899,242 · Granted Sep 22, 2020

System and method of flow aware resilient ECMP

Inventors: Vijaya Kumar Kulkarni (Bangalore, IN); Bhaskar Jain (Bangalore, IN)
Assignee: Arista Networks, Inc.
H04L45/245H04L45/023H04L45/123H04L45/38
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,785,145
App. No.
15/899,242
Granted
Sep 22, 2020
Kind
B2
Abstract

A method and apparatus of a network element that processes network data in an equal cost multi-path (ECMP) group is described. In an exemplary embodiment, the network element receives the network data, where the network data is part of network data flow. In addition, the network element detects that the network data flow is a new network data flow and selects a transmitting nexthop from a plurality of nexthops of the ECMP group. The network element further maps the new network flow to a slot of a table in an ECMP group and transmits the network data using the transmitting nexthop.

Claims (36)

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to process network data in an equal cost multi-path (ECMP) group, the method comprising:

receiving the network data, the network data is part of network data flow;

detecting that the network data flow is a new network data flow;

selecting a transmitting nexthop from a plurality of nexthops of the ECMP group;

mapping the new network flow to a slot of a table in an ECMP group, wherein the mapping of the new network flow does not change after an addition of a new nexthop to the ECMP group, wherein an addition to the ECMP group is in response to a service advertisement of a service that is coupled to the new nexthop; and

transmitting the network data using the transmitting nexthop.

2. The non-transitory machine-readable medium of claim 1 , wherein the mapping of new network flow does not change after a withdrawal of an existing nexthop to the ECMP group.

3. The non-transitory machine-readable medium of claim 2 , wherein the withdrawal to the ECMP group is in response to a service withdrawal of a service that is coupled to the existing nexthop.

4. The non-transitory machine-readable medium of claim 1 , wherein ECMP is a routing strategy where nexthop packet forwarding to a destination occurs over multiple paths having equal costs in a routing metric.

5. The non-transitory machine-readable medium of claim 1 , wherein the detecting is based on at least a detection of a transmission control protocol syn packet.

6. The non-transitory machine-readable medium of claim 1 , wherein the detecting is based on at least deep packet inspection.

7. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to manage an equal cost multi-path (ECMP) group in a network element, the method comprising:

detecting an addition to a membership of an ECMP group, wherein the addition is a new nexthop for the ECMP group; and

allocating a slot in an ECMP group table for the new nexthop, wherein a packet flow using this nexthop is mapped to the slot and wherein the mapping of the packet flow does not change after a further addition of a new nexthop to the ECMP group, wherein the allocating of the slot in the ECMP table is based on at least a user-defined policy to allocate the new slot after a user configurable delay.

8. The machine-readable medium of claim 7 , wherein the user-defined policy is based on at least a flow aware variable, wherein the flow aware variable is selected from the group consisting of number of flows mapped to a slot in the ECMP table and a flow activity per slot.

9. The machine-readable medium of claim 8 , wherein the flow activity computed variable that measures the aggregated usage of the slot in absolute bandwidth terms with respect to traffic mapped to that slot.

10. The machine-readable medium of claim 7 , further comprising:

de-allocating a slot in the ECMP table in response to a service end point withdrawal.

11. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to install an equal cost multi-path (ECMP) nexthop selection function in a network element, the method comprising:

receiving information regarding a plurality of network elements in a network;

selecting a subset of network elements from the plurality of network elements, wherein each of the network elements in the subset share a class and participate in an ECMP group;

determining the ECMP next selection function for the subset of network elements; and

sending a command to each of the network elements in the subset of network elements, wherein the command instructs the each of network elements to install the ECMP next selection function and the each of the network elements uses the ECMP next selection function to make ECMP nexthop decisions using the ECMP group.

12. The machine-readable medium of claim 11 , wherein the class is based on at least a role a network element has in the network.

13. The machine-readable medium of claim 11 , wherein the role is selected from a leaf, spine, and super spine.

14. A method to process network data in an equal cost multi-path (ECMP) group, the method comprising:

receiving the network data, the network data is part of network data flow;

detecting that the network data flow is a new network data flow;

selecting a transmitting nexthop from a plurality of nexthops of the ECMP group;

mapping the new network flow to a slot of a table in an ECMP group, wherein the mapping of the new network flow does not change after an addition of a new nexthop to the ECMP group, wherein an addition to the ECMP group is in response to a service advertisement of a service that is coupled to the new nexthop; and

transmitting the network data using the transmitting nexthop.

15. A method to install an equal cost multi-path (ECMP) nexthop selection function in a network element, the method comprising:

receiving information regarding a plurality of network elements in a network;

selecting a subset of network elements from the plurality of network elements, wherein each of the network elements in the subset share a class and participate in an ECMP group;

determining the ECMP next selection function for the subset of network elements; and

sending a command to each of the network elements in the subset of network elements, wherein the command instructs the each of network elements to install the ECMP next selection function and the each of the network elements uses the ECMP next selection function to make ECMP nexthop decisions using the ECMP group.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2018
From: KULKARNI, VIJAYA KUMAR; JAIN, BHASKAR
To: ARISTA NETWORKS, INC.
Reel/Frame 044977/0459 →
Continuity (1)
Related Publication 20190260670A1 · Aug 22, 2019