Documentation ¶
Overview ¶
Package dbadapter implements Domain Specific Language (DSL) for resync and change of VPP and Linux configuration.
Index ¶
- type DataChangeDSL
- type DataResyncDSL
- func (dsl *DataResyncDSL) ACL(acl *vpp_acl.AccessLists_Acl) linux.DataResyncDSL
- func (dsl *DataResyncDSL) BD(bd *vpp_l2.BridgeDomains_BridgeDomain) linux.DataResyncDSL
- func (dsl *DataResyncDSL) BDFIB(fib *vpp_l2.FibTableEntries_FibTableEntry) linux.DataResyncDSL
- func (dsl *DataResyncDSL) BfdAuthKeys(val *vpp_bfd.SingleHopBFD_Key) linux.DataResyncDSL
- func (dsl *DataResyncDSL) BfdEchoFunction(val *vpp_bfd.SingleHopBFD_EchoFunction) linux.DataResyncDSL
- func (dsl *DataResyncDSL) BfdSession(val *vpp_bfd.SingleHopBFD_Session) linux.DataResyncDSL
- func (dsl *DataResyncDSL) LinuxInterface(val *interfaces.LinuxInterfaces_Interface) linux.DataResyncDSL
- func (dsl *DataResyncDSL) Send() vpp_clientv1.Reply
- func (dsl *DataResyncDSL) StaticRoute(staticRoute *vpp_l3.StaticRoutes_Route) linux.DataResyncDSL
- func (dsl *DataResyncDSL) VppInterface(intf *vpp_intf.Interfaces_Interface) linux.DataResyncDSL
- func (dsl *DataResyncDSL) XConnect(xcon *vpp_l2.XConnectPairs_XConnectPair) linux.DataResyncDSL
- type DeleteDSL
- func (dsl *DeleteDSL) ACL(aclName string) linux.DeleteDSL
- func (dsl *DeleteDSL) BD(bdName string) linux.DeleteDSL
- func (dsl *DeleteDSL) BDFIB(bdName string, mac string) linux.DeleteDSL
- func (dsl *DeleteDSL) BfdAuthKeys(bfdKeyName string) linux.DeleteDSL
- func (dsl *DeleteDSL) BfdEchoFunction(bfdEchoName string) linux.DeleteDSL
- func (dsl *DeleteDSL) BfdSession(bfdSessionIfaceName string) linux.DeleteDSL
- func (dsl *DeleteDSL) LinuxInterface(interfaceName string) linux.DeleteDSL
- func (dsl *DeleteDSL) Put() linux.PutDSL
- func (dsl *DeleteDSL) Send() vpp_clientv1.Reply
- func (dsl *DeleteDSL) StaticRoute(vrf uint32, dstAddrInput *net.IPNet, nextHopAddrInput net.IP) linux.DeleteDSL
- func (dsl *DeleteDSL) VppInterface(ifaceName string) linux.DeleteDSL
- func (dsl *DeleteDSL) XConnect(rxIfaceName string) linux.DeleteDSL
- type PutDSL
- func (dsl *PutDSL) ACL(acl *vpp_acl.AccessLists_Acl) linux.PutDSL
- func (dsl *PutDSL) BD(val *vpp_l2.BridgeDomains_BridgeDomain) linux.PutDSL
- func (dsl *PutDSL) BDFIB(fib *vpp_l2.FibTableEntries_FibTableEntry) linux.PutDSL
- func (dsl *PutDSL) BfdAuthKeys(val *vpp_bfd.SingleHopBFD_Key) linux.PutDSL
- func (dsl *PutDSL) BfdEchoFunction(val *vpp_bfd.SingleHopBFD_EchoFunction) linux.PutDSL
- func (dsl *PutDSL) BfdSession(val *vpp_bfd.SingleHopBFD_Session) linux.PutDSL
- func (dsl *PutDSL) Delete() linux.DeleteDSL
- func (dsl *PutDSL) LinuxInterface(val *interfaces.LinuxInterfaces_Interface) linux.PutDSL
- func (dsl *PutDSL) Send() vpp_clientv1.Reply
- func (dsl *PutDSL) StaticRoute(val *vpp_l3.StaticRoutes_Route) linux.PutDSL
- func (dsl *PutDSL) VppInterface(val *vpp_intf.Interfaces_Interface) linux.PutDSL
- func (dsl *PutDSL) XConnect(val *vpp_l2.XConnectPairs_XConnectPair) linux.PutDSL
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 both Linux and VPP configuration.
func NewDataChangeDSL ¶
func NewDataChangeDSL(txn keyval.ProtoTxn) *DataChangeDSL
NewDataChangeDSL returns a new instance of DataChangeDSL which implements the data change DSL for both Linux and VPP config (inherits dbadapter from defaultplugins) Transaction <txn> is used to propagate changes to plugins.
func (*DataChangeDSL) Delete ¶
func (dsl *DataChangeDSL) Delete() linux.DeleteDSL
Delete initiates a chained sequence of data change DSL statements removing existing configurable objects.
func (*DataChangeDSL) Put ¶
func (dsl *DataChangeDSL) Put() linux.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() vpp_clientv1.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 both Linux and 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 both Linux and VPP config (inherits dbadapter from defaultplugins) 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(acl *vpp_acl.AccessLists_Acl) linux.DataResyncDSL
ACL adds VPP Access Control List to the RESYNC request.
func (*DataResyncDSL) BD ¶
func (dsl *DataResyncDSL) BD(bd *vpp_l2.BridgeDomains_BridgeDomain) linux.DataResyncDSL
BD adds VPP Bridge Domain to the RESYNC request.
func (*DataResyncDSL) BDFIB ¶
func (dsl *DataResyncDSL) BDFIB(fib *vpp_l2.FibTableEntries_FibTableEntry) linux.DataResyncDSL
BDFIB adds VPP L2 FIB to the RESYNC request.
func (*DataResyncDSL) BfdAuthKeys ¶ added in v1.0.5
func (dsl *DataResyncDSL) BfdAuthKeys(val *vpp_bfd.SingleHopBFD_Key) linux.DataResyncDSL
BfdAuthKeys adds VPP bidirectional forwarding detection key to the RESYNC request.
func (*DataResyncDSL) BfdEchoFunction ¶ added in v1.0.5
func (dsl *DataResyncDSL) BfdEchoFunction(val *vpp_bfd.SingleHopBFD_EchoFunction) linux.DataResyncDSL
BfdEchoFunction adds VPP bidirectional forwarding detection echo function to the RESYNC request.
func (*DataResyncDSL) BfdSession ¶ added in v1.0.5
func (dsl *DataResyncDSL) BfdSession(val *vpp_bfd.SingleHopBFD_Session) linux.DataResyncDSL
BfdSession adds VPP bidirectional forwarding detection session to the RESYNC request.
func (*DataResyncDSL) LinuxInterface ¶
func (dsl *DataResyncDSL) LinuxInterface(val *interfaces.LinuxInterfaces_Interface) linux.DataResyncDSL
LinuxInterface adds Linux interface to the RESYNC request.
func (*DataResyncDSL) Send ¶
func (dsl *DataResyncDSL) Send() vpp_clientv1.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(staticRoute *vpp_l3.StaticRoutes_Route) linux.DataResyncDSL
StaticRoute adds VPP L3 Static Route to the RESYNC request.
func (*DataResyncDSL) VppInterface ¶
func (dsl *DataResyncDSL) VppInterface(intf *vpp_intf.Interfaces_Interface) linux.DataResyncDSL
VppInterface adds VPP interface to the RESYNC request.
func (*DataResyncDSL) XConnect ¶
func (dsl *DataResyncDSL) XConnect(xcon *vpp_l2.XConnectPairs_XConnectPair) linux.DataResyncDSL
XConnect adds VPP 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) BDFIB ¶
BDFIB adds a request to delete an existing VPP L2 Forwarding Information Base.
func (*DeleteDSL) BfdAuthKeys ¶ added in v1.0.5
BfdAuthKeys adds a request to delete an existing VPP bidirectional forwarding detection key.
func (*DeleteDSL) BfdEchoFunction ¶ added in v1.0.5
BfdEchoFunction adds a request to delete an existing VPP bidirectional forwarding detection echo function.
func (*DeleteDSL) BfdSession ¶ added in v1.0.5
BfdSession adds a request to delete an existing VPP bidirectional forwarding detection session.
func (*DeleteDSL) LinuxInterface ¶
LinuxInterface adds a request to delete an existing Linux network interface.
func (*DeleteDSL) Send ¶
func (dsl *DeleteDSL) Send() vpp_clientv1.Reply
Send propagates requested changes to the plugins.
func (*DeleteDSL) StaticRoute ¶
func (dsl *DeleteDSL) StaticRoute(vrf uint32, dstAddrInput *net.IPNet, nextHopAddrInput net.IP) linux.DeleteDSL
StaticRoute adds a request to delete an existing VPP L3 Static Route.
func (*DeleteDSL) VppInterface ¶
VppInterface adds a request to delete an existing VPP network interface.
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(acl *vpp_acl.AccessLists_Acl) linux.PutDSL
ACL adds a request to create or update VPP Access Control List.
func (*PutDSL) BD ¶
func (dsl *PutDSL) BD(val *vpp_l2.BridgeDomains_BridgeDomain) linux.PutDSL
BD adds a request to create or update VPP Bridge Domain.
func (*PutDSL) BDFIB ¶
func (dsl *PutDSL) BDFIB(fib *vpp_l2.FibTableEntries_FibTableEntry) linux.PutDSL
BDFIB adds a request to create or update VPP L2 Forwarding Information Base.
func (*PutDSL) BfdAuthKeys ¶ added in v1.0.5
func (dsl *PutDSL) BfdAuthKeys(val *vpp_bfd.SingleHopBFD_Key) linux.PutDSL
BfdAuthKeys adds a request to create or update VPP bidirectional forwarding detection key.
func (*PutDSL) BfdEchoFunction ¶ added in v1.0.5
func (dsl *PutDSL) BfdEchoFunction(val *vpp_bfd.SingleHopBFD_EchoFunction) linux.PutDSL
BfdEchoFunction adds a request to create or update VPP bidirectional forwarding detection echo function.
func (*PutDSL) BfdSession ¶ added in v1.0.5
func (dsl *PutDSL) BfdSession(val *vpp_bfd.SingleHopBFD_Session) linux.PutDSL
BfdSession adds a request to create or update VPP bidirectional forwarding detection session.
func (*PutDSL) LinuxInterface ¶
func (dsl *PutDSL) LinuxInterface(val *interfaces.LinuxInterfaces_Interface) linux.PutDSL
LinuxInterface adds a request to create or update Linux network interface.
func (*PutDSL) Send ¶
func (dsl *PutDSL) Send() vpp_clientv1.Reply
Send propagates requested changes to the plugins.
func (*PutDSL) StaticRoute ¶
func (dsl *PutDSL) StaticRoute(val *vpp_l3.StaticRoutes_Route) linux.PutDSL
StaticRoute adds a request to create or update VPP L3 Static Route.
func (*PutDSL) VppInterface ¶
func (dsl *PutDSL) VppInterface(val *vpp_intf.Interfaces_Interface) linux.PutDSL
VppInterface adds a request to create or update VPP network interface.