IP Library Granted Patent US 9,706,017
Granted Patent B2
US 9,706,017 · App. 14/868,405 · Granted Jul 11, 2017

Atomic update of packet classification rules

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 9,706,017
App. No.
14/868,405
Granted
Jul 11, 2017
Kind
B2
Abstract

A method for classification includes storing in a TCAM classification rules comprising respective tags, each including an update bit. Data items are classified by extracting a respective key from each data item, appending an update-select bit to construct an extended key, and matching the extended key to one of the tags in the TCAM. In response to an instruction to atomically replace a group of existing rules in the TCAM with new rules, the update bit is unmasked and set to the first bit value in the group of the existing rules. The new rules are stored in the TCAM, with their update bit set to a second bit value. After storing the new rules in the TCAM, the update-select bit in the extended key of the received data items is set to the second bit value.

Claims (27)

1. A method performed by a network apparatus for classification, comprising:

storing in a ternary content-addressable memory (TCAM) a plurality of classification rules comprising respective tags, each tag comprising a string of maskable bits, including an update bit;

receiving and classifying data items according to the classification rules by extracting a respective key from each data item, appending an update-select bit to the extracted key, thereby constructing an extended key, and matching the extended key to one of the tags in the TCAM,

wherein receiving the data items comprises receiving data packets from a network, and wherein extracting the respective key comprises extracting a string of bits from selected fields in the data packets, and

wherein classifying the data items comprises looking up, responsively to a classification rule that contains the one of the tags that matched the extended key for each data packet received from the network, an action to be applied to the data packet, and applying the action to the data packet;

in a default classification state, masking the update bit in all of the classification rules and setting the update-select bit in the extended key of all the received data items to a first bit value; and

in response to an instruction to atomically replace a group of existing rules in the TCAM with new rules:

in the group of the existing rules, unmasking the update bit, which is set to the first bit value;

storing the new rules in the TCAM, with the update bit in the new rules set to a second bit value, different from the first bit value, and unmasked; and

after storing the new rules in the TCAM, setting the update-select bit in the extended key of the received data items to the second bit value.

2. The method according to claim 1 , and comprising, after storing the new rules, deleting the group of the existing rules from the TCAM while continuing to set the update-select bit in the extended key of the received data items to the second bit value.

3. The method according to claim 2 , and comprising, after deleting the group of the existing rules, reverting to the default classification state.

4. The method according to claim 1 , and comprising, in the existing rules that are outside the group that is to be replaced, continuing to mask the update bit while replacing the rules in the group, whereby the existing rules outside the group are unaffected by setting the update-select bit.

5. The method according to claim 1 , wherein receiving the data packets comprises receiving flows of the data packets in a network element, which contains the TCAM and which applies respective actions to the flows in accordance with the classification rules.

6. A network classification apparatus, comprising:

a ternary content-addressable memory (TCAM) in a network element, which is configure to store a plurality of classification rules comprising respective tags, each tag comprising a string of maskable bits, including an update bit, which in a default classification state is masked in all of the classification rules; and

a decision logic processor, which is configured to receive and classify data items according to the classification rules by extracting a respective key from each data item, appending to the extracted key an update-select bit, which in the default classification state is set to a first bit value, thereby constructing an extended key, and matching the extended key to one of the tags in the TCAM,

wherein the data items comprise data packets received from a network, and wherein the extracted key comprises a string of bits extracted from selected fields in the data packets, and

wherein the decision logic processor is configured to look up, responsively to a classification rule that contains the one of the tags that matched the extended key for each data packet received from the network, an action to be applied to the data packet, and to apply the action to the data packet, and

wherein the decision logic processor is configured to receive an instruction to atomically replace a group of existing rules in the TCAM with new rules, and to carry out the instruction by:

in the group of the existing rules, unmasking the update bit, which is set to the first bit value;

storing the new rules in the TCAM, with the update bit in the new rules set to a second bit value, different from the first bit value, and unmasked; and

after storing the new rules in the TCAM, setting the update-select bit in the extended key of the received data items to the second bit value.

7. The network classification apparatus according to claim 6 , wherein the decision logic processor is configured, after storing the new rules, to delete the group of the existing rules from the TCAM while continuing to set the update-select bit in the extended key of the received data items to the second bit value.

8. The network classification apparatus according to claim 7 , wherein the decision logic processor is configured, after deleting the group of the existing rules, to revert to the default classification state.

9. The network classification apparatus according to claim 6 , wherein in the existing rules that are outside the group that is to be replaced, the update bit continues to be masked during replacement of the rules in the group, whereby the existing rules outside the group are unaffected by setting the update-select bit.

10. The network classification apparatus according to claim 6 , wherein the TCAM and the decision logic processor are comprised in the network element, which is configured to receive flows of the data packets and to apply respective actions to the flows in accordance with the classification rules.

Assignments (5)
MERGER Recorded Dec 15, 2021
From: MELLANOX TECHNOLOGIES TLV LTD.
To: MELLANOX TECHNOLOGIES, LTD.
Reel/Frame 058517/0564 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 37898/0959 Recorded Jul 13, 2018
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MELLANOX TECHNOLOGIES TLV LTD.
Reel/Frame 046542/0699 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE CITY NAME PREVIOUSLY RECORDED ON REEL 036770 FRAME 0158. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 8, 2017
From: ALMOG, ARIEL; KFIR, AVIV; MOZES, DAVID; GAFNI, BARAK
To: MELLANOX TECHNOLOGIES TLV LTD.
Reel/Frame 042732/0366 →
PATENT SECURITY AGREEMENT Recorded Feb 23, 2016
From: MELLANOX TECHNOLOGIES TLV LTD.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 037898/0959 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 12, 2015
From: ALMOG, ARIEL; KFIR, AVIV; MOZES, DAVID; GAFNI, BARAK
To: MELLANOX TECHNOLOGIES TLV LTD.
Reel/Frame 036770/0158 →