Configuring pNIC to perform flow processing offload using virtual port identifiers

US12192116B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12192116-B2
Application numberUS-202318235860-A
CountryUS
Kind codeB2
Filing dateAug 20, 2023
Priority dateSep 28, 2020
Publication dateJan 7, 2025
Grant dateJan 7, 2025

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Some embodiments of the invention provide a method for configuring a physical network card or physical network controller (pNIC) to provide flow processing offload (FPO) for a host computer connected to the pNIC. The host computers host a set of compute nodes in a virtual network. The set of compute nodes are each associated with a set of interfaces that are each assigned a locally-unique virtual port identifier (VPID) by a flow processing and action generator. The pNIC includes a set of interfaces that are assigned physical port identifiers (PPIDs) by the pNIC. The method includes providing the pNIC with a set of mappings between VPIDs and PPIDs. The method also includes sending updates to the mappings as compute nodes migrate, connect to different interfaces of the pNIC, are assigned different VPIDs, etc. In some embodiments, the flow processing and action generator executes on processing units of the host computer, while in other embodiments, the flow processing and action generator executes on a set of processing units of a pNIC that includes flow processing hardware and a set of programmable processing units.

First claim

Opening claim text (preview).

We claim: 1. A physical network interface card (PNIC) of a host computer executing a plurality of machines, the PNIC comprising: a plurality of interfaces; a flow processing offload (FPO) comprising: a mapping table storing a plurality of mappings with each mapping associating a virtual port identifier (VPID) of an interface of one machine executing on the host computer with a physical port identifier (PPID) of an interface of the PNIC; a flow entry table storing a plurality of flow entries, each flow entry in the plurality of flow entries associating a set of flow attributes with a VPID; and the FPO, for a received data message, (1) identifying a flow entry that specifies a VPID as a destination of the data message, and (2) using the identified VPID to identify a mapping in the mapping table that associates the identified VPID to a PPID of the PNIC interface that should be used as an egress interface of the PNIC for sending out the received data message. 2. The PNIC of claim 1 , wherein the plurality of mappings between VPIDs and PPIDs is received at the PNIC from a flow processing and action generator that generates the mappings based on configuration data regarding VPIDs and PPIDs received by the flow processing and action generator. 3. The PNIC of claim 1 , wherein the flow entries are received from the flow processing and action generator that processes a first data message in each data message flow to identifies a destination of the first data message, generates a flow entry based on the identified destination, and provides the flow entry for storing in the flow table for the data message flow for use for subsequent data messages of the data message flow. 4. The PNIC of claim 3 , further comprising at least one processing unit for executing the flow processing and action generator. 5. The PNIC of claim 3 , wherein the flow processing and action generator executes on one of said machines that executes on the host computer. 6. The PNIC of claim 1 , wherein the mapping table is stored in a content addressable memory unit. 7. The PNIC of claim 1 , wherein the flow entry is stored in a content addressable memory unit. 8. The PNIC of claim 1 , wherein at least one PNIC interface is a physical function (PF) of a bus that is used to connect the PNIC to the host computer. 9. The PNIC of claim 8 , wherein the PF connects to a software switch executing on the host computer. 10. The PNIC of claim 1 , wherein at least one PNIC interface is a virtual function (VF) associated with a bus that is used to connect the PNIC to the host computer. 11. The PNIC of claim 10 , wherein the VF communicates with an interface of one machine. 12. The PNIC of claim 11 , wherein the VF communicates with the machine interface through a VF driver that executes on the host computer. 13. A method for processing flows on a host computer comprising a physical network interface card (PNIC) and a plurality of interfaces, and executing a plurality of machines, the method comprising: storing, in a mapping table of a flow processing offload (FPO) of the PNIC, a plurality of mappings with each mapping associating a virtual port identifier (VPID) of an interface of one machine executing on the host computer with a physical port identifier (PPID) of an interface of the PNIC; storing, in a flow entry table of the FPO, storing a plurality of flow entries, each flow entry in the plurality of flow entries associating a set of flow attributes with a VPID; and configuring the FPO, for a received data message, (1) to identify a flow entry that specifies a VPID as a destination of the data message, and (2) to use the identified VPID to identify a mapping in the mapping table that associates the identified VPID to a PPID of the PNIC interface that should be used as an egress interface of the PNIC for sending out the received data message. 14. The method of claim 13 further comprising providing the plurality of mappings from a flow processing and action generator that generates the mappings based on configuration data regarding VPIDs and PPIDs received by the flow processing and action generator. 15. The method of claim 13 further comprising providing the flow entries from the flow processing and action generator that processes a first data message in each data message flow to identifies a destination of the first data message, generates a flow entry based on the identified destination, and provides the flow entry for storing in the flow table for the data message flow for use for subsequent data messages of the data message flow. 16. The method of claim 15 , wherein at least one processing unit of the PNIC executes the flow processing and action generator. 17. The method of claim 15 , wherein at least one processing unit of the host computer executes the flow processing and action generator. 18. The method of claim 13 , wherein the mapping table is stored in a content addressable memory unit. 19. The method of claim 13 , wherein the flow entry is stored in a content addressable memory unit. 20. The method of claim 13 , wherein at least one PNIC interface is a physical function (PF) of a bus that is used to connect the PNIC to the host computer.

Assignees

Inventors

Classifications

  • Address table lookup; Address filtering · CPC title

  • Virtual switches · CPC title

  • Integrated on microchip, e.g. switch-on-chip · CPC title

  • Centralised allocation of resources · CPC title

  • Flow based routing · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12192116B2 cover?
Some embodiments of the invention provide a method for configuring a physical network card or physical network controller (pNIC) to provide flow processing offload (FPO) for a host computer connected to the pNIC. The host computers host a set of compute nodes in a virtual network. The set of compute nodes are each associated with a set of interfaces that are each assigned a locally-unique virtu…
Who is the assignee on this patent?
VMware LLC
What technology area does this patent fall under?
Primary CPC classification H04L47/80. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jan 07 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).