Packet Copy Management For Service Chain Processing Within Virtual Processing Systems
First Claim
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.
3 Assignments
0 Petitions
Accused Products
Abstract
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.
-
Citations
24 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
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. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
Specification