defaultplugins

package
v1.0.5 Latest Latest
Warning

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

Go to latest
Published: Sep 26, 2017 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package defaultplugins contains clients for local and remote management of VPP configuration via default plugins.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DataChangeDSL

type DataChangeDSL interface {
	// Put initiates a chained sequence of data change DSL statements declaring
	// new or changing existing configurable objects, e.g:
	//     Put().Interface(&memif).XConnect(&xconnect).BD(&BD) ... Send()
	// The set of available objects to create or change is defined by PutDSL
	// interface which the returned object implements.
	Put() PutDSL

	// Delete initiates a chained sequence of data change DSL statements
	// removing existing configurable objects (by name), e.g:
	//     Delete().Interface(memifName).XConnect(xconnectName).BD(BDName) ... Send()
	// The set of available objects to remove is defined by DeleteDSL
	// interface which the returned object implements.
	Delete() DeleteDSL

	// Send propagates requested changes to the plugins.
	Send() Reply
}

DataChangeDSL defines the Domain Specific Language (DSL) for data change of the VPP configuration. Use this interface to make your implementation independent of the local and any remote client. Every DSL statement (apart from Send) returns the receiver (possibly wrapped to change the scope of DSL), allowing the calls to be chained together conveniently in a single statement.

type DataResyncDSL

type DataResyncDSL interface {
	// Interface adds interface to the RESYNC request.
	Interface(intf *interfaces.Interfaces_Interface) DataResyncDSL
	// BfdSession adds bidirectional forwarding detection session to the RESYNC
	// request.
	BfdSession(val *bfd.SingleHopBFD_Session) DataResyncDSL
	// BfdAuthKeys adds bidirectional forwarding detection key to the RESYNC
	// request.
	BfdAuthKeys(val *bfd.SingleHopBFD_Key) DataResyncDSL
	// BfdEchoFunction adds bidirectional forwarding detection echo function
	// to the RESYNC request.
	BfdEchoFunction(val *bfd.SingleHopBFD_EchoFunction) DataResyncDSL
	// BD adds Bridge Domain to the RESYNC request.
	BD(bd *l2.BridgeDomains_BridgeDomain) DataResyncDSL
	// BDFIB adds L2 Forwarding Information Base.
	BDFIB(fib *l2.FibTableEntries_FibTableEntry) DataResyncDSL
	// XConnect adds Cross Connect to the RESYNC request.
	XConnect(xcon *l2.XConnectPairs_XConnectPair) DataResyncDSL
	// StaticRoute adds L3 Static Route to the RESYNC request.
	StaticRoute(staticRoute *l3.StaticRoutes_Route) DataResyncDSL
	// ACL adds Access Control List to the RESYNC request.
	ACL(acl *acl.AccessLists_Acl) DataResyncDSL

	// Send propagates the RESYNC request to the plugins.
	Send() Reply
}

DataResyncDSL defines the Domain Specific Language (DSL) for data RESYNC of the VPP configuration. Use this interface to make your implementation independent of the local and any remote client. Each method (apart from Send) returns the receiver, allowing the calls to be chained together conveniently in a single statement.

type DeleteDSL

type DeleteDSL interface {
	// Interface adds a request to delete an existing VPP network interface.
	Interface(ifaceName string) DeleteDSL
	// BfdSession adds a request to delete an existing bidirectional forwarding
	// detection session.
	BfdSession(bfdSessionIfaceName string) DeleteDSL
	// BfdAuthKeys adds a request to delete an existing bidirectional forwarding
	// detection key.
	BfdAuthKeys(bfdKeyName string) DeleteDSL
	// BfdEchoFunction adds a request to delete an existing bidirectional
	// forwarding detection echo function.
	BfdEchoFunction(bfdEchoName string) DeleteDSL
	// BD adds a request to delete an existing VPP Bridge Domain.
	BD(bdName string) DeleteDSL
	// BDFIB adds a request to delete an existing VPP L2 Forwarding Information
	// Base.
	BDFIB(bdName string, mac string) DeleteDSL
	// XConnect adds a request to delete an existing VPP Cross Connect.
	XConnect(rxIfaceName string) DeleteDSL
	// StaticRoute adds a request to delete an existing VPP L3 Static Route.
	StaticRoute(vrf uint32, dstAddr *net.IPNet, nextHopAddr net.IP) DeleteDSL
	// ACL adds a request to delete an existing VPP Access Control List.
	ACL(aclName string) DeleteDSL

	// Put changes the DSL mode to allow configuration editing.
	// See documentation for DataChangeDSL.Put().
	Put() PutDSL

	// Send propagates requested changes to the plugins.
	Send() Reply
}

DeleteDSL is a subset of data change DSL statements used to remove existing VPP configuration.

type PutDSL

type PutDSL interface {
	// Interface adds a request to create or update VPP network interface.
	Interface(val *interfaces.Interfaces_Interface) PutDSL
	// BfdSession adds a request to create or update bidirectional forwarding
	// detection session.
	BfdSession(val *bfd.SingleHopBFD_Session) PutDSL
	// BfdAuthKeys adds a request to create or update bidirectional forwarding
	// detection key.
	BfdAuthKeys(val *bfd.SingleHopBFD_Key) PutDSL
	// BfdEchoFunction adds a request to create or update bidirectional
	// forwarding detection echo function.
	BfdEchoFunction(val *bfd.SingleHopBFD_EchoFunction) PutDSL
	// BD adds a request to create or update VPP Bridge Domain.
	BD(val *l2.BridgeDomains_BridgeDomain) PutDSL
	// BDFIB adds a request to create or update VPP L2 Forwarding Information Base.
	BDFIB(fib *l2.FibTableEntries_FibTableEntry) PutDSL
	// XConnect adds a request to create or update VPP Cross Connect.
	XConnect(val *l2.XConnectPairs_XConnectPair) PutDSL
	// StaticRoute adds a request to create or update VPP L3 Static Route.
	StaticRoute(val *l3.StaticRoutes_Route) PutDSL
	// ACL adds a request to create or update VPP Access Control List.
	ACL(acl *acl.AccessLists_Acl) PutDSL

	// Delete changes the DSL mode to allow removal of an existing configuration.
	// See documentation for DataChangeDSL.Delete().
	Delete() DeleteDSL

	// Send propagates requested changes to the plugins.
	Send() Reply
}

PutDSL is a subset of data change DSL statements used to declare new or change existing VPP configuration.

type Reply

type Reply interface {
	// ReceiveReply waits for a reply to previously called Send() and returns
	// the result (error or nil).
	ReceiveReply() error
}

Reply interface allows to wait for a reply to previously called Send() and extract the result from it (success/error).

Directories

Path Synopsis
Package dbadapter implements Domain Specific Language (DSL) for resync and change of VPP configuration using Data Broker (by writing to key value store).
Package dbadapter implements Domain Specific Language (DSL) for resync and change of VPP configuration using Data Broker (by writing to key value store).
Package grpcadapter implements Domain Specific Language (DSL) for resync and change of VPP configuration using GRPC client.
Package grpcadapter implements Domain Specific Language (DSL) for resync and change of VPP configuration using GRPC client.
Package localclient implements client for local management of VPP configuration.
Package localclient implements client for local management of VPP configuration.
Package remoteclient implements client for remote management of VPP configuration.
Package remoteclient implements client for remote management of VPP configuration.

Jump to

Keyboard shortcuts

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