IP Library Granted Patent US 9,800,524
Granted Patent B1
US 9,800,524 · App. 14/864,323 · Granted Oct 24, 2017

Switching methods and systems for a network interface card

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 9,800,524
App. No.
14/864,323
Granted
Oct 24, 2017
Kind
B1
Abstract

Methods and systems for network communication are provided. One method includes, receiving a network packet at a first network interface card (NIC) operationally coupled to a computing device; identifying a second NIC as a destination for the network packet; placing the network packet by the first NIC at a host memory location, without utilizing resources of a processor of the computing device; notifying the second NIC that the network packet has been placed at the host memory location; retrieving the network packet by the second NIC from the host memory location; transmitting the network packet by the second NIC to another destination; notifying the first NIC by the second NIC that the packet has been transmitted by the second NIC; and freeing the host memory location by the first NIC.

Claims (42)

1. A machine implemented method, comprising:

receiving a network packet at a first network interface card (NIC) operationally coupled to a computing device;

identifying a second NIC as a destination for the network packet;

placing the network packet by the first NIC at a host memory location, without utilizing resources of a processor of the computing device;

notifying the second NIC that the network packet has been placed at the host memory location;

retrieving the network packet by the second NIC from the host memory location;

transmitting the network packet by the second NIC to another destination;

notifying the first NIC by the second NIC that the packet has been transmitted by the second NIC; and

freeing the host memory location by the first NIC.

2. The method of claim 1 , further comprising:

freeing up space at a send queue used for notifying the second NIC that the network packet has been placed at the host memory.

3. The method of claim 1 , wherein the first NIC and the second NIC are coupled to the computing device using a PCI-Express link.

4. The method of claim 1 , wherein the first NIC and the second NIC use an Ethernet based networking protocol for network communication.

5. The method of claim 1 , wherein the first NIC and the second NIC are converged network adapters that can process both network and storage traffic.

6. The method of claim 1 , wherein the first NIC maintains a data structure to determine that the second NIC is the destination for the network packet.

7. The method of claim 1 , wherein the computing device processes the network packet when a flow associated with the network packet is not offloaded to the first NIC.

8. A non-transitory, machine readable storage medium having stored thereon instructions for performing a method, comprising machine executable code which when executed by at least one machine, causes the machine to:

receive a network packet at a first network interface card (NIC) operationally coupled to a computing device;

identify a second NIC as a destination for the network packet;

place the network packet by the first NIC at a host memory location, without utilizing resources of a processor of the computing device;

notify the second NIC that the network packet has been placed at the host memory location;

retrieve the network packet by the second NIC from the host memory location;

transmit the network packet by the second NIC to another destination;

notify the first NIC by the second NIC that the packet has been transmitted by the second NIC; and

free the host memory location by the first NIC.

9. The non-transitory, storage medium of claim 8 , further causing the machine to:

free up space at a send queue used for notifying the second NIC that the network packet has been placed at the host memory.

10. The non-transitory, storage medium of claim 8 , wherein the first NIC and the second NIC are coupled to the computing device using a PCI-Express link.

11. The non-transitory, storage medium of claim 8 , wherein the first NIC and the second NIC use an Ethernet based networking protocol for network communication.

12. The non-transitory, storage medium of claim 8 , wherein the first NIC and the second NIC are converged network adapters that can process both network and storage traffic.

13. The non-transitory, storage medium of claim 8 , wherein the first NIC maintains a data structure to determine that the second NIC is the destination for the network packet.

14. The non-transitory, storage medium of claim 8 , wherein the computing device processes the network packet when a flow associated with the network packet is not offloaded to the first NIC.

15. A system comprising:

a computing device having a processor for executing instructions out of a host memory device and coupled to a first network interface card (NIC) and a second NIC;

wherein the first NIC receives a network packet at the first network interface card (NIC) operationally coupled to a computing device; identifies the second NIC as a destination for the network packet; places the network packet at a host memory location, without utilizing resources of the processor of the computing device; and notifies the second NIC that the network packet has been placed at the host memory location; and

wherein the second NIC retrieves the network packet from the host memory location; transmits the network packet to another destination; notifies the first NIC that the packet has been transmitted by the second NIC; and the first NIC frees the host memory location.

16. The system of claim 15 , wherein the first NIC frees up space at a send queue used for notifying the second NIC that the network packet has been placed at the host memory.

17. The system of claim 15 , wherein the first NIC and the second NIC are coupled to the computing device using a PCI-Express link.

18. The system of claim 15 , wherein the first NIC and the second NIC use an Ethernet based networking protocol for network communication.

19. The system of claim 15 , wherein the first NIC and the second NIC are converged network adapters that can process both network and storage traffic.

20. The system of claim 15 , wherein the first NIC maintains a data structure to determine that the second NIC is the destination for the network packet for network communication.

21. The system of claim 15 , wherein the computing device processes the network packet when a flow associated with the network packet is not offloaded to the first NIC.

Assignments (7)
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 Oct 8, 2018
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 047205/0953 →
RELEASE OF SECURITY INTEREST Recorded Jul 6, 2018
From: JP MORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: CAVIUM, INC; CAVIUM NETWORKS LLC; QLOGIC CORPORATION
Reel/Frame 046496/0001 →
MERGER Recorded Oct 18, 2017
From: QLOGIC CORPORATION
To: CAVIUM, INC.
Reel/Frame 044812/0504 →
SECURITY AGREEMENT Recorded Mar 1, 2017
From: QLOGIC CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 041854/0119 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2015
From: GOREN, NIR
To: QLOGIC CORPORATION
Reel/Frame 036649/0908 →