vpp

module
v2.0.3+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 10, 2018 License: Apache-2.0

README

Contiv - VPP

Build Status Coverage Status Go Report Card GoDoc GitHub license

This Kubernetes network plugin uses FD.io VPP to provide network connectivity between PODs. Currently, only Kubernetes 1.9.X and higher versions are supported.

Quickstart

You can get started with Contiv-VPP in one of two ways:

  • Use the Contiv-VPP Vagrant Installation instructions to start a simulated Kubernetes cluster with a couple of hosts running in VirtualBox VMs. This is the easiest way to bring up a cluster for exploring the capabilities and features of Contiv-VPP.

  • Use the Contiv-specific kubeadm install instructions to manually install Kubernetes with Contiv-VPP networking on one or more bare-metal

  • Use the Arm64-specific kubeadm install instructions to manually install Kubernetes with Contiv-VPP networking on one or more bare-metal of Arm64 platform.

Configuration & Troubleshooting

Please refer to the Contiv-VPP configuration and troubleshooting document.

Reporting Bugs

In order to report a bug, please file an issue in GitHub. Please provide the information described in Bug Reports README.

Communication Channels

Slack Channel: https://contivvpp.slack.com/

Contributing

Contributions to VPP-Agent are welcome. We use the standard pull request model. You can either pick an open issue and assign it to yourself or open a new issue and discuss your feature.

In any case, before submitting your pull request please check the Coding style and cover the newly added code with tests and documentation (Contiv-VPP adopted the coding style used in the Ligato project). Upon submission, each patch is run through the go fmt and golint tools.

The tool used for managing third-party dependencies is Dep. After adding or updating a dependency in Gopkg.toml run make install-dep to download the specified dependencies into the vendor folder. Please make sure that each dependency in the Gopkg.toml has a specific version defined (a specific commit ID or a git tag).

Directories

Path Synopsis
cmd
contiv-agent
Contiv-agent is an extended vpp agent.
Contiv-agent is an extended vpp agent.
contiv-crd
Contiv-crd is an agent that start a custom resource for Kubernetes responsible to get telemetry information for every node
Contiv-crd is an agent that start a custom resource for Kubernetes responsible to get telemetry information for every node
contiv-init
Contiv-init is the init process of the contiv vswitch POD.
Contiv-init is the init process of the contiv vswitch POD.
contiv-ksr
Contiv-ksr is an agent that watches k8s resources and propagates all changes into the ETCD data store.
Contiv-ksr is an agent that watches k8s resources and propagates all changes into the ETCD data store.
contiv-stn
Contiv-stn is a Daemon which acts as a GRPC server, serving "Steal the NIC" requests - requests to unbind an interface from the kernel driver.
Contiv-stn is a Daemon which acts as a GRPC server, serving "Steal the NIC" requests - requests to unbind an interface from the kernel driver.
mock
localclient
Package localclient contains mocks for transactions created by DSL structures in localclient packages.
Package localclient contains mocks for transactions created by DSL structures in localclient packages.
localclient/dsl
Package dsl is base package for mocks of DSL transaction creators.
Package dsl is base package for mocks of DSL transaction creators.
pkg
pci
Package pci provides API for binding & unbinding of PCI devices to a specific driver.
Package pci provides API for binding & unbinding of PCI devices to a specific driver.
plugins
contiv
Package contiv implements plugin providing GRPC-server that accepts requests from the contiv-CNI (acting as a GRPC-client) and configures the networking between VPP and the PODs.
Package contiv implements plugin providing GRPC-server that accepts requests from the contiv-CNI (acting as a GRPC-client) and configures the networking between VPP and the PODs.
contiv/containeridx
Package containeridx implements a mapping structure that allows to store configured container networking.
Package containeridx implements a mapping structure that allows to store configured container networking.
contiv/ipam
Package ipam provides node-local IPAM calculations: POD IP addresses, VPP-host interconnect and node interconnect IP addresses.
Package ipam provides node-local IPAM calculations: POD IP addresses, VPP-host interconnect and node interconnect IP addresses.
contiv/ipam/model
Package model is a generated protocol buffer package.
Package model is a generated protocol buffer package.
crd
crd/handler/nodeconfig/model
Package model is a generated protocol buffer package.
Package model is a generated protocol buffer package.
crd/pkg/client/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
crd/pkg/client/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
crd/pkg/client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
crd/pkg/client/clientset/versioned/typed/nodeconfig/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
crd/pkg/client/clientset/versioned/typed/nodeconfig/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
crd/pkg/client/clientset/versioned/typed/telemetry/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
crd/pkg/client/clientset/versioned/typed/telemetry/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
ksr
Package ksr implements plugin that watches K8s resources and causes all changes to be reflected in the ETCD data store.
Package ksr implements plugin that watches K8s resources and causes all changes to be reflected in the ETCD data store.
ksr/model/ksrapi
Package ksrapi is a generated protocol buffer package.
Package ksrapi is a generated protocol buffer package.
ksr/model/sfc
Package sfc is a generated protocol buffer package.
Package sfc is a generated protocol buffer package.
kvdbproxy
Package kvdbproxy implements proxy for a kvdbsync with ability to skip selected change events.
Package kvdbproxy implements proxy for a kvdbsync with ability to skip selected change events.
policy
Package policy implements Kubernetes Network policies [1] for Contiv/VPP.
Package policy implements Kubernetes Network policies [1] for Contiv/VPP.
service
Package service implements Kubernetes Services [1] for Contiv/VPP.
Package service implements Kubernetes Services [1] for Contiv/VPP.
statscollector
Package statscollector implements plugin that collects the statistics from vpp interfaces and publishes them to prometheus.
Package statscollector implements plugin that collects the statistics from vpp interfaces and publishes them to prometheus.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL