US2023396539A1PendingUtilityA1

Scalable routing and forwarding of packets in cloud infrastructure

Assignee: ORACLE INT CORPPriority: Oct 14, 2020Filed: Aug 14, 2023Published: Dec 7, 2023
Est. expiryOct 14, 2040(~14.2 yrs left)· nominal 20-yr term from priority
H04L 45/22H04L 45/586H04L 45/20H04L 45/566G06F 9/45558G06F 2009/45595H04L 45/42H04L 45/74H04L 45/24
70
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Techniques are disclosed for providing high performant packets processing capabilities in a virtualized cloud environment that enhance the scalability and high availability of the packets processing infrastructure. In certain embodiments disclosed herein, the VNICs functionality performed by network virtualization devices (NVDs) is offloaded from the NVDs to a fleet of computers, referred to as VNIC-as-a-Service System (or VNICaaS system). VNICaaS system is configured to provide Virtual Network Interface Cards (VNICs)-related functionality or service for multiple compute instances belonging to multiple tenants or customers of the CSPI. The VNICaaS system is capable of hosting multiple VNICs to process and transmit traffic in a distributed virtualized cloud networks environment. A single VNIC executed by the VNICaaS system can be used to process packets received from multiple compute instances.

Claims

exact text as granted — not AI-modified
What is claimed: 
     
         1 . A method comprising:
 receiving, by a packet processing system comprising a set of one or more host machines and a plurality of virtual network interface cards (VNICs), a packet originating from a first compute instance hosted on a first host machine, the first host machine being outside the packet processing system;   selecting, by the packet processing system, a particular host machine from the set of one or more host machines for processing the packet;   selecting, from a plurality of worker threads on the particular host machine, a particular worker thread for processing the packet;   processing the packet by the particular worker thread, wherein the processing comprises
 determining, based on information included in the packet, a VNIC from the plurality of VNICs to be used for forwarding the packet, and 
 determining a next-hop target to which the packet is to be forwarded using the VNIC and destination information included in the packet; and 
   causing, by the packet processing system, the packet to be forwarded to the next-hop target.   
     
     
         2 . The method of  claim 1 , wherein the packet originating from the first compute instance is received by a top-of-rack (TOR) switch included in the packet processing system. 
     
     
         3 . The method of  claim 1 , wherein the particular host machine from the set of one or more host machines is selected by a top-of-rack (TOR) switch included in the packet processing system based on an equal cost multipath algorithm. 
     
     
         4 . The method of  claim 1 , wherein the next-hop target is one of a virtual router, a service gateway, a dynamic routing gateway, an Internet gateway, and a network address translation gateway. 
     
     
         5 . The method of  claim 1 , wherein one or more virtual IP addresses are allocated for the VNIC and each of the one or more virtual IP address is associated with a forwarding rule. 
     
     
         6 . The method of  claim 1 , wherein the VNIC from the plurality of VNICs to be used for forwarding the packet is determined using a source information of the packet. 
     
     
         7 . The method of  claim 1 , wherein the next-hop target to which the packet is to be forwarded is determined using metadata associated with the VNIC, wherein metadata includes information identifying one or more forwarding rules of the VNIC or security and firewall rules of the VNIC. 
     
     
         8 . The method of  claim 1 , wherein the packet processing system receives the packet from a network virtualization device (NVD) associated with the first host machine, the NVD including a micro-VNIC that is configured to route the packet to the packet processing system. 
     
     
         9 . The method of  claim 8 , wherein the micro-VNIC directs the packet to a virtual internet protocol address of the VNIC. 
     
     
         10 . A packet processing system, comprising:
 one or more processors; and   a non-transitory computer-readable storage medium containing instructions which, when executed on the one or more processors, cause the one or more processors to perform operations including:
 receiving, by the packet processing system comprising a set of one or more host machines and a plurality of virtual network interface cards (VNICs), a packet originating from a first compute instance hosted on a first host machine, the first host machine being outside the packet processing system; 
 selecting a particular host machine from the set of one or more host machines for processing the packet; 
 selecting, from a plurality of worker threads on the particular host machine, a particular worker thread for processing the packet; 
 processing the packet by the particular worker thread, wherein the processing comprises
 determining, based on information included in the packet, a VNIC from the plurality of VNICs to be used for forwarding the packet, and 
 determining a next-hop target to which the packet is to be forwarded using the VNIC and destination information included in the packet; and 
 
 causing the packet to be forwarded to the next-hop target. 
   
     
     
         11 . The packet processing system of  claim 10 , wherein the packet originating from the first compute instance is received by a top-of-rack (TOR) switch included in the packet processing system. 
     
     
         12 . The packet processing system of  claim 10 , wherein a top-of-rack (TOR) switch included in the packet processing system selects the particular host machine from the set of one or more host machines based on an equal cost multipath algorithm. 
     
     
         13 . The packet processing system of  claim 10 , wherein the next-hop target is one of a virtual router, a service gateway, a dynamic routing gateway, an Internet gateway, and a network address translation gateway. 
     
     
         14 . The packet processing system of  claim 10 , wherein one or more virtual IP addresses are allocated for the VNIC and each of the one or more virtual IP address is associated with a forwarding rule. 
     
     
         15 . The packet processing system of  claim 10 , wherein the VNIC from the plurality of VNICs to be used for forwarding the packet is determined using a source information of the packet. 
     
     
         16 . The packet processing system of  claim 10 , wherein the next-hop target to which the packet is to be forwarded is determined using metadata associated with the VNIC, wherein metadata includes information identifying one or more forwarding rules of the VNIC or security and firewall rules of the VNIC. 
     
     
         17 . The packet processing system of  claim 10 , wherein the packet processing system receives the packet from a network virtualization device (NVD) associated with the first host machine, the NVD including a micro-VNIC that is configured to route the packet to the packet processing system. 
     
     
         18 . The packet processing system of  claim 17 , wherein the micro-VNIC directs the packet to a virtual internet protocol address of the VNIC. 
     
     
         19 . One or more computer readable non-transitory media storing computer-executable instructions that, when executed by one or more processors, cause:
 receiving, by a packet processing system comprising a set of one or more host machines and a plurality of virtual network interface cards (VNICs), a packet originating from a first compute instance hosted on a first host machine, the first host machine being outside the packet processing system;   selecting, by the packet processing system, a particular host machine from the set of one or more host machines for processing the packet;   selecting, from a plurality of worker threads on the particular host machine, a particular worker thread for processing the packet;   processing the packet by the particular worker thread, wherein the processing comprises
 determining, based on information included in the packet, a VNIC from the plurality of VNICs to be used for forwarding the packet, and 
 determining a next-hop target to which the packet is to be forwarded using the VNIC and destination information included in the packet; and 
   causing, by the packet processing system, the packet to be forwarded to the next-hop target.   
     
     
         20 . The one or more computer readable non-transitory media storing computer-executable instructions of  claim 19 , wherein the packet originating from the first compute instance is received by a top-of-rack (TOR) switch included in the packet processing system.

Join the waitlist — get patent alerts

Track US2023396539A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.