Name

Network Intent Composition (NIC)

Repo Name

nic

Description

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 Openflow-like flow rules. 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, including OpenStack Neutron, Service Function Chaining, and Group Based Policy. 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, SNMP etc.

One outcome of this project will be to satisfy the reference implementation of the ONF NBI Virtualizer Function being defined within the Open Networking Forum’s NBI Working Group and to build a reference design for the ETSI NFV ISG, SDN Work Item.

Another key outcome of this project will be a solution for composing multiple Intent-Driven network policy requests from various SDN applications into a consistent set of programmed network actions, monitors, and responses. The goal is to solve the multiple-writers/multiservice-SDN problem with an intent-only distribution of the controller exposing intent as intermediate language.

This project is intended to leverage the expertise of the OpenDaylight community in order to rapidly expose an evolving set of services to the applications, including L4-L7 service functions, network end points, multi-tenant domains, security services, QoS and traffic engineering capabilities, and network infrastructure elements.

Goals

The proposal is to incrementally build from a small number of simple use cases to supporting virtually any imaginable use case. The project goals include:

Scope

The proposed project will refine the following functional framework into a design and implementation within the OpenDaylight Controller architecture. Deliverables will include enumeration of the intended use cases and phasing of the implementation to address those use cases.

The Intent NB Interface The Intent NBI is exposed for Network orchestration systems, SDN Applications and Network Operators. It may be defined as RESTCONF, and/or Java API’s. This extensible interface shall be designed to allow any and all new intent expressions to be exposed as part of a consistent and integrated single NBI to SDN applications. The singularity is necessary for the Composition Function to provide a comprehensive capability to manage network resources and resolve conflicts across Application’s intents.

Intent Information Elements The Intent Composer uses various logical databases of information needed to affect the Intents. The following are examples of Intent Information Base and not a recommendation for the exhaustive list. Development of such detailed design is part of the work product that the project will create:

Intent Compilation The Intent Compilation Engine compiles Intent Language Policy Expressions into protocol specific rules. The initial phase of this project will create an Openflow Rules Compilation Engine and some utilization of SB protocols such as NetConf and SNMP for device specific configuration access. Future phases could encompass other SB protocol plugins such as I2RS, PIF, OVSDB, LISP, BGP, TL1, etc. to enable broader application of data plane controls.

The Intent Compilation Engine includes the following functions to ensure complete consistency of the data plane.

It is envisioned that the Intent Language defined by this project could utilize other SDN programming languages and policy models such as Maple, Frenetic, Pyretic, Flowlog, GBP etc. Thus this Intent Compilation Engine could take advantage of other policy compilers to extend its capabilities.

Resources Committed (developers committed to working)

Initial Committers

Vendor Neutral

This project will consist of contributing some existing code as well as developing new code. Code will be made available for review by ODP and Linux Foundation after it has been approved by contributing organizations.

Meets Board Policy (including IPR)