服务功能链(SFC)控制器,用于拼接虚拟和物理网络
DEPRECATION NOTICE ![]() |
---|
This repository is deprecated and will be archived in the near future. |
The SFC Controller is a Golang implementation of an orchestration module
for providing data-plane connectivity for cloud native containers. The
containers may be Ligato VPP-agent enabled containers which in turn use
VPP based cloud-native Virtual Network Functions (VNFs) or the
containers may be application containers communicating via veth interfaces.
The VPP Agent is built on top of the CN-Infra platform for developing
cloud-native Virtual Network Functions (VNFs).
The SFC Controller supports a wide variety of topologies. The controller can
effect connectivity for containers on-host, inter-host and host to external
router.
The SFC Controller system architecture is shown in the following figure:
The architecture has the following components:
The SFC Controller supports the following topologies:
The controller is responsible for supporting connectivity between hosts, between
hosts and external routers, and between vnfs. The traffic can be l2, or l3.
The inter vnf traffic can be intra-host, or inter-host.
See here for the current set of supported topologies.
See the ContivVPP for a description of its policies.
Note: For ARM64 please go here..
For a quick start with the sfc-controller, you can use pre-built Docker images with
the Agent and VPP on Dockerhub.
Start ETCD on your host (e.g. in Docker as described here).
Note: The SFC Controller in the pre-built Docker image will not start if it can’t
connect to Etcd.
Run the controller in a Docker image:
docker pull ligato/sfc-controller
docker run -it --name sfc-contoller --rm ligato/sfc-controller
GoDoc can be browsed online.
Read the README for the Development Docker Image for more details.
If you are interested in contributing, please see the contribution guidelines.