yanet-platform / yanet

A high performance framework for forwarding traffic based on DPDK
Other
164 stars 17 forks source link
cpp dpdk firewall networking router
YANET — software forwarding traffic

YANET

YANET is an open-source extensible framework for software forwarding traffic based on DPDK.

Introduction

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.

Features

Quick Start

You can build YANET in docker container and run it in QEMU. See DEMO.

Or build on bare metal. See documentation.

Running Autotests

Pull docker image:

docker pull yanetplatform/builder

Add alias for run commands on docker:

alias yanet-builder="docker run --rm -it -v /run/yanet:/run/yanet -v \$PWD:/project yanetplatform/builder"

Once setup build_autotest directory:

yanet-builder meson setup -Dtarget=autotest build_autotest

Compile:

yanet-builder meson compile -C build_autotest

Run autotest with all units in autotest/units/001_one_port:

yanet-builder ./autotest/yanet-autotest-run.py --prefix=build_autotest autotest/units/001_one_port

Or run one unit:

yanet-builder ./autotest/yanet-autotest-run.py --prefix=build_autotest autotest/units/001_one_port autotest/units/001_one_port/019_acl_decap_route

For more information about the autotests run:

yanet-builder ./autotest/yanet-autotest-run.py -h

Dependencies

License

Apache License, Version 2.0

Contributing

We are glad to welcome new contributors! See the CONTRIBUTING file for details.