Cisco Network Services Orchestrator (NSO) is an orchestration platform that leverages pluggable function packs to translate
network-wide service intent into device-specific configuration. NSO provides flexible service orchestration and lifecycle
management across physical network elements and cloud-based virtual network functions (VNFs), fulfilling the role of the Network
Orchestrator (NFVO) within the European Telecommunications Standards Institute (ETSI) architecture. It provides complete support
for physical and virtual network elements, with a consistent operational model across both. With the ability to orchestrate
across multi-vendor environments and support multiple technology stacks, NSO empowers the extension of end-to-end automation
to virtually any use case or device.
Cisco Network Services Orchestrator has a rich set of APIs designed to allow developers to implement service applications.
It provides the infrastructure for defining and executing the YANG data models that are needed to realize customer services.
It is also responsible for providing the overall lifecycle management at the network service level.
Service and device models, written using YANG modeling language, enable NSO to efficiently ‘map’ service intent to device
capabilities and automatically generate the minimum required configuration to be deployed in the network. This feature, facilitated
by NSO's FASTMAP algorithm, can compare current configuration states with a service’s intent and then generate the minimum
set of changes required to instantiate the service in the network.
All components that are included in Crosswork Network Controller or are optional add-ons, require integration with NSO.
Crosswork Network Controller requires the following NSO function packs:
-
SR-TE core function pack (CFP) enables the provisioning of explicit and dynamic segment routing policies, including SRv6,
and on-demand SR-TE policy instantiation for prefixes with a specific color.
-
The IETF-compliant L2VPN and L3VPN Core Function Packs provide baseline L2VPN and L3VPN provisioning capabilities, based on
IETF NM models. Prior to customization, these sample function packs enable provisioning of the following VPN services:
-
The Service Health function pack should be independently installed apart from Crosswork Network Controller function packs.
-
L2VPN:
-
Point-to-point VPWS using Targeted LDP
-
Point-to-point VPWS using EVPN
-
Multipoint VPLS using EVPN (with service topologies ELAN, ETREE, and Custom)
-
L3VPN – both IPv4 and IPv6 address families are supported.
-
Sample IETF-compliant RSVP-TE function pack intended as a reference implementation for RSVP-TE tunnel provisioning, to be
customized as required.

Note
|
By default, the IETF-compliant NM models are used. If your organization wishes to continue using the Flat models provided
with the previous version, a manual setup process is required. Consult your Cisco Customer Experience representative for more
information.
|
The NSO sample function packs are provided as a starting point for service provisioning functionality in Crosswork Network
Controller. While the samples can be used “as is” in some limited network configurations, they are intended to demonstrate
the extensible design of Crosswork Network Controller. Answers to common questions can be found on Cisco Devnet, and Cisco Customer Experience representatives can answer general questions about the samples. Support for customization
of the samples for your specific use cases can be arranged through your Cisco account team.

Note
|
NSO currently does not support bundle ethernet (BE), route distinguisher (RD), or BGP route-target (RT) functions with L2VPN
EVPN. Although it does support multihoming and L2VPN route policy, there is no option to specify an RD value in L2VPN for
an EVPN ELAN/ETREE, nor is there an option to specify load balancing type. To perform these functions, contact your Cisco
account team for a set of custom configuration templates and advice on configuring bundles manually.
|
Custom templates
These are user-defined templates that allow for the customization and automation of network services not supported by the
standard function pack. They define specific configurations and settings that can be applied to network devices and services,
making deploying and managing network resources more efficient and consistent.
To use custom templates in Crosswork Network Controller, you must pre-configure them in NSO. Once configured in NSO, Crosswork
Network Controller will display your custom template for selection when you provision a device or a service.
For details on configuring custom templates, refer to the article, Configure and Apply Custom Templates.
Function pack documentation
For more information, refer to the following documentation: