YANET is an open-source extensible framework for software forwarding traffic based on DPDK.
The main objective of our solution is to be fault-tolerant and high-performance traffic processor. This is achieved due to the absence of context switching, no data race, constant complexity of algorithms, lockless.
- IPv4/IPv6 routing
- ECMP with weight
- MPLS encapsulation
- Dot1q ethernet encapsulation
- IPFW compatible ruleset with extensions
- Stateful firewall
- Layer-4 load balancer
- IPIP tunnel
- NAT64 stateless/stateful
- Telemetry via telegraf
- Over 200Gbps network bandwidth
- Advanced autotests
You can build YANET in docker container and run it with virtual ports. See DEMO.
Or build on bare metal. See documentation.
$ cd yanet
$ docker run --rm -it -v $PWD:/project yanetplatform/builder
# meson setup --prefix=/usr -Dtarget=autotest build_autotest
# meson compile -C build_autotest
# meson install -C build_autotest
# yanet-autotest-run.py autotest/units/001_one_port
or
# yanet-autotest-run.py autotest/units/001_one_port autotest/units/001_one_port/019_acl_decap_route
We are glad to welcome new contributors! See the CONTRIBUTING file for details.