IP Library Granted Patent US 10,554,556
Granted Patent B2
US 10,554,556 · App. 15/671,166 · Granted Feb 4, 2020

Network element with congestion-aware match tables

Inventors: Zachy Haramaty (Hemed, IL); Ilya Vershkov (Rishon Lezion, IL); Aviad Raveh (Bat Hefer, IL); Matty Kadosh (Hadera, IL); Aviv Kfir (Nili, IL)
Assignee: MELLANOX TECHNOLOGIES TLV LTD.
H04L47/11H04L43/16H04L45/745H04L47/12H04L47/32H04L49/90
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,554,556
App. No.
15/671,166
Granted
Feb 4, 2020
Kind
B2
Abstract

A network element includes a plurality of ports and processing circuitry. The ports are configured for connecting to a communication network. The processing circuitry is configured to receive a packet from the communication network via one of the ports, to assign the packet to a selected queue, to verify whether the packet matches a rule, wherein matching the packet to the rule depends on whether the selected queue is congested, and, when the packet matches the rule, to apply to the packet an action associated with the rule.

Claims (30)

1. A network element, comprising:

a plurality of ports for connecting to a communication network; and

processing circuitry, configured to:

receive a packet from the communication network via one of the ports;

assign the packet to a selected queue;

attempt matching the packet to a set of rules specified in a match table, including enabling or disabling a given rule in the match table, and thus causing match operations of subsequent packets against the match table to result in a match or a mismatch to the given rule depending on whether the selected queue is congested; and

when the packet matches the given rule, apply to the packet an action specified in the match table for the given rule.

2. The network element according to claim 1 , wherein the processing circuitry is configured to attempt matching the packet to the set of rules as part of ingress processing of the packet.

3. The network element according to claim 1 , wherein the processing circuitry is configured to attempt matching the packet to the set of rules as part of egress processing of the packet.

4. A network element, comprising:

a plurality of ports for connecting to a communication network; and

processing circuitry, configured to:

receive a packet from the communication network via one of the ports;

assign the packet to a selected queue;

attempt matching the packet to a set of rules specified in a one or more match tables, including attempting matching the packet to one or more first match tables when the selected queue is congested, and to one or more second match tables, which differ in at least one rule from the first match tables, when the selected queue is not congested;

when the packet matches a given rule in the first or second match tables, apply to the packet an action specified in the match table for the given rule.

5. The network element according to claim 1 , wherein the processing circuitry is configured to decide that the selected queue is congested in response to detecting that a fill level of the selected queue exceeds a threshold.

6. A method for processing packets in a network element, the method comprising:

receiving in the network element a packet from a communication network;

assigning the packet to a selected queue in the network element;

attempting matching the packet to a set of rules specified in a match table, including enabling or disabling a given rule in the match table, and thus causing match operations of subsequent packets against the match table to result in a match or a mismatch to the given rule depending on whether the selected queue is congested; and

when the packet matches the given rule, applying to the packet an action specified in the match table for the given rule.

7. The method according to claim 6 , wherein attempting matching the packet to the set of rules is performed as part of ingress processing of the packet.

8. The method according to claim 6 , wherein attempting matching the packet to the set of rules is performed as part of egress processing of the packet.

9. The method according to claim 6 , and comprising deciding that the selected queue is congested in response to detecting that a fill level of the selected queue exceeds a threshold.

10. A method for processing packets in a network element, the method comprising:

receiving in the network element a packet from a communication network;

assigning the packet to a selected queue in the network element;

attempting matching the packet to a set of rules specified in one or more match tables, including attempting to match the packet to one or more first match tables when the selected queue is congested, and to one or more second match tables, which differ in at least one rule from the first match tables, when the selected queue is not congested; and

when the packet matches a given rule in the first or second match tables, applying to the packet an action specified in the match table for the given rule.

Assignments (2)
MERGER Recorded Dec 15, 2021
From: MELLANOX TECHNOLOGIES TLV LTD.
To: MELLANOX TECHNOLOGIES, LTD.
Reel/Frame 058517/0564 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2017
From: HARAMATY, ZACHY; VERSHKOV, ILYA; RAVEH, AVIAD; KADOSH, MATTY; KFIR, AVIV
To: MELLANOX TECHNOLOGIES TLV LTD.
Reel/Frame 043225/0981 →
Continuity (1)
Related Publication 20190052564A1 · Feb 14, 2019
Cited By (1)
US 12,328,251