All Projects → saaras-io → yastack

saaras-io / yastack

Licence: Apache-2.0 license
YAStack: User-space network-stack based on DPDK, FreeBSD TCP/IP Stack, EnvoyProxy

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
assembly
5116 projects
HTML
75241 projects
python
139335 projects - #7 most used programming language
objective c
16641 projects - #2 most used programming language

Projects that are alternatives of or similar to yastack

flightpath
XDS to run Envoy as an edge proxy for Consul Connect.
Stars: ✭ 15 (-83.33%)
Mutual labels:  envoy, envoyproxy, envoy-proxy
Ambassador
open source Kubernetes-native API gateway for microservices built on the Envoy Proxy
Stars: ✭ 3,583 (+3881.11%)
Mutual labels:  envoy, envoy-proxy
Gloo
The Feature-rich, Kubernetes-native, Next-Generation API Gateway Built on Envoy
Stars: ✭ 3,219 (+3476.67%)
Mutual labels:  envoy, envoy-proxy
BeLibnids
It is a platform to use multiprocess to combine dpdk and libnids together to support analyse packets in 10G port.
Stars: ✭ 36 (-60%)
Mutual labels:  dpdk, high-performance
ego-demo
Envoy filters in Go
Stars: ✭ 34 (-62.22%)
Mutual labels:  envoy, envoy-proxy
meshem
A simple implementation for Envoy's control plane
Stars: ✭ 22 (-75.56%)
Mutual labels:  envoy, envoy-proxy
Evpp
A modern C++ network library for developing high performance network services in TCP/UDP/HTTP protocols.
Stars: ✭ 2,850 (+3066.67%)
Mutual labels:  high-performance, libevent
envoy-proxy-demos
Set of Envoy Proxy feature demos (Envoy v2 API supported)
Stars: ✭ 63 (-30%)
Mutual labels:  envoy, envoy-proxy
Jupiter
Jupiter is a high-performance 4-layer network load balance service based on DPDK.
Stars: ✭ 292 (+224.44%)
Mutual labels:  dpdk, high-performance
Dpvs
DPVS is a high performance Layer-4 load balancer based on DPDK.
Stars: ✭ 2,168 (+2308.89%)
Mutual labels:  dpdk, kernel-bypass
gsmartcontrol
GSmartControl - Hard disk drive and SSD health inspection tool
Stars: ✭ 183 (+103.33%)
Mutual labels:  freebsd, hardware
proxy-wasm-cpp-host
WebAssembly for Proxies (C++ host implementation)
Stars: ✭ 55 (-38.89%)
Mutual labels:  envoy, envoyproxy
envoy-nats-streaming
No description or website provided.
Stars: ✭ 28 (-68.89%)
Mutual labels:  envoy, envoyproxy
sds
Envoy's v1 Service Discovery Service API and v2 Endpoint Discovery Service API
Stars: ✭ 22 (-75.56%)
Mutual labels:  envoy, envoyproxy
atlas
Secure Distributed Thanos Deployment using an Observability Cluster
Stars: ✭ 39 (-56.67%)
Mutual labels:  envoy, envoyproxy
Kuma
🐻 The Universal Service Mesh. CNCF Sandbox Project.
Stars: ✭ 2,516 (+2695.56%)
Mutual labels:  envoy, envoyproxy
image-hub
Image Hub is a sample application for exploring WebAssembly modules used as Envoy filters.
Stars: ✭ 56 (-37.78%)
Mutual labels:  envoyproxy, envoy-proxy
Rdrview
Firefox Reader View as a command line tool
Stars: ✭ 622 (+591.11%)
Mutual labels:  rss, freebsd
sriov-cni
DPDK & SR-IOV CNI plugin
Stars: ✭ 209 (+132.22%)
Mutual labels:  dpdk, high-performance
Fast float
Fast and exact implementation of the C++ from_chars functions for float and double types: 4x faster than strtod
Stars: ✭ 510 (+466.67%)
Mutual labels:  freebsd, high-performance

Build Status

yastack

YAStack brings the speed of F-stack to envoy proxy.

Envoy's modular C++ codebase, clear separation of control plane and its filter architecture provides a way to quickly add new functionality. F-stack's freebsd stack provides the ability to perform packet processing from L2-L6. This integration provides for a high-speed L2-L7 stack for use in performance critial applications. Since the network stack resides in the user-space, it allows for quick iterations without modifying kernel code.

Envoy uses libevent to collect OS events. Libevent integration with f-stack thus provides a way for other applications that use libevent to integrate with this work. Details of libevent integration can be found under fs/app/libevent

DPDK integration generally uses Receive Side Scaling (RSS) to scale flow across cores. This needs hardware support. Yastack implementation can work without RSS hardware support. The flow distribution logic is encoded in software for better control. Setting of a newly introduced flag allows for the flow distribution logic in software to take over. This also eases the development process since it removes the dependency on hardware during development.

Software versions used in this project:

  Envoy Proxy - 1.8.0
  DPDK        - 18.0
  F-Stack     - fs/last_commit.txt

Blogs and additional documentation at - yastack.io

Quick Start

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].