IP Library › Granted Patent US 10,951,525
Granted Patent B2
US 10,951,525 · App. 16/383,591 · Granted Mar 16, 2021

Availability of context information for packet processing

Inventor: Anil Vasudevan (Portland, OR)
Assignee: Intel Corporation
H04L45/7457H04L45/306H04L45/54H04L69/163H04L69/22
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 10,951,525
App. No.
16/383,591
Granted
Mar 16, 2021
Kind
B2
Abstract

Some examples provide for storage of context information in memory in the process of creating a network connection and subsequent availability of the context information. A context address can refer to context for a packet processing path. A host can provide a context address and associated packet characteristics to a network interface device. If the network interface device receives a packet with the characteristics, the context address can be passed to the host and the host can retrieve the context information using the context address.

Claims (45)

1. An apparatus comprising a network interface, the network interface comprising:

a memory and

at least one processor, the at least one processor to:

store a look-up table, the look-up table comprising at least one entry, wherein the at least one entry comprises packet characteristics and an associated context pointer and wherein the packet characteristics and the associated context pointer are to program the network interface to monitor for one or more flows corresponding to the packet characteristics;

determine if a packet has characteristics matching content of an entry stored in the look-up table; and

in response to the packet having characteristics matching content of an entry stored in the look-up table, provide an associated context pointer for the matched entry for prefetch of context information related to the packet, wherein:

the at least one processor is to cause a prefetch of one or more context information associated with the packet into a processor cache,

to cause a prefetch of one or more context information associated with the packet into the processor cache comprises cause copying of context information prior to processing of the context information.

2. The apparatus of claim 1 , wherein the processor cache comprises a level 1 cache.

3. The apparatus of claim 1 , wherein the characteristics comprise one or more of: destination media access control (MAC) address, IPv4 source address, IPv4 destination address, portion of a transmission control protocol (TCP) header, Virtual Extensible LAN protocol (VXLAN) tag, receive port, or transmit port.

4. The apparatus of claim 1 , wherein the context pointer comprises a memory address pointer to a start of a group of one of more context pointers to one or more context information, wherein the one or more context information comprise one or more of: a media access control (MAC) context, IPv4 context, transmission control protocol (TCP) context, socket context, or an application context.

5. The apparatus of claim 1 , wherein the packet comprises a received packet or a transmit packet.

6. The apparatus of claim 1 , wherein the look-up table is stored in the memory.

7. The apparatus of claim 1 , wherein the look-up table is stored in a host system memory.

8. The apparatus of claim 1 , wherein the context information is stored in the memory.

9. The apparatus of claim 1 , wherein the context information is stored in a host system memory.

10. The apparatus of claim 1 , wherein the network interface is coupled to a server computing platform, a host computer, a rack, or a data center.

11. The apparatus of claim 1 , wherein the at least one processor to:

copy at least a payload of the packet into the processor cache.

12. A method comprising:

at a network interface:

storing at least one entry, wherein the at least one entry comprises packet characteristics and an associated context pointer;

monitoring for receipt of at least one packet that includes characteristics corresponding to content of an entry;

based on a received packet including characteristics corresponding to content of an entry, providing, to a host system a context address related to context information associated with the received packet, the context information associated at least with network protocol processing; and

causing a prefetch of one or more context information associated with the received packet into a processor cache, wherein causing a prefetch of one or more context information associated with the received packet into the processor cache comprises causing copying of context information prior to processing of the context information.

13. The method of claim 12 , wherein at least one context information comprises one or more of: a media access control (MAC) context, IPv4 context, transmission control protocol (TCP) context, socket context, or an application context.

14. The method of claim 12 , wherein the context address comprises a memory address pointer to a start of a group of one of more context pointers to one or more context information, wherein the one or more context information comprise one or more of: a media access control (MAC) context, IPv4 context, transmission control protocol (TCP) context, socket context, or an application context.

15. The method of claim 12 , wherein the received packet comprises a packet received at the network interface or a packet provided for transmission from the network interface.

16. The method of claim 12 , comprising:

copying at least a payload of the received packet into the processor cache.

17. A system comprising:

a network interface comprising at least one processor and at least one memory;

a computing platform communicatively coupled to the network interface and comprising at least one processor and at least one memory, wherein:

the at least one processor of the network interface to:

store at least one entry, wherein the at least one entry comprises packet characteristics and an associated context address and wherein the packet characteristics and the associated context address are to program the network interface to monitor for one or more flows corresponding to the packet characteristics;

process a received packet to determine a context address associated with the received packet and

based on a stored entry including a context address associated with the received packet, provide a portion of the received packet and the context address from the stored entry to the computing platform, wherein:

the at least one processor of the network interface is to cause a prefetch of one or more context information associated with the received packet into a processor cache,

to cause a prefetch of one or more context information associated with the received packet into the processor cache comprises cause a copy of context information prior to processing of the context information;

the at least one processor of the computing platform to:

retrieve context information associated with the context address and

use a portion of the context information to process the received packet.

18. The system of claim 17 , wherein the context information comprises one or more of: a media access control (MAC) context, IPv4 context, transmission control protocol (TCP) context, socket context, or an application context.

19. The system of claim 17 , wherein the at least one processor of the network interface is to:

copy at least a payload of the received packet into the processor cache.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2019
From: VASUDEVAN, ANIL
To: INTEL CORPORATION
Reel/Frame 049581/0216 →
Continuity (2)
Provisional Application 62788470 · Jan 4, 2019
Related Publication 20190238460A1 · Aug 1, 2019
Cited By (1)
US 12,443,443