Skip to content
Manuel Peuster edited this page Aug 28, 2017 · 8 revisions

son-examples

Example service projects that include NSDs, VNFDs, etc. The projects are given as source code and have to be packed before they can be pushed to the service platform or the emulator.

Example Services

List of Services

Emulator

  • sonata-demo: Generic example service.
  • sonata-empty-service-emu: Simple service chain with three empty VNFs (UPB) Tutorial.
  • sonata-snort-service-emu: Service with a single Snort VNF (UPB) Tutorial.
  • sonata-sdk-test-service-emu: Service with 2 empty ubuntu VNFs chained to each other (iMinds).
  • sonata-ovs-service-emu: Service with an ovs switch and a Ryu openflow controller (iMinds).
  • sonata-vtc-service-emu: Service with single vTC VNF to test the vTC VNF in the emulator (UPB) Tutorial.
  • sonata-fw-vtc-service-emu: This will be the service for the Y1 review of son-emu (UPB).
  • sonata-fw-dpi-service-emu: Service with a Firewall (ovs+Ryu) and DPI (Snort) (iMinds).
  • sonata-fw-service-emu : Service with a single firewall VNF to test the firewall in the emulator (iMinds).
  • sonata-stress-service-emu: Service that runs VNFs to stress the host CPU (UPB).
  • sonata-vtc-service-sp: VTC only service for SP (UCL/Atos).
  • sonata-fw-service-sp: Firewall only service for SP (UCL/Atos).
  • sonata-fw-vtc-service-sp: Firewall and VTC service (Y1 demo) (UCL/Atos).
  • sonata-fw-vtc-service-update-sp: Firewall and VTC service (Y1 demo), update package (UCL/Atos).

Service Platform

  • sonata-fw-vtc-service-sp: This will be the service for the Y1 review of SONATA's service platform.

Build

To package the given service projects you need the son-cli tools to be installed on your machine and an empty workspace has to be initialized.

In service-projects/ do ...

./pack.sh

This will automatically validate and package the service packages using son-cli.

Example VNFs

Example VNF implementations. Most of them are given as Docker container configurations so that they can directly be used in the emulator. But the Docker containers can also be included and executed within VM images to run them on the service platform.

List of VNFs

  • sonata-empty-vnf-docker: Minimalistic empty VNF (UPB).
  • sonata-iperf3-vnf-docker: Iperf3 traffic generator (UPB).
  • sonata-snort-ids-vnf-docker: Snort 2.9 intrusion detection system (UPB).
  • sonata-ovs1-vnf-docker: OpenvSwitch inside Docker container (Packets are processed in userspace inside the vswitch daemon running in the container) (iMinds).
  • sonata-ryu-snort-vnf-docker: Ryu Openflow controller, running as a learning switch (rest API included) (iMinds).
  • sonata-ryu-vnf-docker: Ryu Openflow controller, running as a learning switch (Snort support and rest API included) (iMinds).
  • sonata-vtc-vnf-docker: nDPI based traffic classifier (requieres PF_RING to be installed on the host machine) (NCSRD).
  • sonata-snort-ovs-docker: Snort intrusion detection system, extended with an interface to send alerts to a Ryu openflow controller (iMinds).
  • sonata-son-emu-sap-docker: Generic container that can be used to be deployed as SAP (Service Access Point) for a service deployed in the SONATA SDK emulator. This container has some basic functionality to generate and capture traffic (iMinds).
  • sonata-fw-vnf-docker : Firewall implemented by a Ryu Openflow controller and OpenVSwithc in one single VNF (iMinds).
  • sonata-fw-vnf-vm : Firewall implemented by a Ryu Openflow controller and OpenVSwithc in one single VNF. Exported as a Vagrant-built VM. (iMinds).
  • sonata-stress-vnf-docker : Empty container that runs the stress tool to fully utilize the CPU (UPB).

Build

In vnfs/ do ...

./build.sh [opt. target repository name (default=sonatanfv)]

./push.sh [opt. target repository name (default=sonatanfv)]

Year 1 demo documentation

This wiki also contains the documentation of the main demo shown after the first year of the SONATA project. However, the following documentation pages are explicitly marked as deprecated: