Netris provides means for using an X86 server as a high-performance router capable of handling full Internet routing table, L4 load balancing, NAT, and VPN functions. Of course, the router is automatically operated through the Netris agent based on user-defined services and policies. Like in the case with L2/L3 switching, Netris agent is configuring FRR open-source routing daemon for BGP/EVPN, and regular Linux config files for interface and other system configuration.
Netris data-plane is a high-performance software running in the user-space developed using DPDK. It configures the system in a way that packets entering the NIC (network interface card) bypass Linux Kernel and go directly to the user-space application. So traffic from the NIC travels through PCIe bus to the closest CPU’s last level cache and then into one of 8 cores, all reserved for the data-plane application. Netris data-plane software processes the traffic for routing, load-balancing, NAT and makes necessary changes in the packet header (rewrites mac/VLAN-id) then returns the packet to the NIC, which sends it further into the switch.
The server has to have 2 x Intel CPUs (8+ cores each). One CPU (closest to the SmartNIC card) is being reserved for the data-plane process only (OS will report 100% CPU usage). Another CPU is used for running Linux OS, routing control plane (FRR), Netris agent, and other standard Linux utilities.
Netris agents can also configure wireguard to form full mesh VPN tunnels between customer sites and then run necessary dynamic routing such that multiple locations can communicate over the Internet using encrypted tunnels.