GithubHelp home page GithubHelp logo

withlin / istio-tcpip-bypass Goto Github PK

View Code? Open in Web Editor NEW

This project forked from intel/istio-tcpip-bypass

0.0 1.0 0.0 59 KB

License: Apache License 2.0

Shell 6.89% C 66.35% Go 21.60% Makefile 2.14% Dockerfile 3.02%

istio-tcpip-bypass's Introduction

TCP/IP Bypass with eBPF in Istio

This solution aims to bypass TCP/IP stack to accelerate service mesh, it benefits two scenarios:

  • p2p communication with sidecar injected
  • p2p communication without sidecar injected

This solution is totally independent, which

  • does not require changes to linux kernel
  • does not require changes to Istio and Envoy (>= v1.10)
  • does not require changes to CNI plugin

15%~20% latency decrease is expected for p2p communication on the same host.

System Requirements

  • Minimal: Distribution with kernel version >= 4.18
  • Optimal: Ubuntu 20.04 with Linux 5.4.0-74-generic

Build Docker Image and Load eBPF Program

  1. Build docker image:

    $ docker build --network=host -t ${IMAGE_NAME} .
  2. Load eBPF program via docker command:

    $ docker run --mount type=bind,source=/sys/fs,target=/sys/fs,bind-propagation=rshared --net=host --privileged --name tcpip-bypass  ${IMAGE_NAME}
  3. Load eBPF program via setting up a deamonset:

    $ kubectl apply -f bypass-tcpip-daemonset.yaml
  4. Unload eBPF program via destroying Docker container or deamonset

istio-tcpip-bypass's People

Contributors

davaddi avatar xu1zhou avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.