IP Library Granted Patent US 11,038,856
Granted Patent B2
US 11,038,856 · App. 16/142,871 · Granted Jun 15, 2021

Secure in-line network packet transmittal

Inventor: Richard E. Kessler (Shrewsbury, MA)
Assignee: MARVELL ASIA PTE, LTD.
H04L63/0485H04L49/506H04L49/9068H04L63/164
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 11,038,856
App. No.
16/142,871
Granted
Jun 15, 2021
Kind
B2
Abstract

A network processor provides for in-line encryption and decryption of received and transmitted packets. For packet transmittal, a processor core generates packet data for encryption and forwards an encryption instruction to a cryptographic unit. The cryptographic unit generates an encrypted packet, and enqueues a send descriptor to a network interface controller, which, in turn, constructs and transmits an outgoing packet. For received encrypted packets, the network interface controller communicates with the cryptographic unit to decrypt the packet prior to enqueuing work to the processor core, thereby providing the processor core with a decrypted packet.

Claims (14)

1. A circuit, comprising:

a packet processor, implemented in a hardware processor, configured to request a work queue entry, generate a packet from data indicated by the work queue entry, and selectively generate an encryption instruction for the packet;

an encryption engine configured, in response to the encryption instruction, to 1) encrypt the packet to generate an encrypted packet independent of operation by the packet processor, and 2) forward the encrypted packet and a send descriptor; and

a network interface controller configured to construct an outgoing packet from the encrypted packet based on the send descriptor received from the encryption engine;

wherein the packet processor is further configured to forward a pointer to the send descriptor to the encryption engine; and

wherein the encryption engine is further configured to locate the send descriptor based on the pointer and forward the send descriptor to the network interface controller.

2. The circuit of claim 1 , wherein the packet processor is further configured to 1) generate a non-secure packet, the non-secure packet not requiring encryption, and 2) forward a send descriptor corresponding to the non-secure packet to the network interface controller.

3. The circuit of claim 1 , wherein the encryption engine is further configured to 1) encrypt a successive packet to generate a successive encrypted packet, and 2) forward the successive encrypted packet to the packet processor.

4. The circuit of claim 3 , wherein the packet processor is further configured to forward the successive encrypted packet and a corresponding send descriptor to the network interface controller.

5. The circuit of claim 1 , wherein the encryption engine is further configured to forward an error message to the packet processor in response to detecting an error during generation of the encrypted packet.

6. The circuit of claim 5 , wherein the encryption engine is further configured to generate a queue entry indicating a request to process the error.

7. The circuit of claim 1 , wherein the encryption engine is further configured to selectively forward the send descriptor to the network interface controller based on the status of a network interface controller queue.

8. The circuit of claim 7 , wherein the network interface controller is further configured to selectively forward a backpressure command to at least one of the packet processor and the encryption engine based on the status of the network interface controller queue.

9. The circuit of claim 1 , wherein the packet processor is further configured to selectively forward the encryption instruction to the encryption engine based on the status of an encryption engine queue.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053475/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2020
From: MARVELL INTERNATIONAL LTD.
To: CAVIUM INTERNATIONAL
Reel/Frame 052918/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2020
From: MARVELL WORLD TRADE LTD.
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 051778/0537 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 30, 2019
From: MARVELL INTERNATIONAL LTD.
To: MARVELL WORLD TRADE LTD.
Reel/Frame 050225/0696 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 30, 2019
From: CAVIUM, LLC
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 050246/0009 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2018
From: KESSLER, RICHARD E.
To: CAVIUM, LLC
Reel/Frame 047438/0428 →
Continuity (1)
Related Publication 20200099669A1 · Mar 26, 2020