Network Intent Composition

Welcome to Network Intent Composition

Introduction

This Network Intent Composition project will enable the controller to manage and direct network services and network resources based on describing the “Intent” for network behaviors and network policies. Intents are described to the controller through a new NorthBound Interface, which provides generalized and abstracted policy semantics instead of specific configuration commands. The Intent based NBI allows for a descriptive way to get what is desired from the infrastructure, unlike the current SDN interfaces which are based on describing how to provide different services. This NBI will accommodate orchestration services and network and business oriented SDN applications. The Network Intent Composition function will use existing OpenDaylight Network Service Functions and Southbound Plugins to control both virtual and physical network devices. The Network Intent Composer will be designed to be protocol agnostic such that any control protocol can be used such as Openflow, OVSDB, I2RS, Netconf, BGP etc.

This project provides a structure capable to support different Intent definitions and work with multiple southbound plugins at the same time, also contains its own implementation for Intent Lifecycle Management.

NIC basics

Config dev environment

  1. http://docs.opendaylight.org/en/stable-boron/developer-guide/network-intent-composition-(nic)-developer-guide.html

  2. https://wiki.opendaylight.org/view/GettingStarted:Development_Environment_Setup

  3. https://wiki.opendaylight.org/view/OpenDaylight_Controller:Gerrit_Setup

  4. https://wiki.opendaylight.org/view/GettingStarted:Pulling,_Hacking,_and_Pushing_All_the_Code_from_the_CLI

Tips

  • Debugging: ./karaf debug

It will listen to 5005 port

Basic guide using Intents for QoS

QoS attribute mapping

1. Create a basic topology using mininet

sudo mn --topo single --mac --controller=remote,ip=127.0.0.1,port=6633 --switch ovsk,protocols=OpenFlow13

2. Run karaf distribution and install odl-nic-core-mdsal, odl-nic-console,