Systems and methods using nic-based prefetching for host TCP context lookup
First Claim
1. A network interface controller, comprising:
- a hashing logic to generate a hashing value from a packet received from a network, the received packet having a context associated therewith;
a hash table pages table and a context table pages table for storing host memory physical page addresses of a host hash table and a host context table, respectively; and
a cache line determinator in communication with the host and the hashing logic, the cache line determinator being configured to associate the hash value with a host hash table cache line and a host context table cache line in a host memory using the hash table pages table and the context table pages table, respectively.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods using network interface card-based (NIC-based) prefetching for host TCP context lookup are disclosed. The process generally includes hashing, by the NIC, a packet received over the network, computing a host hash table cache line in a host memory using the hash value and using a hash table pages table containing host memory physical page addresses of a host hash table, and computing a host context table cache line in a host memory using the hash value and using a context table pages table containing host memory physical page addresses of a host context table. The NIC may be initialized with the hash table pages table and the context table pages table as well as with the a set number of hash node entries in the hash table of the host memory.
35 Citations
30 Claims
-
1. A network interface controller, comprising:
-
a hashing logic to generate a hashing value from a packet received from a network, the received packet having a context associated therewith;
a hash table pages table and a context table pages table for storing host memory physical page addresses of a host hash table and a host context table, respectively; and
a cache line determinator in communication with the host and the hashing logic, the cache line determinator being configured to associate the hash value with a host hash table cache line and a host context table cache line in a host memory using the hash table pages table and the context table pages table, respectively. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A network interface controller, comprising:
-
a hashing logic to generate a hashing value from a packet received from a network, the received packet having a context associated therewith;
a cache line determinator in communication with the hashing logic, the cache line determinator being configured to associate the hash value with a virtual host hash table cache line and a virtual host context table cache line in a memory of a host of the network interface controller, the network interface controller being configured to issue a pre-fetch of the host context table cache line and the host hash table cache lines to the host. - View Dependent Claims (9)
-
-
10. A method for processing incoming packets from a network, comprising:
-
hashing, by a network interface controller in communication with a host and a network, a packet received from the network, the packet having a context associated therewith to generate a hash value from context of the received packet;
computing a host hash table cache line in a host memory using the hash value and using a hash table pages table containing host memory physical page addresses of a host hash table; and
computing a host context table cache line in a host memory using the hash value and using a context table pages table containing host memory physical page addresses of a host context table. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A computer program product disposed on a computer readable medium to process packets, the program including instructions for causing at least one processor to:
-
hash, by a network interface controller in communication with a host and the network, a packet received from the network, the packet having a context associated therewith to generate a hash value from context of the received packet;
compute a host hash table cache line in a host memory using the hash value and using a hash table pages table containing host memory physical page addresses of a host hash table; and
compute a host context table cache line in a host memory using the hash value and using a context table pages table containing host memory physical page addresses of a host context table. - View Dependent Claims (18, 19, 20, 21)
-
-
22. A system, comprising:
-
a host CPU;
a host memory;
a network interface controller (NIC); and
a host bus to facilitate the host CPU, host memory, and the NIC to communicate therebetween, the NIC including;
a hashing logic to generate a hashing value from a packet received over a network, the received packet having a context associated therewith;
a hash table pages table and a context table pages table for storing host memory physical page addresses of a host hash table and a host context table, respectively, the host hash table and the host context tables being stored in the host memory; and
a cache line determinator in communication with the host bus and the hashing logic, the cache line determinator being configured to associate the hash value with a host hash table cache line and a host context table cache line in the host memory using the hash table pages table and the context table pages table, respectively. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30)
-
Specification