/nfv-mano

A distributed system for latency-optimized service embedding in large-scale software defined networks

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

💡 nfv-mano

Getting started

Prerequisites

The following packages are needed:

  • clang (incl. libclang)
  • python (>= 3.5, incl. virtualenv and setuptools)
  • net-tools-deprecated (ifconfig etc. for mininet)
  • openvswitch
  • docker

🔨 Build and Install

  1. Clone and bootstrap this repository (as unpriviliged user)
git clone https://github.com/patrickziegler/nfv-mano.git
nfv-mano/bootstrap.sh
  1. Become super user and activate the virtual environment
cd nfv-mano && su -c "/bin/bash --init-file venv"

Usage

Before executing the scripts, some services may be invoked first:

service openvswitch start
service docker start

If starting openvswitch fails due to missing /var/run/openvswitch/db.sock or similar, it may be necessary to start the ovsdb server manually with the following command:

/usr/share/openvswitch/scripts/ovs-ctl start --system-id

Authors

  • Patrick Ziegler

License

This project is licensed under the GPL - see the LICENSE file for details