dbadapter

package
v1.9.0-alpha Latest Latest
Warning

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

Go to latest
Published: Dec 12, 2018 License: Apache-2.0 Imports: 12 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() vppclient.DeleteDSL

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

func (*DataChangeDSL) Put

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

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

func (*DataChangeDSL) Send

func (dsl *DataChangeDSL) Send() vppclient.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

func (dsl *DataResyncDSL) ACL(val *acl.AccessLists_Acl) vppclient.DataResyncDSL

ACL adds Access Control List to the RESYNC request.

func (*DataResyncDSL) AppNamespace

func (dsl *DataResyncDSL) AppNamespace(val *l4.AppNamespaces_AppNamespace) vppclient.DataResyncDSL

AppNamespace adds Application Namespace to the RESYNC request

func (*DataResyncDSL) Arp

func (dsl *DataResyncDSL) Arp(val *l3.ArpTable_ArpEntry) vppclient.DataResyncDSL

Arp adds L3 ARP entry to the RESYNC request.

func (*DataResyncDSL) BD

func (dsl *DataResyncDSL) BD(val *l2.BridgeDomains_BridgeDomain) vppclient.DataResyncDSL

BD adds Bridge Domain to the RESYNC request.

func (*DataResyncDSL) BDFIB

func (dsl *DataResyncDSL) BDFIB(val *l2.FibTable_FibEntry) vppclient.DataResyncDSL

BDFIB adds Bridge Domain to the RESYNC request.

func (*DataResyncDSL) BfdAuthKeys

func (dsl *DataResyncDSL) BfdAuthKeys(val *bfd.SingleHopBFD_Key) vppclient.DataResyncDSL

BfdAuthKeys adds bidirectional forwarding detection key to the RESYNC request.

func (*DataResyncDSL) BfdEchoFunction

func (dsl *DataResyncDSL) BfdEchoFunction(val *bfd.SingleHopBFD_EchoFunction) vppclient.DataResyncDSL

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

func (*DataResyncDSL) BfdSession

func (dsl *DataResyncDSL) BfdSession(val *bfd.SingleHopBFD_Session) vppclient.DataResyncDSL

BfdSession adds bidirectional forwarding detection session to the RESYNC request.

func (*DataResyncDSL) IPSecSA

func (dsl *DataResyncDSL) IPSecSA(sa *ipsec.SecurityAssociations_SA) vppclient.DataResyncDSL

IPSecSA adds request to create a new Security Association

func (*DataResyncDSL) IPSecSPD

func (dsl *DataResyncDSL) IPSecSPD(spd *ipsec.SecurityPolicyDatabases_SPD) vppclient.DataResyncDSL

IPSecSPD adds request to create a new Security Policy Database

func (*DataResyncDSL) IPSecTunnel added in v1.8.1

func (dsl *DataResyncDSL) IPSecTunnel(tun *ipsec.TunnelInterfaces_Tunnel) vppclient.DataResyncDSL

IPSecTunnel adds request to create a new IPSec tunnel

func (*DataResyncDSL) Interface

func (dsl *DataResyncDSL) Interface(val *interfaces.Interfaces_Interface) vppclient.DataResyncDSL

Interface adds VPP interface to the RESYNC request.

func (*DataResyncDSL) L4Features

func (dsl *DataResyncDSL) L4Features(val *l4.L4Features) vppclient.DataResyncDSL

L4Features adds L4Features to the RESYNC request

func (*DataResyncDSL) NAT44DNat

func (dsl *DataResyncDSL) NAT44DNat(nat44 *nat.Nat44DNat_DNatConfig) vppclient.DataResyncDSL

NAT44DNat adds a request to RESYNC a new DNAT configuration

func (*DataResyncDSL) NAT44Global

func (dsl *DataResyncDSL) NAT44Global(nat44 *nat.Nat44Global) vppclient.DataResyncDSL

NAT44Global adds a request to RESYNC global configuration for NAT44

func (*DataResyncDSL) ProxyArpInterfaces

func (dsl *DataResyncDSL) ProxyArpInterfaces(val *l3.ProxyArpInterfaces_InterfaceList) vppclient.DataResyncDSL

ProxyArpInterfaces adds L3 proxy ARP interfaces to the RESYNC request.

func (*DataResyncDSL) ProxyArpRanges

