EP1438818A2

Method and apparatus for a data packet classifier using a two-step hash matching process

Abstract

In one embodiment, a processor is provided. The processor includes at least two cores, where each of the cores include a first level cache memory. Each of the cores are multi-threaded. In another embodiment, each of the cores includes four threads. In another embodiment a crossbar is included. A plurality of cache bank memories in communication with the at cores through the crossbar is provided. Each of the plurality of cache bank memories are in communication with a main memory interface. In another embodiment a buffer switch core in communication with each of the plurality of cache bank memories is also included. A server and a method for optimizing the utilization of a multithreaded processor core are also provided.

Term

Term ended

Projected expiry passed 21 October 2022, 3.9 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

20 claims: 4 independent, 16 dependent

  1. 1
    Claims of equivalent WO 03036902 A2 What is claimed is:1. A method for efficiently classifying packets for a multi-processor/mutli-thread environment, comprising: receiving a packet;extracting header information from the received packet;calculating a first hash value;determining a field of interest in a lookup table from the first hash value;calculating a second hash value;comparing the second hash value to stored hash values in the field of interest of the lookup table to determine a match between the second hash value and one of the values in the field of interest of the lookup table;and if there is a match, transmitting the received packet to a processor corresponding to the one of the values in the row location of the lookup table.
  2. 8
    A method for performing optimistic hash matching, comprising:defining a lookup table having a plurality of values stored therein, each of the plurality of values being associated with at least one processor;receiving a packet;extracting a key from the packet;calculating a first hash value and a second hash value from the key;identifying a field of interest within the lookup table corresponding to the first hash value;comparing the second hash value to values within the field of interest to identify a match between the second hash value and one of the values within the field of interest;and sending the received packet to a processor corresponding to the one of the values within the field of interest.
  3. 14
    A network interface card, comprising:circuitry for receiving a packet;packet classifier circuitry, the packet classifier circuitry configured to calculate a first hash value and a second hash value from fields of a packet header of the received packet, the first hash value indicating a field of interest associated with a lookup table in communication with the network interface card, the second hash value matching a value within the field of interest to identify a processor assigned to the packet;and circuitry for transmitting the packet to a queue associated with the processor assigned to the packet.
  4. 17
    A system for efficiently classifying packets in a multicore/multithread environment, comprising:a multi-processor chip in communication with the semiconductor chip capable of storing data, the multi-processor chip including, a plurality of processor cores;a network interface card (NIC) for receiving a packet from a network;the NIC having packet classifier circuitry, the packet classifier circuitry configured to calculate a first hash value and a second hash value from a packet header of the packet, the first hash value indicating a field of interest in a table, the second hash value identifying data at a location in the field of interest, the data indicating one of the plurality of processor cores for the packet to be sent to;and a semiconductor chip configured to store data associated with the table, the semiconductor chip in communication with the multi-processor chip.