vpp

package
v1.5.2 Latest Latest
Warning

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

Go to latest
Published: Jul 23, 2018 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package vpp defines the standard flavor used for full-featured VPP agents.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewAgent added in v1.0.8

func NewAgent(opts ...core.Option) *core.Agent

NewAgent returns a new instance of the Agent with plugins. It is an alias for core.NewAgent() to implicit use of the FlavorVppLocal

func WithPlugins added in v1.0.8

func WithPlugins(listPlugins func(local *Flavor) []*core.NamedPlugin) core.WithPluginsOpt

WithPlugins for adding custom plugins to SFC Controller. <listPlugins> is a callback that uses flavor input to inject dependencies for custom plugins that are in output.

Example:

   NewAgent(vppFlavor.WithPlugins(func(flavor) {
	       return []*core.NamedPlugin{{"my-plugin", &MyPlugin{DependencyXY: &flavor.FlavorXY}}}
   }))

Types

type Flavor

type Flavor struct {
	*local.FlavorLocal
	*connectors.AllConnectorsFlavor // connectors have to be started before vpp flavor
	*rpc.FlavorRPC

	// This can be reused later even for the Linux plugin,
	// it has its own configuration.
	IfStatePub msgsync.PubPlugin

	GoVPP govppmux.GOVPPPlugin
	Linux linux.Plugin
	VPP   vpp.Plugin

	GRPCSvcPlugin   rpcsvc.GRPCSvcPlugin
	RESTAPIPlugin   rest.Plugin
	TelemetryPlugin telemetry.Plugin
	// contains filtered or unexported fields
}

Flavor glues together multiple plugins to build a full-featured VPP agent.

func (*Flavor) Inject

func (f *Flavor) Inject() bool

Inject sets inter-plugin references.

func (*Flavor) Plugins

func (f *Flavor) Plugins() []*core.NamedPlugin

Plugins combine all Plugins in the flavor to a list.

Jump to

Keyboard shortcuts

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