func (dsl *DataResyncDSL) ProxyArpRanges(val *l3.ProxyArpRanges_RangeList) vppclient.DataResyncDSL

ProxyArpRanges adds L3 proxy ARP ranges to the RESYNC request.

func (*DataResyncDSL) PuntSocketRegister added in v1.8.1

func (dsl *DataResyncDSL) PuntSocketRegister(puntCfg *punt.Punt) vppclient.DataResyncDSL

PuntSocketRegister adds request to RESYNC a new punt to host entry

func (*DataResyncDSL) Send

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

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

func (*DataResyncDSL) StaticRoute

func (dsl *DataResyncDSL) StaticRoute(val *l3.StaticRoutes_Route) vppclient.DataResyncDSL

StaticRoute adds L3 Static Route to the RESYNC request.

func (*DataResyncDSL) StnRule

func (dsl *DataResyncDSL) StnRule(val *stn.STN_Rule) vppclient.DataResyncDSL

StnRule adds Stn rule to the RESYNC request.

func (*DataResyncDSL) XConnect

func (dsl *DataResyncDSL) XConnect(val *l2.XConnectPairs_XConnectPair) vppclient.DataResyncDSL

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) vppclient.DeleteDSL

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

func (*DeleteDSL) AppNamespace

func (dsl *DeleteDSL) AppNamespace(id string) vppclient.DeleteDSL

AppNamespace adds a request to delete an existing VPP Application Namespace.

func (*DeleteDSL) Arp

func (dsl *DeleteDSL) Arp(ifaceName string, ipAddr string) vppclient.DeleteDSL

Arp adds a request to delete an existing VPP L3 ARP entry.

func (*DeleteDSL) BD

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

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

func (*DeleteDSL) BDFIB

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

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

func (*DeleteDSL) BfdAuthKeys

func (dsl *DeleteDSL) BfdAuthKeys(bfdKey string) vppclient.DeleteDSL

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

func (*DeleteDSL) BfdEchoFunction

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

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

func (*DeleteDSL) BfdSession

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

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

func (*DeleteDSL) IPSecSA

func (dsl *DeleteDSL) IPSecSA(saName string) vppclient.DeleteDSL

IPSecSA adds request to delete a Security Association

func (*DeleteDSL) IPSecSPD

func (dsl *DeleteDSL) IPSecSPD(spdName string) vppclient.DeleteDSL

IPSecSPD adds request to delete a Security Policy Database

func (*DeleteDSL) IPSecTunnel added in v1.8.1

func (dsl *DeleteDSL) IPSecTunnel(name string) vppclient.DeleteDSL

IPSecTunnel adds request to delete an IPSec tunnel

func (*DeleteDSL) Interface

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

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

func (*DeleteDSL) L4Features

func (dsl *DeleteDSL) L4Features() vppclient.DeleteDSL

L4Features delete request for the L4Features

func (*DeleteDSL) NAT44DNat

func (dsl *DeleteDSL) NAT44DNat(label string) vppclient.DeleteDSL

NAT44DNat adds a request to delete a DNAT configuration

func (*DeleteDSL) NAT44Global

func (dsl *DeleteDSL) NAT44Global() vppclient.DeleteDSL

NAT44Global adds a request to remove global configuration for NAT44

func (*DeleteDSL) ProxyArpInterfaces

func (dsl *DeleteDSL) ProxyArpInterfaces(label string) vppclient.DeleteDSL

ProxyArpInterfaces adds a request to delete an existing VPP L3 proxy ARP interfaces

func (*DeleteDSL) ProxyArpRanges

func (dsl *DeleteDSL) ProxyArpRanges(label string) vppclient.DeleteDSL

ProxyArpRanges adds a request to delete an existing VPP L3 proxy ARP ranges

func (*DeleteDSL) PuntSocketDeregister added in v1.8.1

func (dsl *DeleteDSL) PuntSocketDeregister(name string) vppclient.DeleteDSL

PuntSocketDeregister adds request to de-register an existing punt to host entry

func (*DeleteDSL) Put

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

Put changes the DSL mode to allow configuration editing.

func (*DeleteDSL) Send

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

Send propagates requested changes to the plugins.

func (*DeleteDSL) StaticRoute

func (dsl *DeleteDSL) StaticRoute(vrf uint32, dstAddr string, nextHopAddr string) vppclient.DeleteDSL

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

