IP Library Granted Patent US 8,611,350
Granted Patent B2
US 8,611,350 · App. 12/966,940 · Granted Dec 17, 2013

Apparatus and method for layer-2 to 7 search engine for high speed network application

Inventors: Yung-Chung Liu (Taipei, TW); Xi Chen (Fremont, CA); Yu-Chih Tsao (Taipei, TW); Chien-Hsiung Chang (Jhubei, TW); Chien-Chih Chen (Toufen, TW); Xiaochong Cao (Fremont, CA); Chih-Hsien Hsu (Hsinchu, TW)
Assignee: Cortina Systems, Inc.
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 8,611,350
App. No.
12/966,940
Granted
Dec 17, 2013
Kind
B2
Abstract

High-speed networking application equipments with a layer-2 to layer-7 hardware search engine and method are with flexibility and performance improvement. The multi-layer switches/routers, network address translation (NAT) gateway, firewall/VPN router and network attached storage (NAS) may use the search engine for fast and efficient search requirement.

Claims (33)

1. An apparatus for layer-2 to layer-7 search engine for high-speed network application, comprising:

a media access controller (MAC) connecting a computer network and receiving a plurality of data packets;

a packet parser electrically coupled to the media access controller to parse the data packets;

a plurality of protocol search engines electrically coupled to the packet parser and searching a plurality of matched fields from the data packets according to at least a protocol matching rule table and a connection hash table, wherein the connection hash table includes a hash key for matching the data packets to one of the protocol search engines with layer-2, layer-3, layer-4, and layer-7 headers selected by the protocol matching rule table;

a search resolution engine electrically coupled to the protocol search engines and choosing a plurality of target fields from the matched fields with a highest priority;

a packet modifier electrically coupled to the search resolution engine and modifying the packet headers;

a Direct Memory Access (DMA) engine for receiving the data packets from the packet modifier; and

a transmit buffer for storing the data packets transferred from the Direct Memory Access (DMA) engine.

2. The apparatus for layer-2 to layer-7 search engine for high-speed network application according to claim 1 , wherein the computer network is a gigabit Ethernet.

3. The apparatus for layer-2 to layer-7 search engine for high-speed network application according to claim 1 , further comprising a buffer electrically coupled to the media access controller and the packet parser to store the data packets.

4. The apparatus for layer-2 to layer-7 search engine for high-speed network application according to claim 1 , wherein the packet parser extracts a plurality of fields in each of the data packets.

5. The apparatus for layer-2 to layer-7 search engine for high-speed network application according to claim 4 , wherein the fields are selected from layer-2 header fields, layer-3 headers fields, layer-4 bytes, and layer-7 bytes.

6. The apparatus for layer-2 to layer-7 search engine for high-speed network application according to claim 5 , wherein the layer-2 header fields are Media Access Control (MAC) destination address/source address (DA/SA), Virtual Local Area Network-ID (VLAN-ID), Ethernet Type fields, Point-to-Point Protocol over Ethernet (PPPoE) session ID.

7. The apparatus for layer-2 to layer-7 search engine for high-speed network application according to claim 5 , wherein the layer-3 headers fields are IPv4 or IPv6 source/destination IP address, Type of Service (TOS) field, or flow label.

8. The apparatus for layer-2 to layer-7 search engine for high-speed network application according to claim 5 , wherein the layer-4 bytes are TCP source/destination port number, UDP source/destination port number, IPSec (IP Security) field.

9. The apparatus for layer-2 to layer-7 search engine for high-speed network application according to claim 5 , wherein the layer-7 bytes are application specified fields.

10. The apparatus for layer-2 to layer-7 search engine for high-speed network application according to claim 1 , further comprising a plurality of queues storing the data packets from the Direct Memory Access (DMA) engine and a transmit Gigabit Ethernet Media Access Controller (GMAC) transferring the data packets stored in the transmit buffer.

11. A method for layer-2 to layer-7 search engine for high-speed network application, comprising:

receiving a plurality of data packets from a computer network;

parsing the data packets;

searching a plurality of matched fields from the data packets according to at least a protocol matching rule table and a connection hash table, wherein the connection hash table includes a hash key for matching the data packets to one of protocol search engines with layer-2, layer-3, layer-4, and layer-7 headers selected by the protocol matching rule table;

choosing a plurality target fields from the matched fields with highest priority;

modifying the packet headers;

receiving the data packets from a packet modifier by a Direct Memory Access (DMA) engine; and

storing the data packets transferred from the Direct Memory Access (DMA) engine by a transmit buffer.

12. The method for layer-2 to layer-7 search engine for high-speed network application according to claim 11 , wherein the computer network is a gigabit Ethernet.

13. The method for layer-2 to layer-7 search engine for high-speed network application according to claim 11 , wherein the step of parsing the data packets packet is extracting a plurality of fields in each of the data packets.

14. The method for layer-2 to layer-7 search engine for high-speed network application according to claim 13 , wherein the fields are selected from layer-2 header fields, layer-3 headers fields, layer-4 bytes, and layer-7 bytes.

15. The method for layer-2 to layer-7 search engine for high-speed network application according to claim 14 , wherein the layer-2 header fields are Media Access Control (MAC) destination address/source address (DA/SA), Virtual Local Area Network-ID (VLAN-ID), Ethernet Type fields, Point-to-Point Protocol over Ethernet (PPPoE) session ID.

16. The method for layer-2 to layer-7 search engine for high-speed network application according to claim 14 , wherein the layer-3 headers fields are IPv4 or IPv6 source/destination IP address, Type of Service (TOS) field or flow label.

17. The method for layer-2 to layer-7 search engine for high-speed network application according to claim 14 , wherein the layer-4 bytes are TCP source/destination port number, UDP source/destination port number, and IPSec (IP Security) field.

18. The method for layer-2 to layer-7 search engine for high-speed network application according to claim 14 , wherein the layer-7 bytes are application specified fields.

19. The method for layer-2 to layer-7 search engine for high-speed network application according to claim 11 , further comprising storing the data packets into a plurality of queues.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2017
From: CORTINA ACCESS, INC.
To: REALTEK SINGAPORE PTE LTD
Reel/Frame 041257/0577 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 3, 2014
From: CORTINA SYSTEMS, INC.
To: CORTINA ACCESS, INC.
Reel/Frame 033885/0720 →
Continuity (3)
Continuation 11775833 · Jul 10, 2007
Provisional Application 60807992 · Jul 21, 2006
Related Publication 20110080913A1 · Apr 7, 2011