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 ¶
- type DataChangeDSL
- type DataResyncDSL
- func (dsl *DataResyncDSL) ACL(val *acl.AccessLists_Acl) defaultplugins.DataResyncDSL
- func (dsl *DataResyncDSL) AppNamespace(val *l4.AppNamespaces_AppNamespace) defaultplugins.DataResyncDSL
- func (dsl *DataResyncDSL) Arp(val *l3.ArpTable_ArpEntry) defaultplugins.DataResyncDSL
- func (dsl *DataResyncDSL) BD(val *l2.BridgeDomains_BridgeDomain) defaultplugins.DataResyncDSL
- func (dsl *DataResyncDSL) BDFIB(val *l2.FibTable_FibEntry) defaultplugins.DataResyncDSL
- func (dsl *DataResyncDSL) BfdAuthKeys(val *bfd.SingleHopBFD_Key) defaultplugins.DataResyncDSL
- func (dsl *DataResyncDSL) BfdEchoFunction(val *bfd.SingleHopBFD_EchoFunction) defaultplugins.DataResyncDSL
- func (dsl *DataResyncDSL) BfdSession(val *bfd.SingleHopBFD_Session) defaultplugins.DataResyncDSL
- func (dsl *DataResyncDSL) IPSecSA(sa *ipsec.SecurityAssociations_SA) defaultplugins.DataResyncDSL
- func (dsl *DataResyncDSL) IPSecSPD(spd *ipsec.SecurityPolicyDatabases_SPD) defaultplugins.DataResyncDSL
- func (dsl *DataResyncDSL) Interface(val *interfaces.Interfaces_Interface) defaultplugins.DataResyncDSL
- func (dsl *DataResyncDSL) L4Features(val *l4.L4Features) defaultplugins.DataResyncDSL
- func (dsl *DataResyncDSL) NAT44DNat(nat44 *nat.Nat44DNat_DNatConfig) defaultplugins.DataResyncDSL
- func (dsl *DataResyncDSL) NAT44Global(nat44 *nat.Nat44Global) defaultplugins.DataResyncDSL
- func (dsl *DataResyncDSL) ProxyArpInterfaces(val *l3.ProxyArpInterfaces_InterfaceList) defaultplugins.DataResyncDSL
- func (dsl *DataResyncDSL) ProxyArpRanges(val *l3.ProxyArpRanges_RangeList) defaultplugins.DataResyncDSL
- func (dsl *DataResyncDSL) Send() defaultplugins.Reply
- func (dsl *DataResyncDSL) StaticRoute(val *l3.StaticRoutes_Route) defaultplugins.DataResyncDSL
- func (dsl *DataResyncDSL) StnRule(val *stn.STN_Rule) defaultplugins.DataResyncDSL
- func (dsl *DataResyncDSL) XConnect(val *l2.XConnectPairs_XConnectPair) defaultplugins.DataResyncDSL
- type DeleteDSL
- func (dsl *DeleteDSL) ACL(aclName string) defaultplugins.DeleteDSL
- func (dsl *DeleteDSL) AppNamespace(id string) defaultplugins.DeleteDSL
- func (dsl *DeleteDSL) Arp(ifaceName string, ipAddr string) defaultplugins.DeleteDSL
- func (dsl *DeleteDSL) BD(bdName string) defaultplugins.DeleteDSL
- func (dsl *DeleteDSL) BDFIB(bdName string, mac string) defaultplugins.DeleteDSL
- func (dsl *DeleteDSL) BfdAuthKeys(bfdKey string) defaultplugins.DeleteDSL
- func (dsl *DeleteDSL) BfdEchoFunction(bfdEchoName string) defaultplugins.DeleteDSL
- func (dsl *DeleteDSL) BfdSession(bfdSessionIfaceName string) defaultplugins.DeleteDSL
- func (dsl *DeleteDSL) IPSecSA(saName string) defaultplugins.DeleteDSL
- func (dsl *DeleteDSL) IPSecSPD(spdName string) defaultplugins.DeleteDSL
- func (dsl *DeleteDSL) Interface(interfaceName string) defaultplugins.DeleteDSL
- func (dsl *DeleteDSL) L4Features() defaultplugins.DeleteDSL
- func (dsl *DeleteDSL) NAT44DNat(label string) defaultplugins.DeleteDSL
- func (dsl *DeleteDSL) NAT44Global() defaultplugins.DeleteDSL
- func (dsl *DeleteDSL) ProxyArpInterfaces(label string) defaultplugins.DeleteDSL
- func (dsl *DeleteDSL) ProxyArpRanges(label string) defaultplugins.DeleteDSL
- func (dsl *DeleteDSL) Put() defaultplugins.PutDSL
- func (dsl *DeleteDSL) Send() defaultplugins.Reply
- func (dsl *DeleteDSL) StaticRoute(vrf uint32, dstAddr string, nextHopAddr string) defaultplugins.DeleteDSL
- func (dsl *DeleteDSL) StnRule(ruleName string) defaultplugins.DeleteDSL
- func (dsl *DeleteDSL) XConnect(rxIfName string) defaultplugins.DeleteDSL
- type PutDSL
- func (dsl *PutDSL) ACL(val *acl.AccessLists_Acl) defaultplugins.PutDSL
- func (dsl *PutDSL) AppNamespace(val *l4.AppNamespaces_AppNamespace) defaultplugins.PutDSL
- func (dsl *PutDSL) Arp(arp *l3.ArpTable_ArpEntry) defaultplugins.PutDSL
- func (dsl *PutDSL) BD(val *l2.BridgeDomains_BridgeDomain) defaultplugins.PutDSL
- func (dsl *PutDSL) BDFIB(val *l2.FibTable_FibEntry) defaultplugins.PutDSL
- func (dsl *PutDSL) BfdAuthKeys(val *bfd.SingleHopBFD_Key) defaultplugins.PutDSL
- func (dsl *PutDSL) BfdEchoFunction(val *bfd.SingleHopBFD_EchoFunction) defaultplugins.PutDSL
- func (dsl *PutDSL) BfdSession(val *bfd.SingleHopBFD_Session) defaultplugins.PutDSL
- func (dsl *PutDSL) Delete() defaultplugins.DeleteDSL
- func (dsl *PutDSL) IPSecSA(sa *ipsec.SecurityAssociations_SA) defaultplugins.PutDSL
- func (dsl *PutDSL) IPSecSPD(spd *ipsec.SecurityPolicyDatabases_SPD) defaultplugins.PutDSL
- func (dsl *PutDSL) Interface(val *interfaces.Interfaces_Interface) defaultplugins.PutDSL
- func (dsl *PutDSL) L4Features(val *l4.L4Features) defaultplugins.PutDSL
- func (dsl *PutDSL) NAT44DNat(nat44 *nat.Nat44DNat_DNatConfig) defaultplugins.PutDSL
- func (dsl *PutDSL) NAT44Global(nat44 *nat.Nat44Global) defaultplugins.PutDSL
- func (dsl *PutDSL) ProxyArpInterfaces(arp *l3.ProxyArpInterfaces_InterfaceList) defaultplugins.PutDSL
- func (dsl *PutDSL) ProxyArpRanges(arp *l3.ProxyArpRanges_RangeList) defaultplugins.PutDSL
- func (dsl *PutDSL) Send() defaultplugins.Reply
- func (dsl *PutDSL) StaticRoute(val *l3.StaticRoutes_Route) defaultplugins.PutDSL
- func (dsl *PutDSL) StnRule(val *stn.STN_Rule) defaultplugins.PutDSL
- func (dsl *PutDSL) XConnect(val *l2.XConnectPairs_XConnectPair) defaultplugins.PutDSL
- type Reply
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 configurable objects or changing existing ones.
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 ¶
func (dsl *DataResyncDSL) ACL(val *acl.AccessLists_Acl) defaultplugins.DataResyncDSL
ACL adds Access Control List to the RESYNC request.
func (*DataResyncDSL) AppNamespace ¶ added in v1.0.8
func (dsl *DataResyncDSL) AppNamespace(val *l4.AppNamespaces_AppNamespace) defaultplugins.DataResyncDSL
AppNamespace adds Application Namespace to the RESYNC request
func (*DataResyncDSL) Arp ¶ added in v1.0.8
func (dsl *DataResyncDSL) Arp(val *l3.ArpTable_ArpEntry) defaultplugins.DataResyncDSL
Arp adds L3 ARP entry to the RESYNC request.
func (*DataResyncDSL) BD ¶
func (dsl *DataResyncDSL) BD(val *l2.BridgeDomains_BridgeDomain) defaultplugins.DataResyncDSL
BD adds Bridge Domain to the RESYNC request.
func (*DataResyncDSL) BDFIB ¶
func (dsl *DataResyncDSL) BDFIB(val *l2.FibTable_FibEntry) defaultplugins.DataResyncDSL
BDFIB adds Bridge Domain to the RESYNC request.
func (*DataResyncDSL) BfdAuthKeys ¶ added in v1.0.5
func (dsl *DataResyncDSL) BfdAuthKeys(val *bfd.SingleHopBFD_Key) defaultplugins.DataResyncDSL
BfdAuthKeys adds bidirectional forwarding detection key to the RESYNC request.
func (*DataResyncDSL) BfdEchoFunction ¶
func (dsl *DataResyncDSL) BfdEchoFunction(val *bfd.SingleHopBFD_EchoFunction) defaultplugins.DataResyncDSL
BfdEchoFunction adds bidirectional forwarding detection echo function to the RESYNC request.
func (*DataResyncDSL) BfdSession ¶
func (dsl *DataResyncDSL) BfdSession(val *bfd.SingleHopBFD_Session) defaultplugins.DataResyncDSL
BfdSession adds bidirectional forwarding detection session to the RESYNC request.
func (*DataResyncDSL) IPSecSA ¶ added in v1.4.0
func (dsl *DataResyncDSL) IPSecSA(sa *ipsec.SecurityAssociations_SA) defaultplugins.DataResyncDSL
IPSecSA adds request to create a new Security Association
func (*DataResyncDSL) IPSecSPD ¶ added in v1.4.0
func (dsl *DataResyncDSL) IPSecSPD(spd *ipsec.SecurityPolicyDatabases_SPD) defaultplugins.DataResyncDSL
IPSecSPD adds request to create a new Security Policy Database
func (*DataResyncDSL) Interface ¶
func (dsl *DataResyncDSL) Interface(val *interfaces.Interfaces_Interface) defaultplugins.DataResyncDSL
Interface adds VPP interface to the RESYNC request.
func (*DataResyncDSL) L4Features ¶ added in v1.0.8
func (dsl *DataResyncDSL) L4Features(val *l4.L4Features) defaultplugins.DataResyncDSL
L4Features adds L4Features to the RESYNC request
func (*DataResyncDSL) NAT44DNat ¶ added in v1.4.0
func (dsl *DataResyncDSL) NAT44DNat(nat44 *nat.Nat44DNat_DNatConfig) defaultplugins.DataResyncDSL
NAT44DNat adds a request to RESYNC a new DNAT configuration
func (*DataResyncDSL) NAT44Global ¶ added in v1.4.0
func (dsl *DataResyncDSL) NAT44Global(nat44 *nat.Nat44Global) defaultplugins.DataResyncDSL
NAT44Global adds a request to RESYNC global configuration for NAT44
func (*DataResyncDSL) ProxyArpInterfaces ¶ added in v1.4.0
func (dsl *DataResyncDSL) ProxyArpInterfaces(val *l3.ProxyArpInterfaces_InterfaceList) defaultplugins.DataResyncDSL
ProxyArpInterfaces adds L3 proxy ARP interfaces to the RESYNC request.
func (*DataResyncDSL) ProxyArpRanges ¶ added in v1.4.0
func (dsl *DataResyncDSL) ProxyArpRanges(val *l3.ProxyArpRanges_RangeList) defaultplugins.DataResyncDSL
ProxyArpRanges adds L3 proxy ARP ranges 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 ¶
func (dsl *DataResyncDSL) StaticRoute(val *l3.StaticRoutes_Route) defaultplugins.DataResyncDSL
StaticRoute adds L3 Static Route to the RESYNC request.
func (*DataResyncDSL) StnRule ¶ added in v1.4.0
func (dsl *DataResyncDSL) StnRule(val *stn.STN_Rule) defaultplugins.DataResyncDSL
StnRule adds Stn rule to the RESYNC request.
func (*DataResyncDSL) XConnect ¶
func (dsl *DataResyncDSL) XConnect(val *l2.XConnectPairs_XConnectPair) defaultplugins.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) defaultplugins.DeleteDSL
ACL adds a request to delete an existing VPP Access Control List.
func (*DeleteDSL) AppNamespace ¶ added in v1.0.8
func (dsl *DeleteDSL) AppNamespace(id string) defaultplugins.DeleteDSL
AppNamespace adds a request to delete an existing VPP Application Namespace.
func (*DeleteDSL) Arp ¶ added in v1.0.8
func (dsl *DeleteDSL) Arp(ifaceName string, ipAddr string) defaultplugins.DeleteDSL
Arp adds a request to delete an existing VPP L3 ARP entry.
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(bfdKey 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) IPSecSA ¶ added in v1.4.0
func (dsl *DeleteDSL) IPSecSA(saName string) defaultplugins.DeleteDSL
IPSecSA adds request to create a new Security Association
func (*DeleteDSL) IPSecSPD ¶ added in v1.4.0
func (dsl *DeleteDSL) IPSecSPD(spdName string) defaultplugins.DeleteDSL
IPSecSPD adds request to create a new Security Policy Database
func (*DeleteDSL) Interface ¶
func (dsl *DeleteDSL) Interface(interfaceName string) defaultplugins.DeleteDSL
Interface adds a request to delete an existing VPP network interface.
func (*DeleteDSL) L4Features ¶ added in v1.0.8
func (dsl *DeleteDSL) L4Features() defaultplugins.DeleteDSL
L4Features delete request for the L4Features
func (*DeleteDSL) NAT44DNat ¶ added in v1.4.0
func (dsl *DeleteDSL) NAT44DNat(label string) defaultplugins.DeleteDSL
NAT44DNat adds a request to delete a new DNAT configuration
func (*DeleteDSL) NAT44Global ¶ added in v1.4.0
func (dsl *DeleteDSL) NAT44Global() defaultplugins.DeleteDSL
NAT44Global adds a request to remove global configuration for NAT44
func (*DeleteDSL) ProxyArpInterfaces ¶ added in v1.4.0
func (dsl *DeleteDSL) ProxyArpInterfaces(label string) defaultplugins.DeleteDSL
ProxyArpInterfaces adds a request to delete an existing VPP L3 proxy ARP interfaces
func (*DeleteDSL) ProxyArpRanges ¶ added in v1.4.0
func (dsl *DeleteDSL) ProxyArpRanges(label string) defaultplugins.DeleteDSL
ProxyArpRanges adds a request to delete an existing VPP L3 proxy ARP ranges
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, dstAddr string, nextHopAddr string) defaultplugins.DeleteDSL
StaticRoute adds a request to delete an existing VPP L3 Static Route.
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) defaultplugins.PutDSL
ACL adds a request to create or update VPP Access Control List.
func (*PutDSL) AppNamespace ¶ added in v1.0.8
func (dsl *PutDSL) AppNamespace(val *l4.AppNamespaces_AppNamespace) defaultplugins.PutDSL
AppNamespace create or update request for the Application Namespaces List
func (*PutDSL) Arp ¶ added in v1.0.8
func (dsl *PutDSL) Arp(arp *l3.ArpTable_ArpEntry) defaultplugins.PutDSL
Arp adds a request to create or update VPP L3 ARP entry.
func (*PutDSL) BD ¶
func (dsl *PutDSL) BD(val *l2.BridgeDomains_BridgeDomain) defaultplugins.PutDSL
BD adds a request to create or update VPP Bridge Domain.
func (*PutDSL) BDFIB ¶
func (dsl *PutDSL) BDFIB(val *l2.FibTable_FibEntry) defaultplugins.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) 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) IPSecSA ¶ added in v1.4.0
func (dsl *PutDSL) IPSecSA(sa *ipsec.SecurityAssociations_SA) defaultplugins.PutDSL
IPSecSA adds request to create a new Security Association
func (*PutDSL) IPSecSPD ¶ added in v1.4.0
func (dsl *PutDSL) IPSecSPD(spd *ipsec.SecurityPolicyDatabases_SPD) defaultplugins.PutDSL
IPSecSPD adds request to create a new Security Policy Database
func (*PutDSL) Interface ¶
func (dsl *PutDSL) Interface(val *interfaces.Interfaces_Interface) defaultplugins.PutDSL
Interface adds a request to create or update VPP network interface.
func (*PutDSL) L4Features ¶ added in v1.0.8
func (dsl *PutDSL) L4Features(val *l4.L4Features) defaultplugins.PutDSL
L4Features create or update request for the L4Features
func (*PutDSL) NAT44DNat ¶ added in v1.4.0
func (dsl *PutDSL) NAT44DNat(nat44 *nat.Nat44DNat_DNatConfig) defaultplugins.PutDSL
NAT44DNat adds a request to create a new DNAT configuration
func (*PutDSL) NAT44Global ¶ added in v1.4.0
func (dsl *PutDSL) NAT44Global(nat44 *nat.Nat44Global) defaultplugins.PutDSL
NAT44Global adds a request to set global configuration for NAT44
func (*PutDSL) ProxyArpInterfaces ¶ added in v1.4.0
func (dsl *PutDSL) ProxyArpInterfaces(arp *l3.ProxyArpInterfaces_InterfaceList) defaultplugins.PutDSL
ProxyArpInterfaces adds a request to create or update VPP L3 proxy ARP interfaces.
func (*PutDSL) ProxyArpRanges ¶ added in v1.4.0
func (dsl *PutDSL) ProxyArpRanges(arp *l3.ProxyArpRanges_RangeList) defaultplugins.PutDSL
ProxyArpRanges adds a request to create or update VPP L3 proxy ARP ranges
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) StnRule ¶ added in v1.4.0
func (dsl *PutDSL) StnRule(val *stn.STN_Rule) defaultplugins.PutDSL
StnRule adds a request to create or update STN rule.
func (*PutDSL) XConnect ¶
func (dsl *PutDSL) XConnect(val *l2.XConnectPairs_XConnectPair) defaultplugins.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 ¶
ReceiveReply waits for a reply to previously called Send() and returns the result (error or nil).