onoslite

package
v0.0.0-...-feb2584 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 22, 2023 License: Apache-2.0 Imports: 33 Imported by: 0

Documentation

Overview

Package onoslite contains implementation of a ultra-light controller that simulates ONOS interactions with the network environment

Package onoslite contains implementation of a ultra-light controller that simulates ONOS interactions with the network environment

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RunLiteONOSWithTopology

func RunLiteONOSWithTopology(t *testing.T, topologyPath string, deviceCount int, linkCount int, hostCount int,
	portsPerDevice basic.DevicePortCount, nicsPerHost basic.HostNICCount, delay time.Duration)

RunLiteONOSWithTopology loads simulator with the specified topology, creates lite ONOS controller and points it at the simulated topology validating that the network environment gets properly discovered.

Types

type Device

type Device struct {
	ID      string
	Pointer *DevicePointer
	Ports   map[string]*Port
	// contains filtered or unexported fields
}

Device is a simple representation of a device discovered and controlled by the ONOS lite

type DevicePointer

type DevicePointer struct {
	ID          string
	ChassisID   uint64
	ControlPort int32
}

DevicePointer is a structure holding information required to prime device discovery

type Host

type Host struct {
	MAC  string
	IP   string
	Port string
}

Host is a simple representation of a host network interface discovered by the ONOS lite

type Link struct {
	ID        string
	SrcPortID string
	TgtPortID string
}

Link is a simple representation of a link discovered by the ONOS lite

type LiteONOS

type LiteONOS struct {
	DevicePointers []*DevicePointer
	Devices        map[string]*Device
	Links          map[string]*Link
	Hosts          map[string]*Host
	// contains filtered or unexported fields
}

LiteONOS is an ultra-light controller to test fabric-sim

func NewLiteONOS

func NewLiteONOS() *LiteONOS

NewLiteONOS creates a new ONOS lite object

func (*LiteONOS) Start

func (o *LiteONOS) Start(pointers []*DevicePointer) error

Start starts the controller and primes its device discovery with the specified list of device pointers

func (*LiteONOS) Stop

func (o *LiteONOS) Stop() error

Stop stops the controller and any of its background processes

type Port

type Port struct {
	ID     string
	Number uint32
	Status string
}

Port is a simple representation of a device port discovered by the ONOS lite

type TestSuite

type TestSuite struct {
	// contains filtered or unexported fields
}

TestSuite is the basic test suite

func (*TestSuite) SetupTestSuite

func (s *TestSuite) SetupTestSuite(c *input.Context) error

SetupTestSuite sets up the fabric simulator basic test suite

func (*TestSuite) TestLiteONOSWithAccessFabric

func (s *TestSuite) TestLiteONOSWithAccessFabric(t *testing.T)

TestLiteONOSWithAccessFabric tests access fabric with ONOS lite

func (*TestSuite) TestLiteONOSWithFixedFabric

func (s *TestSuite) TestLiteONOSWithFixedFabric(t *testing.T)

TestLiteONOSWithFixedFabric tests fixed fabric with ONOS lite

func (*TestSuite) TestLiteONOSWithMaxTopo

func (s *TestSuite) TestLiteONOSWithMaxTopo(t *testing.T)

TestLiteONOSWithMaxTopo tests max topo with ONOS lite

func (*TestSuite) TestLiteONOSWithPlainLargeFabric

func (s *TestSuite) TestLiteONOSWithPlainLargeFabric(t *testing.T)

TestLiteONOSWithPlainLargeFabric tests mid fabric with ONOS lite

func (*TestSuite) TestLiteONOSWithPlainMaxFabric

func (s *TestSuite) TestLiteONOSWithPlainMaxFabric(t *testing.T)

TestLiteONOSWithPlainMaxFabric tests max fabric with ONOS lite

func (*TestSuite) TestLiteONOSWithPlainMidFabric

func (s *TestSuite) TestLiteONOSWithPlainMidFabric(t *testing.T)

TestLiteONOSWithPlainMidFabric tests mid fabric with ONOS lite

func (*TestSuite) TestLiteONOSWithPodFabric

func (s *TestSuite) TestLiteONOSWithPodFabric(t *testing.T)

TestLiteONOSWithPodFabric tests pod fabric with ONOS lite

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL