Skip to content

Introduction

Keysight Elastic Network Generator is an agile, lightweight, and composable network test software designed for Continuous Integration. It supports vendor neutral Open Traffic Generator models and APIs, integrates with several network emulation platforms, and drives a range of Keysight’s Network Infrastructure Test software products, hardware load modules and appliances.

The Elastic Network Generator software runs in Docker-based containerized environments and emulates key data center control plane protocols while also sending data plane traffic. It has a modern architecture based on micro-services and open-source interfaces and is designed for very fast automated test scenario execution. All of these characteristics enable robust validation of data center networks to deliver top quality of experience.

Components

Keysight Elastic Network Generator provides an abstraction over various test port implementations – Ixia-c software, UHD400T white-box and purpose-built IxOS hardware. A test program written in Open Traffic Generator API can be run using any of the supported test port types without modifications.

Test Port Abstraction via OTG

The main components of KENG are:

Component Description
Test program Script or other executable that contains the code that defines the test processes.
OTG Open Traffic Generator, an evolving API specification that defines the components of a traffic generator such as: test ports (virtual or physical), emulated devices, traffic flows, and statistics and capture capability.
Elastic Network Generator Controller that manages the flow of commands from the test program to the traffic generation device (virtual or physical) and the flow of results from the device to the test program.
Ixia-c Containerized software traffic generator.
UHD400T Composable test ports based on line-rate white-box switch hardware traffic generator and Ixia-c protocol emulation software.
IxOS Hardware Keysight Novus or AresONE high-performance network test hardware running IxOS.

Clients

To successfully use an OTG-based Traffic Generator, you need to be able to execute the following tasks over the OTG API:

  • Prepare a Configuration and apply it to a Traffic Generator
  • Control states of the configured objects like Protocols or Traffic Flows
  • Collect and analyze Metrics reported by the Traffic Generator

It is a job of an OTG Client to perform these tasks by communicating with a Traffic Generator via the OTG API. There are different types of such clients, and the choice between them depends on how and where you want to use a Traffic Generator.

There are multiple ways to communicate with KENG through the OTG API:

Method Description
otgen A command-line tool that is an easy way to get started
snappi A library that makes it easy create test programs in Python or Go
direct REST or gRPC calls An alternative to using snappi
custom OTG client Custom OTG client applications

OTG Examples

OTG examples repository is a great way to get started with Open Traffic Generator API. It features a collection of software-only network labs ranging from very simple to more complex. To setup the network labs in software, use the containerized or virtualized NOS images.