IP Library Granted Patent US 9,692,642
Granted Patent B2
US 9,692,642 · App. 14/190,368 · Granted Jun 27, 2017

Offloading to a network interface card

Inventor: Jiri Pirko (Chocen, CZ)
Assignee: Red Hat, Inc.
H04L41/0806H04L47/193H04L47/32
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,692,642
App. No.
14/190,368
Granted
Jun 27, 2017
Kind
B2
Abstract

A processing device sends a set of executable instructions to a network interface controller (NIC). The processing device accesses a report generated by the NIC after the NIC has executed at least one instruction from the set of executable instructions.

Claims (43)

1. A method, comprising:

identifying a set of rules associated with a network communication function of a network interface controller (NIC), wherein the NIC comprises preloaded instructions, the set of rules comprises a policy for handling network traffic that is at least one of incoming or outgoing, and the set of rules relates to one or more of Transmission Control Protocol (TCP) offloading, implementing a firewall, or virtual local area network (VLAN) handling;

generating, by a hardware processing device, a set of executable instructions in view of the set of rules, the set of executable instructions comprising an indicator of an order that the NIC is to execute the set of executable instructions in relation to the preloaded instructions, the order indicating that the NIC is to execute the set of executable instructions after the NIC executes a first portion of the preloaded instructions and before the NIC executes a second portion of the preloaded instructions;

sending the set of executable instructions to the NIC, wherein the NIC is to execute the set of executable instructions and the preloaded instructions in view of the order; and

accessing a report generated by the NIC after the NIC has executed at least one instruction from the set of executable instructions.

2. The method of claim 1 , wherein the set of executable instructions relate to the TCP offloading.

3. The method of claim 1 , wherein the set of executable instructions relate to implementation of the firewall.

4. The method of claim 1 , wherein the set of executable instructions relate to the VLAN handling.

5. The method of claim 1 further comprising compiling the set of executable instructions into binary code that is executable by the NIC.

6. The method of claim 1 , wherein the report generated by the NIC comprises data related to at least one of a packet drop or a modification to a packet.

7. The method of claim 1 , further comprising:

receiving an interrupt from the NIC in response to a predefined condition detected by the NIC;

generating an additional instruction pertaining to the predefined condition for the NIC in response to the interrupt; and

sending the additional instruction to the NIC.

8. The method of claim 1 , wherein the preloaded instructions comprise firmware.

9. A non-transitory computer readable storage medium having instructions that, when executed by a hardware processing device, cause the hardware processing device to:

identify a set of rules associated with a network communication function of a network interface controller (NIC), wherein the NIC comprises preloaded instructions, the set of rules comprises a policy for handling network traffic that is at least one of incoming or outgoing, and the set of rules relates to one or more of Transmission Control Protocol (TCP) offloading, implementing a firewall, or virtual local area network (VLAN) handling;

generate, by the hardware processing device, a set of executable instructions in view of the set of rules, the set of executable instructions comprising an indicator of an order that the NIC is to execute the set of executable instructions in relation to the preloaded instructions, the order indicating that the NIC is to execute the set of executable instructions after the NIC executes a first portion of the preloaded instructions and before the NIC executes a second portion of the preloaded instructions;

send the set of executable instructions to the NIC, wherein the NIC is to execute the set of executable instructions and the preloaded instructions in view of the order; and

access a report generated by the NIC after the NIC has executed at least one instruction from the set of executable instructions.

10. The non-transitory computer readable storage medium of claim 9 , the hardware processing device is further to compile the set of executable instructions into binary code that is executable by the NIC.

11. The non-transitory computer readable storage medium of claim 9 , wherein the report generated by the NIC comprises data related to at least one of a packet drop or a modification to a packet.

12. The non-transitory computer readable storage medium of claim 9 , the hardware processing device is further to:

receive an interrupt from the NIC in response to a predefined condition detected by the NIC;

generate an additional instruction pertaining to the predefined condition for the NIC in response to the interrupt; and

send the additional instruction to the NIC.

13. The non-transitory computer readable storage medium of claim 9 , wherein the preloaded instructions comprise firmware.

14. A computing device comprising:

a memory to store a set of executable instructions; and

a hardware processing device operatively coupled to the memory, the hardware processing device to:

identify a set of rules associated with a network communication function of a network interface controller (NIC), wherein the NIC comprises preloaded instructions, the set of rules comprises a policy for handling network traffic that is at least one of incoming or outgoing, and the set of rules relates to one or more of Transmission Control Protocol (TCP) offloading, implementing a firewall, or virtual local area network (VLAN) handling;

generate the set of executable instructions in view of the set of rules, the set of executable instructions comprising an indicator of an order that the NIC is to execute the set of executable instructions in relation to the preloaded instructions, the order indicating that the NIC is to execute the set of executable instructions after the NIC executes a first portion of the preloaded instructions and before the NIC executes a second portion of the preloaded instructions;

send the set of executable instructions to the NIC, wherein the NIC is to execute the set of executable instructions and the preloaded instructions in view of the order; and

access a report generated by the NIC after the NIC has executed at least one instruction from the set of executable instructions.

15. The computing device of claim 14 , wherein the set of executable instructions relate to the TCP offloading.

16. The computing device of claim 14 , wherein the set of executable instructions relate to implementation of the firewall.

17. The computing device of claim 14 , the hardware processing device further to compile the set of executable instructions into binary code that is executable by the NIC.

18. The computing device of claim 14 , wherein the report generated by the NIC comprises data related to at least one of a packet drop or a modification to a packet.

19. The computing device of claim 14 , the hardware processing device further to:

receive an interrupt from the NIC in response to a predefined condition detected by the NIC;

generate an additional instruction pertaining to the predefined condition for the NIC in response to the interrupt; and

send the additional instruction to the NIC.

20. The computing device of claim 14 , wherein the preloaded instructions comprise firmware.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2014
From: PIRKO, JIRI
To: RED HAT, INC.
Reel/Frame 032307/0285 →
Continuity (1)
Related Publication 20150244574A1 · Aug 27, 2015