Deep network slicing with virtualized programmable data-plane pipelines
This disclosure describes systems, methods, and apparatus for network slicing with programmable data-plane pipelines, comprising creating slice contexts, where creating the slice contexts comprises creating control-plane and data-plane data for each of a plurality of network slices, and storing the control-plane and the data-plane data to produce slice contexts, mapping resources of network switch hardware to the slice contexts to create a resource mapping, instantiating the plurality of network slices on the network switch hardware using the resource mapping, receiving frames from one or more external sources, identifying a network slice corresponding to each frame, and enriching a header of each of the frames, based upon the identification of the network slice for each frame, to direct each frame to a data-plane pipeline.
1. A method for network slicing with programmable data-plane pipelines, the method comprising:
creating slice contexts, wherein creating the slice contexts comprises:
creating control-plane data for each of a plurality of network slices;
creating data-plane data for each of the plurality of network slices; and
storing the control-plane data and the data-plane data for each of the plurality of network slices to produce slice contexts;
mapping resources of network switch hardware to the slice contexts to create a resource mapping for the slice contexts;
instantiating the plurality of network slices on the network switch hardware using the resource mapping;
receiving frames from one or more external sources;
identifying a network slice corresponding to each frame; and
enriching a header of each of the frames, based upon the identification of the network slice for each frame, to direct each frame to a data-plane pipeline.
2. The method of claim 1 , wherein the mapping of resources comprises allocating resources utilizing direct partitioning of network switch hardware.
3. The method of claim 1 , wherein the mapping of resources comprises allocating resources utilizing a slicer visor abstraction layer.
4. The method of claim 1 , wherein the mapping of resources comprises tailoring the mapping to specific network switch hardware based upon specified requirements.
5. The method of claim 1 comprising:
receiving network slice requirements from a 5G control plane;
wherein the creation of control-plane data and data-plane data is based upon the network slice requirements received from the 5G control plane to create a slice context defined by the 5G control plane.
6. The method of claim 1 , wherein the creation of control-plane data and data-plane data produces a slice context with capabilities beyond a 5G network.
7. The method of claim 1 wherein the instantiating the plurality of network slices on the network switch hardware comprises programming the network switch hardware based upon a type of slice defined by the data-plane data; wherein the method comprises:
triggering packet processing actions based on slice types.
8. The method of claim 1 wherein each of the data-plane pipelines comprises a slice-specific data-plane processing pipeline, and wherein each slice context is associated with a data plane program corresponding to one or more network slice requirements for a respective network slice.
9. The method of claim 8 , wherein the one or more network slice requirements comprise one or more of security, 5G traffic processing, 5G capability, 5G proximity to access networks, and storage.
10. A system configured for network slicing with programmable data-plane pipelines, comprising:
network switch hardware;
one or more hardware processors configured by machine-readable instructions to:
create slice contexts, wherein creating the slice contexts comprises:
create control-plane data for each of a plurality of network slices;
create data-plane data for each of the plurality of network slices; and
store the control-plane data and the data-plane data for each of the plurality of network slices to produce slice contexts;
map resources of the network switch hardware to the slice contexts to create a resource mapping for the slice contexts;
instantiate the plurality of network slices on the network switch hardware using the resource mapping;
receive frames from one or more external sources;
identify a network slice corresponding to each frame; and
enrich a header of each of the frames, based upon the identification of the network slice for each frame, to direct each frame to a data-plane pipeline.
11. The system of claim 10 , wherein the mapping of resources comprises allocating resources utilizing direct partitioning of network switch hardware.
12. The system of claim 10 , wherein the mapping of resources comprises allocating resources utilizing a slicer visor abstraction layer.
13. The system of claim 10 , wherein the mapping of resources comprises tailoring the mapping to specific network switch hardware based upon specified requirements.
14. The system of claim 10 , wherein the one or more hardware processors are further configured by machine-readable instructions to:
receive network slice requirements from a 5G control plane;
and wherein the creation of control-plane data and data-plane data is based upon the network slice requirements received from the 5G control plane to create a slice context defined by the 5G control plane.
15. The system of claim 10 , wherein the creation of control-plane data and data-plane data produces a slice context with capabilities beyond a 5G network.
16. The system of claim 10 , wherein the instantiating the plurality of network slices on the network switch hardware comprises programming the network switch hardware based upon a type of slice defined by the data-plane data;
and wherein the one or more hardware processors are further configured by machine-readable instructions to:
trigger packet processing actions based on slice types.
17. The system of claim 10 , wherein each of the data-plane pipelines comprises a slice-specific data-plane processing pipeline, and wherein each slice context is associated with a data plane program corresponding to one or more network slice requirements for a respective network slice.
18. The system of claim 17 , wherein the one or more network slice requirements comprise one or more of security, 5G traffic processing, 5G capability, 5G proximity to access networks, and storage.
19. A non-transitory, tangible processor readable storage medium, encoded with processor readable instructions to perform a method for network slicing with programmable data-plane pipelines, the method comprising:
creating slice contexts, wherein creating the slice contexts comprises:
creating control-plane data for each of a plurality of network slices;
creating data-plane data for each of the plurality of network slices; and
storing the control-plane data and the data-plane data for each of the plurality of network slices to produce slice contexts;
mapping resources of network switch hardware to the slice contexts to create a resource mapping for the slice contexts;
instantiating the plurality of network slices on the network switch hardware using the resource mapping;
receiving frames from one or more external sources;
identifying a network slice corresponding to each frame; and
enriching a header of each of the frames, based upon the identification of the network slice for each frame, to direct each frame to a data-plane pipeline.
20. The non-transitory computer-readable storage medium of claim 19 , wherein,
each of the data-plane pipelines comprises a slice-specific data-plane processing pipeline,
each slice context is associated with a data plane program corresponding to one or more network slice requirements for a respective network slice, and
the one or more network slice requirements comprise one or more of security, 5G traffic processing, 5G capability, 5G proximity to access networks, and storage.