func (*DeleteDSL) StnRule

func (dsl *DeleteDSL) StnRule(ruleName string) vppclient.DeleteDSL

StnRule adds request to delete Stn rule.

func (*DeleteDSL) XConnect

func (dsl *DeleteDSL) XConnect(rxIfName string) vppclient.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

func (dsl *PutDSL) ACL(val *acl.AccessLists_Acl) vppclient.PutDSL

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

func (*PutDSL) AppNamespace

func (dsl *PutDSL) AppNamespace(val *l4.AppNamespaces_AppNamespace) vppclient.PutDSL

AppNamespace create or update request for the Application Namespaces List

func (*PutDSL) Arp

func (dsl *PutDSL) Arp(arp *l3.ArpTable_ArpEntry) vppclient.PutDSL

Arp adds a request to create or update VPP L3 ARP entry.

func (*PutDSL) BD

func (dsl *PutDSL) BD(val *l2.BridgeDomains_BridgeDomain) vppclient.PutDSL

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

func (*PutDSL) BDFIB

func (dsl *PutDSL) BDFIB(val *l2.FibTable_FibEntry) vppclient.PutDSL

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

func (*PutDSL) BfdAuthKeys

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

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

func (*PutDSL) BfdEchoFunction

func (dsl *PutDSL) BfdEchoFunction(val *bfd.SingleHopBFD_EchoFunction) vppclient.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) vppclient.PutDSL

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

func (*PutDSL) Delete

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

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

func (*PutDSL) IPSecSA

func (dsl *PutDSL) IPSecSA(sa *ipsec.SecurityAssociations_SA) vppclient.PutDSL

IPSecSA adds request to create a new Security Association

func (*PutDSL) IPSecSPD

func (dsl *PutDSL) IPSecSPD(spd *ipsec.SecurityPolicyDatabases_SPD) vppclient.PutDSL

IPSecSPD adds request to create a new Security Policy Database

func (*PutDSL) IPSecTunnel added in v1.8.1

func (dsl *PutDSL) IPSecTunnel(tunnel *ipsec.TunnelInterfaces_Tunnel) vppclient.PutDSL

IPSecTunnel adds request to create a new IPSec tunnel

func (*PutDSL) Interface

func (dsl *PutDSL) Interface(val *interfaces.Interfaces_Interface) vppclient.PutDSL

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

func (*PutDSL) L4Features

func (dsl *PutDSL) L4Features(val *l4.L4Features) vppclient.PutDSL

L4Features create or update request for the L4Features

func (*PutDSL) NAT44DNat

func (dsl *PutDSL) NAT44DNat(nat44 *nat.Nat44DNat_DNatConfig) vppclient.PutDSL

NAT44DNat adds a request to create a new DNAT configuration

func (*PutDSL) NAT44Global

func (dsl *PutDSL) NAT44Global(nat44 *nat.Nat44Global) vppclient.PutDSL

NAT44Global adds a request to set global configuration for NAT44

func (*PutDSL) ProxyArpInterfaces

func (dsl *PutDSL) ProxyArpInterfaces(arp *l3.ProxyArpInterfaces_InterfaceList) vppclient.PutDSL

ProxyArpInterfaces adds a request to create or update VPP L3 proxy ARP interfaces.

func (*PutDSL) ProxyArpRanges

func (dsl *PutDSL) ProxyArpRanges(arp *l3.ProxyArpRanges_RangeList) vppclient.PutDSL

ProxyArpRanges adds a request to create or update VPP L3 proxy ARP ranges

func (*PutDSL) PuntSocketRegister added in v1.8.1

func (dsl *PutDSL) PuntSocketRegister(puntCfg *punt.Punt) vppclient.PutDSL

PuntSocketRegister adds request to register a new punt to host entry

func (*PutDSL) Send

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

Send propagates requested changes to the plugins.

func (*PutDSL) StaticRoute

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

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

func (*PutDSL) StnRule

func (dsl *PutDSL) StnRule(val *stn.STN_Rule) vppclient.PutDSL

StnRule adds a request to create or update STN rule.

func (*PutDSL) XConnect

func (dsl *PutDSL) XConnect(val *l2.XConnectPairs_XConnectPair) vppclient.PutDSL

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