Dataplane Service in short form dpservice is a L3 virtual router with basic L2 capabilites and with IP in IPv6 tunneling for the uplink traffic. It uses SRIOV based Virtual Functions as its virtual ports. A virtual machine or a bare metal machine (In case dpservice running directly on SmartNIC) can be plugged to SRIOV VFs.
-
It can operate in offloaded and non-offloaded mode.
-
Uses DPDK Graph Framework for the data plane.
-
rte_flow offloading between the Virtual Machines(VMs) on a single hypervisor and ip in ipv6 decap/encap offloading between hypervisors.
-
GRPC support to add virtual network interfaces and routes. There is a C++ based GRPC test client (CLI) which can connect to the GRPC server. See the examples under docs.
-
There is also a golang based GRPC client which is easier to use.
-
A kubernetes controller abstraction on top of the provided GRPC interface is availiable as well. It is called metalnet.
-
DHCPv4, DHCPv6, Neighbour Discovery, ARP protocols supported (Sub-set implementations.).
-
IPv4 and IPv6 overlay support.
-
Virtual IP support for the virtual network interfaces.
-
Loadbalancer support with maglev hashing.
-
Horizantally scalable NAT Gateway support.
For more details please refer to documentation folder docs
We`d love to get a feedback from you. Please report bugs, suggestions or post question by opening a Github issue