jinrou / yanet

A high performance framework for forwarding traffic based on DPDK

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

  • 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

Quick Start

You can build YANET in docker container and run it with virtual ports. See DEMO.

Or build on bare metal. See documentation.

Running Autotests

$ 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

Dependencies

License

Apache License, Version 2.0

Contributing

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

About

A high performance framework for forwarding traffic based on DPDK

License:Other


Languages

Language:C++ 90.7%Language:Python 4.8%Language:C 1.5%Language:Yacc 1.3%Language:Lex 0.9%Language:Meson 0.6%Language:Dockerfile 0.2%Language:Shell 0.1%Language:Makefile 0.0%