Chapter 1 Introduction

This document describes the configuration and management of the HP VAN Controller in standalone and team modes.

The HP VAN SDN Controller is a Java-based OpenFlow controller enabling SDN solutions such as network controllers for the data center, public cloud, private cloud, and campus edge networks. This includes providing an open platform for developing experimental and special-purpose network control protocols using a built-in OpenFlow controller.

The HP VAN SDN Controller includes an SDK providing the tools needed to develop applications to run on the Controller. The SDK includes sample source code, API specifications, and the HP VAN SDN Controller Programming Guide. See the programming guide for SDK information.

The following publications are provided with the HP VAN SDN Controller:

The HP VAN SDN Controller is a platform for developing SDN applications and deploying SDN applications. The controller can be characterized as providing a Base Control Platform, a Distributed Platform for High-Availability and Scalability, and an Extensible Platform.

The base control platform is built on the Linux operating system. The principal software stack uses an OSGi framework (Equinox) and a container (Virgo) as the basis for modular software deployment. The base platform provides services such as authentication, data persistence, logging, and alerts. The base platform provides a device driver framework for out-of-band control and management of devices. The base platform also includes network services that provide the following:

The HP VAN SDN Controller is a distributed platform enabling high-availability and scalability. Controllers can be configured in a team to enable load-balancing and control domain partitioning. Controllers in the team synchronize state information for smooth and rapid failover.

The HP VAN SDN Controller is an extensible platform supporting native applications (sometimes referred to as modules) and external applications. Native applications are authored in Java or a byte-code compatible language and are deployed on the controller as collections of OSGi bundles. Native applications use the Java services exported and advertised by the controller platform and by other applications. Native applications can dynamically extend the controller REST API surface, extend the controller’s GUI, and integrate with the controller authentication and authorization framework. Native applications are well suited when the application needs frequent and low latency interactions with network devices.

External applications can be developed in any language and are deployed on a platform outside the controller platform or on the same platform as the controller. External applications interact with the controller using the REST API services exported and advertised by the controller platform, and by native applications deployed on the controller. Because external applications are deployed outside the controller platform they cannot extend the REST API or GUI surface of the controller. External applications are suitable for applications that have relatively infrequent and high latency control interactions with network devices, and when deploying on a different platform is required.