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) ABF(abf *abf.ABF) linuxclient.DataResyncDSL
- func (dsl *DataResyncDSL) ACL(acl *acl.ACL) linuxclient.DataResyncDSL
- func (dsl *DataResyncDSL) Arp(arp *l3.ARPEntry) linuxclient.DataResyncDSL
- func (dsl *DataResyncDSL) BD(bd *l2.BridgeDomain) linuxclient.DataResyncDSL
- func (dsl *DataResyncDSL) BDFIB(fib *l2.FIBEntry) linuxclient.DataResyncDSL
- func (dsl *DataResyncDSL) DNAT44(nat44 *nat.DNat44) linuxclient.DataResyncDSL
- func (dsl *DataResyncDSL) FlowprobeFeature(val *ipfix.FlowProbeFeature) linuxclient.DataResyncDSL
- func (dsl *DataResyncDSL) FlowprobeParams(val *ipfix.FlowProbeParams) linuxclient.DataResyncDSL
- func (dsl *DataResyncDSL) IPFIX(val *ipfix.IPFIX) linuxclient.DataResyncDSL
- func (dsl *DataResyncDSL) IPScanNeighbor(ipScanNeigh *l3.IPScanNeighbor) linuxclient.DataResyncDSL
- func (dsl *DataResyncDSL) IPSecSA(sa *ipsec.SecurityAssociation) linuxclient.DataResyncDSL
- func (dsl *DataResyncDSL) IPSecSP(sp *ipsec.SecurityPolicy) linuxclient.DataResyncDSL
- func (dsl *DataResyncDSL) IPSecSPD(spd *ipsec.SecurityPolicyDatabase) linuxclient.DataResyncDSL
- func (dsl *DataResyncDSL) IPSecTunnelProtection(tp *ipsec.TunnelProtection) linuxclient.DataResyncDSL
- func (dsl *DataResyncDSL) IptablesRuleChain(val *linux_iptables.RuleChain) linuxclient.DataResyncDSL
- func (dsl *DataResyncDSL) LinuxArpEntry(val *linux_l3.ARPEntry) linuxclient.DataResyncDSL
- func (dsl *DataResyncDSL) LinuxInterface(val *linux_interfaces.Interface) linuxclient.DataResyncDSL
- func (dsl *DataResyncDSL) LinuxRoute(val *linux_l3.Route) linuxclient.DataResyncDSL
- func (dsl *DataResyncDSL) NAT44AddressPool(pool *nat.Nat44AddressPool) linuxclient.DataResyncDSL
- func (dsl *DataResyncDSL) NAT44Global(nat44 *nat.Nat44Global) linuxclient.DataResyncDSL
- func (dsl *DataResyncDSL) NAT44Interface(natIf *nat.Nat44Interface) linuxclient.DataResyncDSL
- func (dsl *DataResyncDSL) ProxyArp(proxyArp *l3.ProxyARP) linuxclient.DataResyncDSL
- func (dsl *DataResyncDSL) PuntException(val *punt.Exception) linuxclient.DataResyncDSL
- func (dsl *DataResyncDSL) PuntIPRedirect(val *punt.IPRedirect) linuxclient.DataResyncDSL
- func (dsl *DataResyncDSL) PuntToHost(val *punt.ToHost) linuxclient.DataResyncDSL
- func (dsl *DataResyncDSL) Send() vppclient.Reply
- func (dsl *DataResyncDSL) Span(span *interfaces.Span) linuxclient.DataResyncDSL
- func (dsl *DataResyncDSL) StaticRoute(staticRoute *l3.Route) linuxclient.DataResyncDSL
- func (dsl *DataResyncDSL) StnRule(stn *stn.Rule) linuxclient.DataResyncDSL
- func (dsl *DataResyncDSL) VRRP(val *l3.VRRPEntry) linuxclient.DataResyncDSL
- func (dsl *DataResyncDSL) VppInterface(intf *interfaces.Interface) linuxclient.DataResyncDSL
- func (dsl *DataResyncDSL) VrfTable(vrfTable *l3.VrfTable) linuxclient.DataResyncDSL
- func (dsl *DataResyncDSL) XConnect(xcon *l2.XConnectPair) linuxclient.DataResyncDSL
- type DeleteDSL
- func (dsl *DeleteDSL) ABF(abfIndex uint32) linuxclient.DeleteDSL
- func (dsl *DeleteDSL) ACL(aclName string) linuxclient.DeleteDSL
- func (dsl *DeleteDSL) Arp(ifaceName string, ipAddr string) linuxclient.DeleteDSL
- func (dsl *DeleteDSL) BD(bdName string) linuxclient.DeleteDSL
- func (dsl *DeleteDSL) BDFIB(bdName string, mac string) linuxclient.DeleteDSL
- func (dsl *DeleteDSL) DNAT44(label string) linuxclient.DeleteDSL
- func (dsl *DeleteDSL) FlowprobeFeature(val *ipfix.FlowProbeFeature) linuxclient.DeleteDSL
- func (dsl *DeleteDSL) IPScanNeighbor() linuxclient.DeleteDSL
- func (dsl *DeleteDSL) IPSecSA(saIndex uint32) linuxclient.DeleteDSL
- func (dsl *DeleteDSL) IPSecSP(sp *ipsec.SecurityPolicy) linuxclient.DeleteDSL
- func (dsl *DeleteDSL) IPSecSPD(spdIndex uint32) linuxclient.DeleteDSL
- func (dsl *DeleteDSL) IPSecTunnelProtection(tp *ipsec.TunnelProtection) linuxclient.DeleteDSL
- func (dsl *DeleteDSL) IptablesRuleChain(name string) linuxclient.DeleteDSL
- func (dsl *DeleteDSL) LinuxArpEntry(ifaceName string, ipAddr string) linuxclient.DeleteDSL
- func (dsl *DeleteDSL) LinuxInterface(interfaceName string) linuxclient.DeleteDSL
- func (dsl *DeleteDSL) LinuxRoute(dstAddr, outIfaceName string) linuxclient.DeleteDSL
- func (dsl *DeleteDSL) NAT44AddressPool(pool *nat.Nat44AddressPool) linuxclient.DeleteDSL
- func (dsl *DeleteDSL) NAT44Global() linuxclient.DeleteDSL
- func (dsl *DeleteDSL) NAT44Interface(natIf *nat.Nat44Interface) linuxclient.DeleteDSL
- func (dsl *DeleteDSL) ProxyArp() linuxclient.DeleteDSL
- func (dsl *DeleteDSL) PuntException(reason string) linuxclient.DeleteDSL
- func (dsl *DeleteDSL) PuntIPRedirect(l3Proto punt.L3Protocol, txInterface string) linuxclient.DeleteDSL
- func (dsl *DeleteDSL) PuntToHost(l3Proto punt.L3Protocol, l4Proto punt.L4Protocol, port uint32) linuxclient.DeleteDSL
- func (dsl *DeleteDSL) Put() linuxclient.PutDSL
- func (dsl *DeleteDSL) Send() vppclient.Reply
- func (dsl *DeleteDSL) Span(val *interfaces.Span) linuxclient.DeleteDSL
- func (dsl *DeleteDSL) StaticRoute(iface string, vrf uint32, dstAddr string, nextHopAddr string) linuxclient.DeleteDSL
- func (dsl *DeleteDSL) StnRule(iface, addr string) linuxclient.DeleteDSL
- func (dsl *DeleteDSL) VRRP(val *l3.VRRPEntry) linuxclient.DeleteDSL
- func (dsl *DeleteDSL) VppInterface(ifaceName string) linuxclient.DeleteDSL
- func (dsl *DeleteDSL) VrfTable(id uint32, proto l3.VrfTable_Protocol) linuxclient.DeleteDSL
- func (dsl *DeleteDSL) XConnect(rxIfaceName string) linuxclient.DeleteDSL
- type PutDSL
- func (dsl *PutDSL) ABF(abf *abf.ABF) linuxclient.PutDSL
- func (dsl *PutDSL) ACL(acl *acl.ACL) linuxclient.PutDSL
- func (dsl *PutDSL) Arp(arp *l3.ARPEntry) linuxclient.PutDSL
- func (dsl *PutDSL) BD(val *l2.BridgeDomain) linuxclient.PutDSL
- func (dsl *PutDSL) BDFIB(fib *l2.FIBEntry) linuxclient.PutDSL
- func (dsl *PutDSL) DNAT44(nat44 *nat.DNat44) linuxclient.PutDSL
- func (dsl *PutDSL) Delete() linuxclient.DeleteDSL
- func (dsl *PutDSL) FlowprobeFeature(val *ipfix.FlowProbeFeature) linuxclient.PutDSL
- func (dsl *PutDSL) FlowprobeParams(val *ipfix.FlowProbeParams) linuxclient.PutDSL
- func (dsl *PutDSL) IPFIX(val *ipfix.IPFIX) linuxclient.PutDSL
- func (dsl *PutDSL) IPScanNeighbor(ipScanNeigh *l3.IPScanNeighbor) linuxclient.PutDSL
- func (dsl *PutDSL) IPSecSA(sa *ipsec.SecurityAssociation) linuxclient.PutDSL
- func (dsl *PutDSL) IPSecSP(sp *ipsec.SecurityPolicy) linuxclient.PutDSL
- func (dsl *PutDSL) IPSecSPD(spd *ipsec.SecurityPolicyDatabase) linuxclient.PutDSL
- func (dsl *PutDSL) IPSecTunnelProtection(tp *ipsec.TunnelProtection) linuxclient.PutDSL
- func (dsl *PutDSL) IptablesRuleChain(val *linux_iptables.RuleChain) linuxclient.PutDSL
- func (dsl *PutDSL) LinuxArpEntry(val *linux_l3.ARPEntry) linuxclient.PutDSL
- func (dsl *PutDSL) LinuxInterface(val *linux_interfaces.Interface) linuxclient.PutDSL
- func (dsl *PutDSL) LinuxRoute(val *linux_l3.Route) linuxclient.PutDSL
- func (dsl *PutDSL) NAT44AddressPool(pool *nat.Nat44AddressPool) linuxclient.PutDSL
- func (dsl *PutDSL) NAT44Global(nat44 *nat.Nat44Global) linuxclient.PutDSL
- func (dsl *PutDSL) NAT44Interface(natIf *nat.Nat44Interface) linuxclient.PutDSL
- func (dsl *PutDSL) ProxyArp(proxyArp *l3.ProxyARP) linuxclient.PutDSL
- func (dsl *PutDSL) PuntException(val *punt.Exception) linuxclient.PutDSL
- func (dsl *PutDSL) PuntIPRedirect(val *punt.IPRedirect) linuxclient.PutDSL
- func (dsl *PutDSL) PuntToHost(val *punt.ToHost) linuxclient.PutDSL
- func (dsl *PutDSL) Send() vppclient.Reply
- func (dsl *PutDSL) Span(val *interfaces.Span) linuxclient.PutDSL
- func (dsl *PutDSL) StaticRoute(val *l3.Route) linuxclient.PutDSL
- func (dsl *PutDSL) StnRule(stn *stn.Rule) linuxclient.PutDSL
- func (dsl *PutDSL) VRRP(val *l3.VRRPEntry) linuxclient.PutDSL
- func (dsl *PutDSL) VppInterface(val *interfaces.Interface) linuxclient.PutDSL
- func (dsl *PutDSL) VrfTable(val *l3.VrfTable) linuxclient.PutDSL
- func (dsl *PutDSL) XConnect(val *l2.XConnectPair) linuxclient.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 vppplugin). Transaction <txn> is used to propagate changes to plugins.
func (*DataChangeDSL) Delete ¶
func (dsl *DataChangeDSL) Delete() linuxclient.DeleteDSL
Delete initiates a chained sequence of data change DSL statements removing existing configurable objects.
func (*DataChangeDSL) Put ¶
func (dsl *DataChangeDSL) Put() linuxclient.PutDSL
Put initiates a chained sequence of data change DSL statements and declares new configurable objects or changes 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 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 vppplugin). Transaction <txn> is used to propagate changes to plugins. Function <listKeys> is used to list keys with already existing configuration.
func (*DataResyncDSL) ABF ¶
func (dsl *DataResyncDSL) ABF(abf *abf.ABF) linuxclient.DataResyncDSL
ABF adds ACL-based forwarding to the RESYNC request.
func (*DataResyncDSL) ACL ¶
func (dsl *DataResyncDSL) ACL(acl *acl.ACL) linuxclient.DataResyncDSL
ACL adds VPP Access Control List to the RESYNC request.
func (*DataResyncDSL) Arp ¶
func (dsl *DataResyncDSL) Arp(arp *l3.ARPEntry) linuxclient.DataResyncDSL
Arp adds VPP L3 ARP to the RESYNC request.
func (*DataResyncDSL) BD ¶
func (dsl *DataResyncDSL) BD(bd *l2.BridgeDomain) linuxclient.DataResyncDSL
BD adds VPP Bridge Domain to the RESYNC request.
func (*DataResyncDSL) BDFIB ¶
func (dsl *DataResyncDSL) BDFIB(fib *l2.FIBEntry) linuxclient.DataResyncDSL
BDFIB adds VPP L2 FIB to the RESYNC request.
func (*DataResyncDSL) DNAT44 ¶
func (dsl *DataResyncDSL) DNAT44(nat44 *nat.DNat44) linuxclient.DataResyncDSL
DNAT44 adds DNAT44 configuration to the RESYNC request
func (*DataResyncDSL) FlowprobeFeature ¶ added in v3.2.0
func (dsl *DataResyncDSL) FlowprobeFeature(val *ipfix.FlowProbeFeature) linuxclient.DataResyncDSL
FlowprobeFeature adds Flowprobe Feature configuration to the RESYNC request.
func (*DataResyncDSL) FlowprobeParams ¶ added in v3.2.0
func (dsl *DataResyncDSL) FlowprobeParams(val *ipfix.FlowProbeParams) linuxclient.DataResyncDSL
FlowprobeParams adds Flowprobe Params configuration to the RESYNC request.
func (*DataResyncDSL) IPFIX ¶ added in v3.2.0
func (dsl *DataResyncDSL) IPFIX(val *ipfix.IPFIX) linuxclient.DataResyncDSL
IPFIX adds IPFIX configuration to the RESYNC request.
func (*DataResyncDSL) IPScanNeighbor ¶
func (dsl *DataResyncDSL) IPScanNeighbor(ipScanNeigh *l3.IPScanNeighbor) linuxclient.DataResyncDSL
IPScanNeighbor adds L3 IP Scan Neighbor to the RESYNC request.
func (*DataResyncDSL) IPSecSA ¶
func (dsl *DataResyncDSL) IPSecSA(sa *ipsec.SecurityAssociation) linuxclient.DataResyncDSL
IPSecSA adds request to RESYNC a new Security Association
func (*DataResyncDSL) IPSecSP ¶ added in v3.2.0
func (dsl *DataResyncDSL) IPSecSP(sp *ipsec.SecurityPolicy) linuxclient.DataResyncDSL
IPSecSP adds Security Policy into the RESYNC request
func (*DataResyncDSL) IPSecSPD ¶
func (dsl *DataResyncDSL) IPSecSPD(spd *ipsec.SecurityPolicyDatabase) linuxclient.DataResyncDSL
IPSecSPD adds request to RESYNC a new Security Policy Database
func (*DataResyncDSL) IPSecTunnelProtection ¶ added in v3.1.0
func (dsl *DataResyncDSL) IPSecTunnelProtection(tp *ipsec.TunnelProtection) linuxclient.DataResyncDSL
IPSecTunnelProtection adds request to RESYNC an IPSec tunnel protection
func (*DataResyncDSL) IptablesRuleChain ¶
func (dsl *DataResyncDSL) IptablesRuleChain(val *linux_iptables.RuleChain) linuxclient.DataResyncDSL
IptablesRuleChain adds iptables rule chain to the RESYNC request.
func (*DataResyncDSL) LinuxArpEntry ¶
func (dsl *DataResyncDSL) LinuxArpEntry(val *linux_l3.ARPEntry) linuxclient.DataResyncDSL
LinuxArpEntry adds Linux ARP entry to the RESYNC request.
func (*DataResyncDSL) LinuxInterface ¶
func (dsl *DataResyncDSL) LinuxInterface(val *linux_interfaces.Interface) linuxclient.DataResyncDSL
LinuxInterface adds Linux interface to the RESYNC request.
func (*DataResyncDSL) LinuxRoute ¶
func (dsl *DataResyncDSL) LinuxRoute(val *linux_l3.Route) linuxclient.DataResyncDSL
LinuxRoute adds Linux route to the RESYNC request.
func (*DataResyncDSL) NAT44AddressPool ¶
func (dsl *DataResyncDSL) NAT44AddressPool(pool *nat.Nat44AddressPool) linuxclient.DataResyncDSL
NAT44AddressPool adds NAT44 address pool configuration to the RESYNC request.
func (*DataResyncDSL) NAT44Global ¶
func (dsl *DataResyncDSL) NAT44Global(nat44 *nat.Nat44Global) linuxclient.DataResyncDSL
NAT44Global adds global NAT44 configuration to the RESYNC request.
func (*DataResyncDSL) NAT44Interface ¶
func (dsl *DataResyncDSL) NAT44Interface(natIf *nat.Nat44Interface) linuxclient.DataResyncDSL
NAT44Interface adds NAT44 interface configuration to the RESYNC request.
func (*DataResyncDSL) ProxyArp ¶
func (dsl *DataResyncDSL) ProxyArp(proxyArp *l3.ProxyARP) linuxclient.DataResyncDSL
ProxyArp adds L3 proxy ARP to the RESYNC request.
func (*DataResyncDSL) PuntException ¶
func (dsl *DataResyncDSL) PuntException(val *punt.Exception) linuxclient.DataResyncDSL
PuntException adds request to create or update exception to punt specific packets.
func (*DataResyncDSL) PuntIPRedirect ¶
func (dsl *DataResyncDSL) PuntIPRedirect(val *punt.IPRedirect) linuxclient.DataResyncDSL
PuntIPRedirect adds request to RESYNC a rule used to punt L3 traffic via interface.
func (*DataResyncDSL) PuntToHost ¶
func (dsl *DataResyncDSL) PuntToHost(val *punt.ToHost) linuxclient.DataResyncDSL
PuntToHost adds request to RESYNC a rule used to punt L4 traffic to a host.
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) Span ¶
func (dsl *DataResyncDSL) Span(span *interfaces.Span) linuxclient.DataResyncDSL
Span adds VPP span to the RESYNC request.
func (*DataResyncDSL) StaticRoute ¶
func (dsl *DataResyncDSL) StaticRoute(staticRoute *l3.Route) linuxclient.DataResyncDSL
StaticRoute adds VPP L3 Static Route to the RESYNC request.
func (*DataResyncDSL) StnRule ¶
func (dsl *DataResyncDSL) StnRule(stn *stn.Rule) linuxclient.DataResyncDSL
StnRule adds Stn rule to the RESYNC request.
func (*DataResyncDSL) VRRP ¶ added in v3.2.0
func (dsl *DataResyncDSL) VRRP(val *l3.VRRPEntry) linuxclient.DataResyncDSL
VRRP adds VRRP entry to the RESYNC request.
func (*DataResyncDSL) VppInterface ¶
func (dsl *DataResyncDSL) VppInterface(intf *interfaces.Interface) linuxclient.DataResyncDSL
VppInterface adds VPP interface to the RESYNC request.
func (*DataResyncDSL) VrfTable ¶
func (dsl *DataResyncDSL) VrfTable(vrfTable *l3.VrfTable) linuxclient.DataResyncDSL
VrfTable adds VPP VRF table to the RESYNC request.
func (*DataResyncDSL) XConnect ¶
func (dsl *DataResyncDSL) XConnect(xcon *l2.XConnectPair) linuxclient.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) ABF ¶
func (dsl *DeleteDSL) ABF(abfIndex uint32) linuxclient.DeleteDSL
ABF adds a request to delete an existing VPP ACL-based forwarding
func (*DeleteDSL) ACL ¶
func (dsl *DeleteDSL) ACL(aclName string) linuxclient.DeleteDSL
ACL adds a request to delete an existing VPP Access Control List.
func (*DeleteDSL) Arp ¶
func (dsl *DeleteDSL) Arp(ifaceName string, ipAddr string) linuxclient.DeleteDSL
Arp adds a request to delete an existing VPP L3 ARP.
func (*DeleteDSL) BD ¶
func (dsl *DeleteDSL) BD(bdName string) linuxclient.DeleteDSL
BD adds a request to delete an existing VPP Bridge Domain.
func (*DeleteDSL) BDFIB ¶
func (dsl *DeleteDSL) BDFIB(bdName string, mac string) linuxclient.DeleteDSL
BDFIB adds a request to delete an existing VPP L2 Forwarding Information Base.
func (*DeleteDSL) DNAT44 ¶
func (dsl *DeleteDSL) DNAT44(label string) linuxclient.DeleteDSL
DNAT44 adds a request to delete an existing DNAT44 configuration
func (*DeleteDSL) FlowprobeFeature ¶ added in v3.2.0
func (dsl *DeleteDSL) FlowprobeFeature(val *ipfix.FlowProbeFeature) linuxclient.DeleteDSL
FlowprobeFeature adds a request to disable Flowprobe Feature on interface.
func (*DeleteDSL) IPScanNeighbor ¶
func (dsl *DeleteDSL) IPScanNeighbor() linuxclient.DeleteDSL
IPScanNeighbor adds a request to delete an existing VPP L3 IP Scan Neighbor.
func (*DeleteDSL) IPSecSA ¶
func (dsl *DeleteDSL) IPSecSA(saIndex uint32) linuxclient.DeleteDSL
IPSecSA adds request to delete a Security Association
func (*DeleteDSL) IPSecSP ¶ added in v3.2.0
func (dsl *DeleteDSL) IPSecSP(sp *ipsec.SecurityPolicy) linuxclient.DeleteDSL
IPSecSP adds request to delete a Security Policy
func (*DeleteDSL) IPSecSPD ¶
func (dsl *DeleteDSL) IPSecSPD(spdIndex uint32) linuxclient.DeleteDSL
IPSecSPD adds request to delete a Security Policy Database
func (*DeleteDSL) IPSecTunnelProtection ¶ added in v3.1.0
func (dsl *DeleteDSL) IPSecTunnelProtection(tp *ipsec.TunnelProtection) linuxclient.DeleteDSL
IPSecTunnelProtection adds request to delete an IPSec tunnel protection from an interface
func (*DeleteDSL) IptablesRuleChain ¶
func (dsl *DeleteDSL) IptablesRuleChain(name string) linuxclient.DeleteDSL
IptablesRuleChain adds request to delete iptables rule chain.
func (*DeleteDSL) LinuxArpEntry ¶
func (dsl *DeleteDSL) LinuxArpEntry(ifaceName string, ipAddr string) linuxclient.DeleteDSL
LinuxArpEntry adds a request to delete Linux ARP entry.
func (*DeleteDSL) LinuxInterface ¶
func (dsl *DeleteDSL) LinuxInterface(interfaceName string) linuxclient.DeleteDSL
LinuxInterface adds a request to delete an existing Linux network interface.
func (*DeleteDSL) LinuxRoute ¶
func (dsl *DeleteDSL) LinuxRoute(dstAddr, outIfaceName string) linuxclient.DeleteDSL
LinuxRoute adds a request to delete Linux route.
func (*DeleteDSL) NAT44AddressPool ¶
func (dsl *DeleteDSL) NAT44AddressPool(pool *nat.Nat44AddressPool) linuxclient.DeleteDSL
NAT44AddressPool adds a request to create or update NAT44 address pool.
func (*DeleteDSL) NAT44Global ¶
func (dsl *DeleteDSL) NAT44Global() linuxclient.DeleteDSL
NAT44Global adds a request to remove global configuration for NAT44
func (*DeleteDSL) NAT44Interface ¶
func (dsl *DeleteDSL) NAT44Interface(natIf *nat.Nat44Interface) linuxclient.DeleteDSL
NAT44Interface adds a request to delete NAT44 interface configuration.
func (*DeleteDSL) ProxyArp ¶
func (dsl *DeleteDSL) ProxyArp() linuxclient.DeleteDSL
ProxyArp adds a request to delete an existing VPP L3 proxy ARP.
func (*DeleteDSL) PuntException ¶
func (dsl *DeleteDSL) PuntException(reason string) linuxclient.DeleteDSL
PuntException adds request to delete exception to punt specific packets.
func (*DeleteDSL) PuntIPRedirect ¶
func (dsl *DeleteDSL) PuntIPRedirect(l3Proto punt.L3Protocol, txInterface string) linuxclient.DeleteDSL
PuntIPRedirect adds request to delete a rule used to punt L3 traffic via interface.
func (*DeleteDSL) PuntToHost ¶
func (dsl *DeleteDSL) PuntToHost(l3Proto punt.L3Protocol, l4Proto punt.L4Protocol, port uint32) linuxclient.DeleteDSL
PuntToHost adds request to delete a rule used to punt L4 traffic to a host.
func (*DeleteDSL) Put ¶
func (dsl *DeleteDSL) Put() linuxclient.PutDSL
Put changes the DSL mode to allow configuration editing.
func (*DeleteDSL) Span ¶
func (dsl *DeleteDSL) Span(val *interfaces.Span) linuxclient.DeleteDSL
Span adds a request to delete VPP SPAN.
func (*DeleteDSL) StaticRoute ¶
func (dsl *DeleteDSL) StaticRoute(iface string, vrf uint32, dstAddr string, nextHopAddr string) linuxclient.DeleteDSL
StaticRoute adds a request to delete an existing VPP L3 Static Route.
func (*DeleteDSL) StnRule ¶
func (dsl *DeleteDSL) StnRule(iface, addr string) linuxclient.DeleteDSL
StnRule adds a request to delete an existing VPP Stn rule.
func (*DeleteDSL) VRRP ¶ added in v3.2.0
func (dsl *DeleteDSL) VRRP(val *l3.VRRPEntry) linuxclient.DeleteDSL
VRRP adds a request to delete an existing VPP L3 VRRP entry.
func (*DeleteDSL) VppInterface ¶
func (dsl *DeleteDSL) VppInterface(ifaceName string) linuxclient.DeleteDSL
VppInterface adds a request to delete an existing VPP network interface.
func (*DeleteDSL) VrfTable ¶
func (dsl *DeleteDSL) VrfTable(id uint32, proto l3.VrfTable_Protocol) linuxclient.DeleteDSL
VrfTable adds a request to delete existing VPP VRF table.
type PutDSL ¶
type PutDSL struct {
// contains filtered or unexported fields
}
PutDSL implements put operations of data change DSL.
func (*PutDSL) ABF ¶
func (dsl *PutDSL) ABF(abf *abf.ABF) linuxclient.PutDSL
ABF adds a request to create or update VPP ACL-based forwarding
func (*PutDSL) ACL ¶
func (dsl *PutDSL) ACL(acl *acl.ACL) linuxclient.PutDSL
ACL adds a request to create or update VPP Access Control List.
func (*PutDSL) Arp ¶
func (dsl *PutDSL) Arp(arp *l3.ARPEntry) linuxclient.PutDSL
Arp adds a request to create or update VPP L3 ARP.
func (*PutDSL) BD ¶
func (dsl *PutDSL) BD(val *l2.BridgeDomain) linuxclient.PutDSL
BD adds a request to create or update VPP Bridge Domain.
func (*PutDSL) BDFIB ¶
func (dsl *PutDSL) BDFIB(fib *l2.FIBEntry) linuxclient.PutDSL
BDFIB adds a request to create or update VPP L2 Forwarding Information Base.
func (*PutDSL) DNAT44 ¶
func (dsl *PutDSL) DNAT44(nat44 *nat.DNat44) linuxclient.PutDSL
DNAT44 adds a request to create or update DNAT44 configuration
func (*PutDSL) Delete ¶
func (dsl *PutDSL) Delete() linuxclient.DeleteDSL
Delete changes the DSL mode to allow removal of an existing configuration.
func (*PutDSL) FlowprobeFeature ¶ added in v3.2.0
func (dsl *PutDSL) FlowprobeFeature(val *ipfix.FlowProbeFeature) linuxclient.PutDSL
FlowprobeFeature adds a request to enable Flowprobe Feature on interface.
func (*PutDSL) FlowprobeParams ¶ added in v3.2.0
func (dsl *PutDSL) FlowprobeParams(val *ipfix.FlowProbeParams) linuxclient.PutDSL
FlowprobeParams adds a request to update VPP Flowprobe Params.
func (*PutDSL) IPFIX ¶ added in v3.2.0
func (dsl *PutDSL) IPFIX(val *ipfix.IPFIX) linuxclient.PutDSL
IPFIX adds a request to update VPP IP Flow Information eXport configuration.
func (*PutDSL) IPScanNeighbor ¶
func (dsl *PutDSL) IPScanNeighbor(ipScanNeigh *l3.IPScanNeighbor) linuxclient.PutDSL
IPScanNeighbor adds a request to delete an existing VPP L3 IP Scan Neighbor.
func (*PutDSL) IPSecSA ¶
func (dsl *PutDSL) IPSecSA(sa *ipsec.SecurityAssociation) linuxclient.PutDSL
IPSecSA adds request to create a new Security Association
func (*PutDSL) IPSecSP ¶ added in v3.2.0
func (dsl *PutDSL) IPSecSP(sp *ipsec.SecurityPolicy) linuxclient.PutDSL
IPSecSP adds request to create a new Security Policy
func (*PutDSL) IPSecSPD ¶
func (dsl *PutDSL) IPSecSPD(spd *ipsec.SecurityPolicyDatabase) linuxclient.PutDSL
IPSecSPD adds request to create a new Security Policy Database
func (*PutDSL) IPSecTunnelProtection ¶ added in v3.1.0
func (dsl *PutDSL) IPSecTunnelProtection(tp *ipsec.TunnelProtection) linuxclient.PutDSL
IPSecTunnelProtection adds request to delete an IPSec tunnel protection from an interface
func (*PutDSL) IptablesRuleChain ¶
func (dsl *PutDSL) IptablesRuleChain(val *linux_iptables.RuleChain) linuxclient.PutDSL
IptablesRuleChain adds request to create or update iptables rule chain.
func (*PutDSL) LinuxArpEntry ¶
func (dsl *PutDSL) LinuxArpEntry(val *linux_l3.ARPEntry) linuxclient.PutDSL
LinuxArpEntry adds a request to create or update Linux ARP entry.
func (*PutDSL) LinuxInterface ¶
func (dsl *PutDSL) LinuxInterface(val *linux_interfaces.Interface) linuxclient.PutDSL
LinuxInterface adds a request to create or update Linux network interface.
func (*PutDSL) LinuxRoute ¶
func (dsl *PutDSL) LinuxRoute(val *linux_l3.Route) linuxclient.PutDSL
LinuxRoute adds a request to create or update Linux route.
func (*PutDSL) NAT44AddressPool ¶
func (dsl *PutDSL) NAT44AddressPool(pool *nat.Nat44AddressPool) linuxclient.PutDSL
NAT44AddressPool adds a request to create or update NAT44 address pool.
func (*PutDSL) NAT44Global ¶
func (dsl *PutDSL) NAT44Global(nat44 *nat.Nat44Global) linuxclient.PutDSL
NAT44Global adds a request to set global configuration for NAT44
func (*PutDSL) NAT44Interface ¶
func (dsl *PutDSL) NAT44Interface(natIf *nat.Nat44Interface) linuxclient.PutDSL
NAT44Interface adds a request to create or update NAT44 interface configuration.
func (*PutDSL) ProxyArp ¶
func (dsl *PutDSL) ProxyArp(proxyArp *l3.ProxyARP) linuxclient.PutDSL
ProxyArp adds a request to create or update VPP L3 proxy ARP.
func (*PutDSL) PuntException ¶
func (dsl *PutDSL) PuntException(val *punt.Exception) linuxclient.PutDSL
PuntException adds request to create or update exception to punt specific packets.
func (*PutDSL) PuntIPRedirect ¶
func (dsl *PutDSL) PuntIPRedirect(val *punt.IPRedirect) linuxclient.PutDSL
PuntIPRedirect adds request to create or update rule to punt L3 traffic via interface.
func (*PutDSL) PuntToHost ¶
func (dsl *PutDSL) PuntToHost(val *punt.ToHost) linuxclient.PutDSL
PuntToHost adds request to create or update rule to punt L4 traffic to a host.
func (*PutDSL) Span ¶
func (dsl *PutDSL) Span(val *interfaces.Span) linuxclient.PutDSL
Span adds a request to create or update VPP SPAN.
func (*PutDSL) StaticRoute ¶
func (dsl *PutDSL) StaticRoute(val *l3.Route) linuxclient.PutDSL
StaticRoute adds a request to create or update VPP L3 Static Route.
func (*PutDSL) StnRule ¶
func (dsl *PutDSL) StnRule(stn *stn.Rule) linuxclient.PutDSL
StnRule adds a request to create or update VPP Stn rule.
func (*PutDSL) VRRP ¶ added in v3.2.0
func (dsl *PutDSL) VRRP(val *l3.VRRPEntry) linuxclient.PutDSL
VRRP adds a request to add an existing VPP L3 VRRP entry.
func (*PutDSL) VppInterface ¶
func (dsl *PutDSL) VppInterface(val *interfaces.Interface) linuxclient.PutDSL
VppInterface adds a request to create or update VPP network interface.
func (*PutDSL) VrfTable ¶
func (dsl *PutDSL) VrfTable(val *l3.VrfTable) linuxclient.PutDSL
VrfTable adds a request to create or update VPP VRF table.
func (*PutDSL) XConnect ¶
func (dsl *PutDSL) XConnect(val *l2.XConnectPair) linuxclient.PutDSL
XConnect adds a request to create or update VPP Cross Connect.