Intent Framework Intents Intent Compilation and Coordination Intent

ONOS Intent Framework
Intents
Intent Framework
•  Provide a flexible, high-level interface for
declaring global network policy
•  Allow applications and operators to describe
policy rather than device instructions
•  Abstract network complexity from higher
layers
•  Extend easily to produce more complex
functionality through combinations of other
intents
Intent Compilation and Coordination
COMPILATION
Intent Compilers
•  Translate intents into other intents that are
more specific to the network environment
•  (Recursively) Produce Intents that are
installable into the network
Host to Host Intent
COORDINATION
•  Translates intents into device instructions
(in accordance with network state and
policy)
•  Coordinates and ensures installation of
instructions
•  Reacts to changing network conditions
•  Permits optimization across intents
•  Extends dynamically to add or change
functionality (compilers or coordinators)
Intent Coordinators
Path Intent
•  Determine how the network must be
programmed at a device/resource level
•  Reserve resources as required
•  Plan the order of installation of device
instructions
Path Intent
Flow Rule Batch
Flow Rule Batch
Intent Framework Architecture
Flow Rule Batch
Flow Rule Batch
Applications
submit() application request
event transition
internal transition
Submitted
Path
PathIntent
Intent
Coordinator
Installer
transient state
Intent Extension Service API
Intent State Machine
parked state
Host to Host
Intent
Compiler
Intent Service API
Submitted
Failed
Compiling
Intent Manager
Withdrawn
Installing
Intent Store
Recompiling
Installed
Withdrawing
intent accepted
add/update
resource event
Installation
Worker
Failed
Compiling
withdraw() compile failed
compile
succeeded
compile failed
or same result
Intent Resource
Scout
submit() Withdrawn
compile succeeded
Installing
Recompiling
install failed
install
succeeded
withdraw
succeeded
failed resource
event
Installed
ONOS Partners:
Flow Rule Service API
withdraw() Topology API
Core
Southbound
Withdrawing
Physical Network
Resource API
…