Using consistent hashing for ECMP routing

US9853900B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9853900-B1
Application numberUS-201715670055-A
CountryUS
Kind codeB1
Filing dateAug 7, 2017
Priority dateAug 7, 2017
Publication dateDec 26, 2017
Grant dateDec 26, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

ECMP routing is carried out in fabric of network entities by representing valid destinations and invalid destinations in a group of the entities by a member vector. The order of the elements in the member vector is permuted and fanned out. A portion of the elements in the fanned out vector is pseudo-randomly masked. A flow of packets is transmitted to the first valid destination in the masked member vector.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method, comprising the steps of: defining in a fabric of network entities a group of the entities; representing the group by a member vector having elements, including valid elements and invalid elements that respectively reference valid destinations and invalid destinations in the group; permuting an order of the elements in the member vector to define a permuted member vector; fanning out the permuted member vector to form a series of consecutive instances of the permuted member vector; pseudo-randomly masking a portion of the elements of the fanned out member vector; and transmitting a flow of packets to the valid destination represented by a first valid element of the masked member vector. 2. The method according to claim 1 , wherein the destinations are next hops in an equal cost multi-path (ECMP) group. 3. The method according to claim 1 , wherein the destinations are addresses in a link aggregation group (LAG). 4. The method according to claim 1 , wherein permuting an order comprises applying a hash function to a packet header and varying the order according to the hash function. 5. The method according to claim 1 , wherein masking comprises applying a masking hash function to the fanned out member vector. 6. The method according to claim 1 , further comprising deleting one of the valid destinations from the group prior to representing the group by a member vector and redistributing the flow of packets to remaining valid destinations using the masked member vector. 7. The method according to claim 6 , wherein redistributing the flow of packets comprises avoiding migrating flows of packets in the remaining valid destinations to other remaining valid destinations. 8. The method according to claim 1 , further comprising adding a new valid destination to the group prior to representing the group by a member vector redistributing the flow of packets to include the new valid destination using the masked member vector. 9. The method according to claim 8 , wherein redistributing the flow of packets comprises avoiding migrating flows of packets in preexisting valid destinations to other preexisting valid destinations. 10. A system, comprising the steps of: a fabric of network entities for communication of data packets, wherein the network entities have a plurality of physical ports and a memory storing a forwarding database, respectively; and programmable hardware logic in the network entities configured for performing the steps of: representing a group of the network entities by a member vector having elements, including valid elements and invalid elements in the forwarding database that respectively reference valid destinations and invalid destinations in the group; permuting an order of the elements in the member vector to define a permuted member vector; fanning out the permuted member vector to form a series of consecutive instances of the permuted member vector; pseudo-randomly masking a portion of the elements of the fanned out member vector; and transmitting a flow of packets to the valid destination represented by a first valid element of the masked member vector. 11. The system according to claim 10 , wherein the destinations are next hops in an equal cost multi-path (ECMP) group. 12. The system according to claim 10 , wherein the destinations are addresses in a link aggregation group (LAG). 13. The system according to claim 10 , wherein permuting an order comprises applying a hash function to a packet header and varying the order according to the hash function. 14. The system according to claim 10 , wherein masking comprises applying a masking hash function to the fanned out member vector. 15. The system according to claim 10 , wherein the hardware logic is configured for deleting one of the valid destinations from the group prior to representing the group by a member vector and redistributing the flow of packets to remaining valid destinations using the masked member vector. 16. The system according to claim 15 , wherein redistributing the flow of packets comprises avoiding migrating flows of packets in the remaining valid destinations to other remaining valid destinations. 17. The system according to claim 10 , wherein the hardware logic is configured for adding a new valid destination to the group prior to representing the group by a member vector redistributing the flow of packets to include the new valid destination using the masked member vector. 18. The system according to claim 17 , wherein redistributing the flow of packets comprises avoiding migrating flows of packets in preexisting valid destinations to other preexisting valid destinations.

Assignees

Inventors

Classifications

  • Assignment of logical groups to network elements · CPC title

  • H04L47/125Primary

    by balancing the load, e.g. traffic engineering · CPC title

  • using hashing · CPC title

  • H04L45/24Primary

    Multipath · CPC title

  • Link aggregation, e.g. trunking · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9853900B1 cover?
ECMP routing is carried out in fabric of network entities by representing valid destinations and invalid destinations in a group of the entities by a member vector. The order of the elements in the member vector is permuted and fanned out. A portion of the elements in the fanned out vector is pseudo-randomly masked. A flow of packets is transmitted to the first valid destination in the masked m…
Who is the assignee on this patent?
Mellanox Tech Tlv Ltd
What technology area does this patent fall under?
Primary CPC classification H04L47/125. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Dec 26 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).