Receive packet steering for virtual networks
US-9356866-B1 · May 31, 2016 · US
US2016380848A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2016380848-A1 |
| Application number | US-201514750248-A |
| Country | US |
| Kind code | A1 |
| Filing date | Jun 25, 2015 |
| Priority date | Jun 25, 2015 |
| Publication date | Dec 29, 2016 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Systems and methods are disclosed to provide packet copy management for service chain processing within virtual processing systems. A packet manager virtual machine (VM) controls access to shared memory that stores packet data for packets being processed by service chain VMs operating within a virtual processing environment. For certain embodiments, the packet manager VM is configured to appear as a destination NIC (network interface controller), and virtual NICs (vNICs) within the service chain VMs are configured to process packet data using pointers to access the packet data within the shared memory. Once packet data is processed by one service chain VM, the next service chain VM within the service chain is able to access the processed packet data within the shared memory through the packet manager VM. Once all service chain processing has completed, the resulting packet data is available from the shared memory for further use or processing.
Opening claim text (preview).
What is claimed is: 1 . A method to manage packets for service chain processing, comprising: operating a plurality of virtual machines (VMs) within a virtualization layer running on at least one processing device, the plurality of VMs comprising a packet manager VM and at least two service chain VMs, the service chain VMs being configured to process received packets in a predetermined order; receiving a network packet at the packet manager VM; storing packet data for the network packet within a shared memory for the packet manager VM; processing the packet data with the service chain VMs in the predetermined order using address pointers to access the packet data within the shared memory and without copying the packet data to memory associated with the service chain VMs; and transmitting the processed packet data from the packet manager VM to another destination. 2 . The method of claim 1 , further comprising providing a virtual network interface controller (vNIC) for each of the plurality of VMs and using the vNICs to communicate the pointers. 3 . The method of claim 2 , using receive queues within the vNICs for the service chain VMs to store receive address pointers for packet data within the shared memory to be processed by the service chain VMs, and using transmit queues within the vNICs for the service chain VMs to store transmit address pointers for packet data within the shared memory that has been processed by the service chain VMs. 4 . The method of claim 3 , further comprising controlling the predetermined order with the packet manager VM by controlling storage of the receive address pointers using the packet manager VM. 5 . The method of claim 1 , wherein the transmitting comprises transmitting the processed packet data to a packet analysis tool. 6 . The method of claim 5 , wherein the packet analysis tool comprises an additional virtual machine (VM) operating within the virtualization layer and configured to analyze the processed packet data. 7 . The method of claim 1 , wherein the at least one processing device is located within a first server system, and wherein the destination is a virtual machine (VM) operating within a second virtualization layer running on at least one processing device located in a second server system. 8 . The method of claim 7 , further comprising operating a plurality of second VMs within the second virtualization layer, the plurality of second VMs comprising a second packet manager VM and a at least two additional service chain VMs. 9 . The method of claim 1 , further comprising tracking a state of the packet data with respect to processing by the service chain VMs using the packet manager VM. 10 . The method of claim 9 , further comprising adding a tag to the packet data within the packet manager VM to track the state of the packet data. 11 . The method of claim 1 , further comprising applying one or more packet filters to the packets received by the packet manager VM. 12 . The method of claim 11 , further comprising using the one or more packet filters within the packet manager VM to determine in part whether packet data is processed by one or more of the service chain VMs. 13 . A system to manage packets for service chain processing, comprising: at least one processing device configured to provide a virtualization layer for a plurality of virtual machines (VMs); at least two service chain VMs configured to operate within the virtualization layer, the service chain VMs being configured to process received packets in a predetermined order; a packet manager VM configured to operate within the virtualization layer, the packet manager VM being configured to receive packets being processed by the service chain VMs; and a shared memory included within the packet manager VM configured to store packet data for packets being processed by the service chain VMs; wherein the service chain VMs are configured to use address pointers to access the packet data within the shared memory without copying the packet data to memory associated with the service chain VMs; and wherein the packet manager VM is further configured to provide processed packet data to another destination. 14 . The system of claim 13 , wherein each of the service chain VMs and the packet manager VM comprises a virtual network interface controller (vNIC) configured to communicate the pointers. 15 . The system of claim 14 , further comprising receive queues within the vNICs for the service chain VMs configured to store receive address pointers for packet data within the shared memory to be processed by the service chain VMs, and transmit queues within the vNICs for the service chain VMs configured to store transmit address pointers for packet data within the shared memory that has been processed by the service chain VMs. 16 . The system of claim 15 , wherein the packet manager VM is further configured to control the predetermined order by controlling storage of the receive address pointers. 17 . The system of claim 13 , wherein the destination comprises a packet analysis tool. 18 . The system of claim 17 , wherein the packet analysis tool comprises an additional virtual machine (VM) configured to operate within the virtualization layer and to analyze the processed packet data. 19 . The system of claim 13 , wherein the at least one processing device is located within a first server system, and wherein the destination comprises a virtual machine (VM) configured to operate within a second virtualization layer running on at least one processing device located in a second server system. 20 . The system of claim 19 , further comprising a plurality of second VMs configured to operate within the second virtualization layer, the plurality of second VMs comprising a second packet manager VM and a at least two additional service chain VMs. 21 . The system of claim 13 , wherein the packet manager VM is further configured to track a state of the packet data with respect to processing by the service chain VMs. 22 . The system of claim 21 , wherein the packet manager VM is further configured to add a tag to the packet data to track the state of the packet data. 23 . The system of claim 13 , wherein the packet manager VM is further configured to apply one or more packet filters to the packets received by the packet manager VM. 24 . The system of claim 23 , wherein the one or more packet filters are configured to determine in part whether packet data is processed by one or more of the service chain VMs.
Hypervisor-specific management and integration aspects · CPC title
Network monitoring probes · CPC title
wherein the managed service relates to voice services (management of VoIP services H04M7/0081) · CPC title
for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title
Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.