dbadapter

package
v1.0.6 Latest Latest
Warning

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

Go to latest
Published: Oct 18, 2017 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package dbadapter implements Domain Specific Language (DSL) for resync and change of VPP configuration using Data Broker (by writing to key value store).

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DataChangeDSL

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

DataChangeDSL is an implementation of Domain Specific Language (DSL) for changes of the VPP configuration.

func NewDataChangeDSL

func NewDataChangeDSL(txn keyval.ProtoTxn) *DataChangeDSL

NewDataChangeDSL returns a new instance of DataChangeDSL which implements the data change DSL for VPP config. Transaction <txn> is used to propagate changes to plugins.

func (*DataChangeDSL) Delete

func (dsl *DataChangeDSL) Delete() defaultplugins.DeleteDSL

Delete initiates a chained sequence of data change DSL statements removing existing configurable objects.

func (*DataChangeDSL) Put

func (dsl *DataChangeDSL) Put() defaultplugins.PutDSL

Put initiates a chained sequence of data change DSL statements declaring new or changing existing configurable objects.

func (*DataChangeDSL) Send

func (dsl *DataChangeDSL) Send() defaultplugins.Reply

Send propagates requested changes to the plugins.

type DataResyncDSL

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

DataResyncDSL is an implementation of Domain Specific Language (DSL) for data RESYNC of VPP configuration.

func NewDataResyncDSL

func NewDataResyncDSL(txn keyval.ProtoTxn, listKeys func(prefix string) (keyval.ProtoKeyIterator, error)) *DataResyncDSL

NewDataResyncDSL returns a new instance of DataResyncDSL which implements the data RESYNC DSL for VPP configuration. Transaction <txn> is used to propagate changes to plugins. Function <listKeys> is used to list keys with already existing configuration.

func (*DataResyncDSL) ACL

ACL adds Access Control List to the RESYNC request.

func (*DataResyncDSL) BD

BD adds Bridge Domain to the RESYNC request.

func (*DataResyncDSL) BDFIB

BDFIB adds Bridge Domain to the RESYNC request.

func (*DataResyncDSL) BfdAuthKeys added in v1.0.5

BfdAuthKeys adds bidirectional forwarding detection key to the RESYNC request.

func (*DataResyncDSL) BfdEchoFunction

BfdEchoFunction adds bidirectional forwarding detection echo function to the RESYNC request.

func (*DataResyncDSL) BfdSession

BfdSession adds bidirectional forwarding detection session to the RESYNC request.

func (*DataResyncDSL) Interface

Interface adds VPP interface to the RESYNC request.

func (*DataResyncDSL) Send

func (dsl *DataResyncDSL) Send() defaultplugins.Reply

Send propagates the request to the plugins. It deletes obsolete keys if listKeys() (from constructor) function is not nil.

func (*DataResyncDSL) StaticRoute

StaticRoute adds L3 Static Route to the RESYNC request.

func (*DataResyncDSL) XConnect

XConnect adds Cross Connect to the RESYNC request.

type DeleteDSL

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

DeleteDSL implements delete operations of data change DSL.

func (*DeleteDSL) ACL

func (dsl *DeleteDSL) ACL(aclName string) defaultplugins.DeleteDSL

ACL adds a request to delete an existing VPP Access Control List.

func (*DeleteDSL) BD

func (dsl *DeleteDSL) BD(bdName string) defaultplugins.DeleteDSL

BD adds a request to delete an existing VPP Bridge Domain.

func (*DeleteDSL) BDFIB

func (dsl *DeleteDSL) BDFIB(bdName string, mac string) defaultplugins.DeleteDSL

BDFIB adds a request to delete an existing VPP L2 Forwarding Information Base.

func (*DeleteDSL) BfdAuthKeys added in v1.0.5

func (dsl *DeleteDSL) BfdAuthKeys(bfdKeyName string) defaultplugins.DeleteDSL

BfdAuthKeys adds a request to delete an existing bidirectional forwarding detection key.

func (*DeleteDSL) BfdEchoFunction added in v1.0.5

func (dsl *DeleteDSL) BfdEchoFunction(bfdEchoName string) defaultplugins.DeleteDSL

BfdEchoFunction adds a request to delete an existing bidirectional forwarding detection echo function.

func (*DeleteDSL) BfdSession added in v1.0.5

func (dsl *DeleteDSL) BfdSession(bfdSessionIfaceName string) defaultplugins.DeleteDSL

BfdSession adds a request to delete an existing bidirectional forwarding detection session.

func (*DeleteDSL) Interface

func (dsl *DeleteDSL) Interface(interfaceName string) defaultplugins.DeleteDSL

Interface adds a request to delete an existing VPP network interface.

func (*DeleteDSL) Put

func (dsl *DeleteDSL) Put() defaultplugins.PutDSL

Put changes the DSL mode to allow configuration editing.

func (*DeleteDSL) Send

func (dsl *DeleteDSL) Send() defaultplugins.Reply

Send propagates requested changes to the plugins.

func (*DeleteDSL) StaticRoute

func (dsl *DeleteDSL) StaticRoute(vrf uint32, dstAddrInput *net.IPNet, nextHopAddr net.IP) defaultplugins.DeleteDSL

StaticRoute adds a request to delete an existing VPP L3 Static Route..

func (*DeleteDSL) XConnect

func (dsl *DeleteDSL) XConnect(rxIfName string) defaultplugins.DeleteDSL

XConnect adds a request to delete an existing VPP Cross Connect.

type PutDSL

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

PutDSL implements put operations of data change DSL.

func (*PutDSL) ACL

ACL adds a request to create or update VPP Access Control List.

func (*PutDSL) BD

BD adds a request to create or update VPP Bridge Domain.

func (*PutDSL) BDFIB

BDFIB adds a request to create or update VPP L2 Forwarding Information Base.

func (*PutDSL) BfdAuthKeys

func (dsl *PutDSL) BfdAuthKeys(val *bfd.SingleHopBFD_Key) defaultplugins.PutDSL

BfdAuthKeys adds a request to create or update bidirectional forwarding detection key.

func (*PutDSL) BfdEchoFunction

func (dsl *PutDSL) BfdEchoFunction(val *bfd.SingleHopBFD_EchoFunction) defaultplugins.PutDSL

BfdEchoFunction adds a request to create or update bidirectional forwarding detection echo function.

func (*PutDSL) BfdSession

func (dsl *PutDSL) BfdSession(val *bfd.SingleHopBFD_Session) defaultplugins.PutDSL

BfdSession adds a request to create or update bidirectional forwarding detection session.

func (*PutDSL) Delete

func (dsl *PutDSL) Delete() defaultplugins.DeleteDSL

Delete changes the DSL mode to allow removal of an existing configuration.

func (*PutDSL) Interface

Interface adds a request to create or update VPP network interface.

func (*PutDSL) Send

func (dsl *PutDSL) Send() defaultplugins.Reply

Send propagates requested changes to the plugins.

func (*PutDSL) StaticRoute

func (dsl *PutDSL) StaticRoute(val *l3.StaticRoutes_Route) defaultplugins.PutDSL

StaticRoute adds a request to create or update VPP L3 Static Route.

func (*PutDSL) XConnect

XConnect adds a request to create or update VPP Cross Connect.

type Reply

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

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

func (Reply) ReceiveReply

func (dsl Reply) ReceiveReply() error

ReceiveReply waits for a reply to previously called Send() and returns the result (error or nil).

Jump to

Keyboard shortcuts

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