IP Library Granted Patent US 7,480,299
Granted Patent B2
US 7,480,299 · App. 11/064,227 · Granted Jan 20, 2009

Rules engine for access control lists in network units

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 7,480,299
App. No.
11/064,227
Granted
Jan 20, 2009
Kind
B2
Abstract

A rules engine for the examination of selected fields in an addressed data packet has an access control list table of which the entries each define an access control list rule, an action and a chain identifier. The access control list rule may be a basic rule which refers to network addresses and transport layer port numbers. The rules engine also has an extension rule table of which the entries each define an extension rule, a respective action and a respective rule identifier. The extension rule may refer to a particular TCP flag. When a packet arrives, the engine searches both tables. This search is made independently of the ordinary network layer or link layer address lookup. If there is a match in both tables, and the chain identifier matches the extension rule identifier, the rules engine prescribes the action associated with the extension rule. If the chain identifier of a matched access control list rule does not match a rule identifier of a matched extension rule the rules engine prescribes the action associated with the basic rule. In the absence of a match with any access control list rule the action on a packet is based on the result from the ordinary address lookup.

Claims (43)

1. A rules engine for the examination of selected fields in an addressed data packet, comprising:

an access control list table containing entries each defining an access control list rule, a respective first action and a chain identifier; and

an extension rule table for entries each defining an extension rule, a respective second action and a respective rule identifier

wherein the rules engine is operative:

(a) to search said access control list table to ascertain a match between an access control list rule and said addressed data packet;

(b) to search said extension rule table to ascertain a match between an extension rule and said addressed data packet;

in the event of a matched access control list rule matched to said addressed data packet, to prescribe one of:

(ci) the respective second action associated with a matched extension rule in the event of correspondence between a chain identifier associated with the matched extension rule and a rule identifier identifying a match between that matched extension rule and said addressed data packet; or

(cii) in the absence of said correspondence, the respective first action associated with said matched access control list rule.

2. A rules engine as in claim 1 wherein said access control list rules relate to fields in TCP (Transmission Control Protocol) segments and network address fields.

3. A rules engine as in claim 1 wherein said extension rules relate to TCP flags.

4. A rules engine as in claim 1 wherein said extension rule table is constituted by memory within an application specific integrated circuit and said access control list table is constituted by memory external to said application specific integrated circuit.

5. A rules engine as in claim 1 wherein a chain identifier matches a plurality of rule identifiers.

6. A network unit comprising:

(1) a multiplicity of ports for receiving and forwarding addressed data packets;

(2) a lookup engine for producing forwarding data in response to address data in an addressed data packet;

(3) a post-processing engine for executing a forwarding action based on said forwarding data;

(4) a rules engine comprising:

(a) an access control list table containing entries each defining an access control list rule, a respective first action and a chain identifier; and

(b) an extension rule table for entries each defining an extension rule, a respective second action and a respective rule identifier

wherein the rules engine is operative:

(i) to search said access control list table to ascertain a match between an access control list rule and said addressed data packet;

(ii) to search said extension rule table to ascertain a match between an extension rule and said addressed data packet; and

in the event of a matched access control list rule matched to said addressed data packet, to prescribe one of:

(iiia) the respective second action associated with a matched extension rule in the event of correspondence between a chain identifier associated with the matched extension rule and a rule identifier identifying a match between that matched extension rule and said addressed data packet; or

(iiib) in the absence of said correspondence, the respective first action associated with said matched access control list rule; and

wherein said post-processing engine is operative to execute said respective first or second action as prescribed by said rules engine.

7. A network unit as in claim 6 wherein said post-processing engine executes said forwarding action in the absence of any action prescribed by said rules engine.

8. A network unit as in claim 6 wherein said access control list rules relate to fields in TCP segments and network address fields.

9. A network unit as in claim 6 wherein said extension rules relate to TCP flags.

10. A network unit as in claim 6 wherein a chain identifier matches a plurality of rule identifiers.

11. A network unit as in claim 6 wherein said extension rule table is constituted by memory within an application specific integrated circuit which includes said lookup engine and said post-processing engine and said access control list table is constituted by memory external to said application specific integrated circuit.

12. A method of operating a rules engine for the examination of selected fields in an addressed data packet, comprising:

(a) establishing an access control list table containing entries each defining an access control list rule, a respective first action and a chain identifier;

(b) establishing an extension rule table for entries each defining an extension rule, a respective second action and a respective rule identifier

(c) searching said access control list table to ascertain a match between an access control list rule and said addressed data packet;

(d) searching said extension rule table to ascertain a match between an extension rule and said addressed data packet; and

(e) in the event of a matched access control list rule matched to said addressed data packet prescribing one of:

(e1) the respective second action associated with a matched extension rule in the event of correspondence between a chain identifier associated with the matched extension rule and a rule identifier identifying a match between that matched extension rule and said addressed data packet; or

(e2) in the absence of said correspondence, the respective first action associated with said matched access control list rule.

13. A method as in claim 12 and relating said access control list rules relate to fields in TCP (Transmission Control Protocol) segments and network address fields.

14. A method as in claim 12 and relating said extension rules to TCP flags.

15. A method as in claim 12 and matching a chain identifier to a plurality of rule identifiers.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2022
From: OT PATENT ESCROW, LLC
To: VALTRUS INNOVATIONS LIMITED
Reel/Frame 060005/0600 →
PATENT ASSIGNMENT, SECURITY INTEREST, AND LIEN AGREEMENT Recorded Jan 26, 2021
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP; HEWLETT PACKARD ENTERPRISE COMPANY
To: OT PATENT ESCROW, LLC
Reel/Frame 055269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
CORRECTIVE ASSIGNMENT PREVIUOSLY RECORDED ON REEL 027329 FRAME 0001 AND 0044. Recorded May 1, 2012
From: HEWLETT-PACKARD COMPANY
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 028911/0846 →