GithubHelp home page GithubHelp logo

netsys-lab / scion-xdp-br Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 1.0 349 KB

SCION border router in BPF/XDP

Shell 15.99% CMake 2.24% Makefile 0.32% C 33.10% C++ 32.24% Python 15.76% Dockerfile 0.35%
bpf scion xdp

scion-xdp-br's Introduction

SCION XDP Border Router

This repository contains a BPF XDP application intended to accelerate the reference SCION border router by forwarding some common packet types directly in XDP.

[A more up to date development version is available at https://github.com/lschulz/bpf-experiments]

Overview

  • /aes Implementation of AES-CMAC for use in XDP as required by SCION.
  • /br The SCION XDP border router.
  • /libbpfpp C++ wrappers for libbpf
  • /libbpfpy Python helpers for interfacing with libbpf
  • /scion Some scripts for testing the XDP router in a dockerized local SCION topology.

Building

Clone with --recurse-submodules or initialize the submodules after cloning:

git submodule update --init

First build libbpf:

pushd libbpf/src
make
popd

Build the repository by invoking cmake directly

mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ ..
make

or run simply run make.

See the various subdirectories for instructions on how to run tests etc.

scion-xdp-br's People

Contributors

lschulz avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

carryme1899

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.