IP Library Granted Patent US 11,509,750
Granted Patent B2
US 11,509,750 · App. 16/132,424 · Granted Nov 22, 2022

Network switching with co-resident data-plane and network interface controllers

Inventors: Wilson Parkhurst Snyder, II (Holliston, MA); Muhammad Raghib Hussain (Saratoga, CA)
Assignee: Marvell Asia Pte, Ltd.
H04L69/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 11,509,750
App. No.
16/132,424
Granted
Nov 22, 2022
Kind
B2
Abstract

A system with co-resident data-plane and network interface controllers embodying a method for network switching of a data packet incoming from a network at a packet input processor portion of a network interface resource comprising the packet input processor, a packet output processor, and a network interface controller, implemented on a chip, to a target entity, is disclosed. Additionally, the system embodying a method for network switching of a data packet outgoing from an internal facing interface of a network interface controller portion of the network interface resource to a network is disclosed.

Claims (54)

1. A method for network switching with co-resident data-plane processors and a network interface controller, comprising:

receiving a packet from a network at a medium access controller;

determining by the medium access controller whether the packet should be provided to a data-plane packet input processor or to the network interface controller of a network interface resource comprising: the data-plane packet input processor, a data-plane packet output processor, and the network interface controller, implemented on a chip;

providing the packet to the data-plane packet input processor according to the determining;

determining by the data-plane packet input processor that a target entity of the packet is not capable of instantiating or does not instantiate a data-plane; and

in accordance with the determination that the target entity is not capable of instantiating or does not instantiate a data-plane, providing the packet to the target entity via the data-plane packet output processor, a loopback entity and the network interface controller.

2. The method as claimed in claim 1 , wherein:

the determining by the medium access controller whether the packet should be provided to the data-plane packet input processor or to the network interface controller of the network interface resource comprises determining a content of the packet by the medium access controller; and

providing the packet to the data-plane packet input processor according to the determining comprises providing the packet to the data-plane packet input processor in accordance with the determined content of the packet.

3. The method as claimed in claim 2 , wherein the content of the packet is a source address or a destination address; and

providing the packet to the data-plane packet input processor is in accordance with the source address or the destination address.

4. The method as claimed in claim 1 , wherein:

the determining by the medium access controller whether the packet should be provided to the data-plane packet input processor or to the network interface controller of a network interface resource comprises determining a state of a register; and

providing the packet to the data-plane packet input processor according to the determining comprises providing the packet to the data-plane packet input processor in accordance with the state of the register.

5. The method as claimed in claim 4 , wherein the state of the register represents a static assignment that associates an input port of the medium access controller with the data-plane packet input processor or the network interface controller; and

providing the packet to the data-plane packet input processor is in accordance with the static assignment.

6. The method as claimed in claim 1 , wherein:

the determining by the medium access controller whether the packet should be provided to the data-plane packet input processor or to the network interface controller of a network interface resource comprises determining a state of a register and determining a content of the packet; and

providing the packet to the data-plane packet input processor according to the determining comprises providing the packet to the data-plane packet input processor in accordance with the state of the register and the content of the packet.

7. The method as claimed in claim 1 , further comprising:

processing the packet by the data-plane packet input processor to determine a target entity;

providing the packet processed by the data-plane packet input processor to a storage;

requesting the packet from the storage by the target entity; and

processing the packet by a packet handling entity in accordance with a packet management policy.

8. The method as claimed in claim 7 , wherein the processing the packet by the packet handling entity in accordance with the packet management policy comprises:

discarding the packet.

9. The method as claimed in claim 7 , wherein the processing the packet by the packet handling entity in accordance with the packet management policy comprises:

providing the packet to a different destination entity than the target entity.

10. The method as claimed in claim 7 , wherein the processing the packet by the packet handling entity in accordance with the packet management policy comprises:

providing the packet to the target entity via the data-plane packet input processor.

11. The method as claimed in claim 7 , wherein the processing the packet by the packet handling entity in accordance with the packet management policy comprises:

providing the packet to the target entity via the data-plane packet output processor, a loopback entity, and the network interface controller.

12. The method as claimed in claim 7 , wherein the processing the packet by the packet handling entity in accordance with the packet management policy comprises:

switching the packet route on layer 2 and layer 3.

13. The method as claimed in claim 1 , wherein:

the medium access controller is not included in the network interface controller; and

the medium access controller determines whether the packet should be provided to the data-plane packet input processor or to the network interface controller prior to the packet being received by the data-plane packet input processor or by the network interface controller.

14. A network interface resource comprising:

a data-plane packet input processor;

a network interface controller; and

a medium access controller configured to:

receive a packet from a network;

determine, based on a content of the packet or a state of a register, whether the packet should be provided to the data-plane packet input processor or to the network interface controller;

provide the packet to the data-plane packet input processor according to the determining;

wherein the data-plane packet input processor is configured to:

determine that a target entity of the packet is not capable of instantiating or does not instantiate a data-plane; and

in accordance with the determination that the target entity is not capable of instantiating or does not instantiate a data-plane, provide the packet to the target entity via the data-plane packet output processor, a loopback entity and the network interface controller.

15. The network interface resource as claimed in claim 14 , wherein:

the medium access controller is not included in the network interface controller; and

the medium access controller is configured to determine whether the packet should be provided to the data-plane packet input processor or to the network interface controller prior to the packet being received by the data-plane packet input processor or by the network interface controller.

16. The network interface resource as claimed in claim 14 , wherein the content of the packet is a source address or a destination address; and

the medium access controller is configured to provide the packet to the data-plane packet input processor in accordance with the source address or the destination address.

17. The network interface resource as claimed in claim 14 , wherein the state of the register represents a static assignment that associates an input port of the medium access controller with the data-plane packet input processor or the network interface controller; and

the medium access controller is configured to provide the packet to the data-plane packet input processor in accordance with the static assignment.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053179/0320 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2020
From: CAVIUM, LLC
To: CAVIUM INTERNATIONAL
Reel/Frame 051948/0807 →
CHANGE OF NAME Recorded Dec 12, 2019
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 051260/0567 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2018
From: SNYDER, WILSON PARKHURST, II; HUSSAIN, MUHAMMAD RAGHIB
To: CAVIUM, INC.
Reel/Frame 046885/0038 →
Continuity (2)
Division 14542485 · Nov 14, 2014
Related Publication 20190028576A1 · Jan 24, 2019