GithubHelp home page GithubHelp logo

martinfrk / vpp-agent Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ligato/vpp-agent

0.0 0.0 0.0 28.49 MB

Cloud-native management agent for VPP (FD.io)

License: Apache License 2.0

Makefile 0.65% Go 96.34% Shell 1.34% Protocol Buffer 1.67%

vpp-agent's Introduction

VPP Agent

Build Status Coverage Status Go Report Card GoDoc GitHub license

Please note that the content of this repository is currently a WORK IN PROGRESS.

The VPP Agent is a management tool for VPP (FD.io Vector Packet Processing) built on cn-infra.

VPP Agent provides plugins that process high level (north-bound) configuration which is carefully translated to low level VPP Binary API calls. North-bound configuration is modelled by proto files that can be found in the default plugins.

vpp agent plugins

The agent consists of the following components:

  • Default VPP Plugins - provide abstraction on top of the VPP binary APIs for:
    • NET Interfaces - network interfaces configuration (PCI Ethernet, MEMIF, AF_Packet, VXLAN, Loopback...) + BFD
    • L2 - Bridge Domains, FIBs...
    • L3 - IP Routes, VRFs...
    • ACL - VPP access lists (VPP ACL plugin)
  • GOVPPmux - allows other plugins to access VPP independently on each other by means of connection multiplexing
  • Linux (VETH) - allows optional configuration of Linux virtual ethernet interfaces
  • Core - lifecycle management of plugins (loading, initialization, unloading) from cn-infra
  • agentctl - a CLI tool that shows the state of the agents and can configure the agents

Quickstart

For quick start with the VPP Agent, you can use pre-build Docker images with the Agent and VPP on Dockerhub.

  1. Run ETCD and Kafka on your host (e.g. in Docker using this procedure).

  2. Run VPP + VPP Agent in a Docker image:

docker pull ligato/vpp-agent
docker run -it --name vpp --rm ligato/vpp-agent
  1. Configure the VPP agent using agentctl:
docker exec -it vpp agentctl -h
  1. Check the configuration (using agentctl or directly using VPP console):
docker exec -it vpp agentctl show
docker exec -it vpp vppctl

Next Steps

Read the README for the Development Docker Image for more details.

GoDoc can be browsed online.

Deployment:

K8s integration

Extensibility:

VPP Agent Extensibility

Design & architecture:

VPP agent 10.000 feet

Contribution:

If you are interested in contributing, please see the contribution guidelines.

vpp-agent's People

Contributors

lukasmacko avatar vladolavor avatar rastislavs avatar jozef-slezak 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.