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