go.ligato.io/vpp-agent/v3@v3.5.0/clientv2/vpp/data_resync_api.go (about) 1 // Copyright (c) 2017 Cisco and/or its affiliates. 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at: 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 package vppclient 16 17 import ( 18 abf "go.ligato.io/vpp-agent/v3/proto/ligato/vpp/abf" 19 acl "go.ligato.io/vpp-agent/v3/proto/ligato/vpp/acl" 20 interfaces "go.ligato.io/vpp-agent/v3/proto/ligato/vpp/interfaces" 21 ipfix "go.ligato.io/vpp-agent/v3/proto/ligato/vpp/ipfix" 22 ipsec "go.ligato.io/vpp-agent/v3/proto/ligato/vpp/ipsec" 23 l2 "go.ligato.io/vpp-agent/v3/proto/ligato/vpp/l2" 24 l3 "go.ligato.io/vpp-agent/v3/proto/ligato/vpp/l3" 25 nat "go.ligato.io/vpp-agent/v3/proto/ligato/vpp/nat" 26 punt "go.ligato.io/vpp-agent/v3/proto/ligato/vpp/punt" 27 stn "go.ligato.io/vpp-agent/v3/proto/ligato/vpp/stn" 28 ) 29 30 // DataResyncDSL defines the Domain Specific Language (DSL) for data RESYNC 31 // of the VPP configuration. 32 // Use this interface to make your implementation independent of the local 33 // and any remote client. 34 // Each method (apart from Send) returns the receiver, allowing the calls 35 // to be chained together conveniently in a single statement. 36 type DataResyncDSL interface { 37 // Interface adds interface to the RESYNC request. 38 Interface(intf *interfaces.Interface) DataResyncDSL 39 // Span adds span to the RESYNC request. 40 Span(intf *interfaces.Span) DataResyncDSL 41 // ACL adds Access Control List to the RESYNC request. 42 ACL(acl *acl.ACL) DataResyncDSL 43 // ABF adds ACL-based forwarding to the RESYNC request. 44 ABF(abf *abf.ABF) DataResyncDSL 45 // BD adds Bridge Domain to the RESYNC request. 46 BD(bd *l2.BridgeDomain) DataResyncDSL 47 // BDFIB adds L2 Forwarding Information Base. 48 BDFIB(fib *l2.FIBEntry) DataResyncDSL 49 // XConnect adds Cross Connect to the RESYNC request. 50 XConnect(xcon *l2.XConnectPair) DataResyncDSL 51 // VrfTable adds VRF table to the RESYNC request. 52 VrfTable(val *l3.VrfTable) DataResyncDSL 53 // StaticRoute adds L3 Static Route to the RESYNC request. 54 StaticRoute(staticRoute *l3.Route) DataResyncDSL 55 // Arp adds VPP L3 ARP to the RESYNC request. 56 Arp(arp *l3.ARPEntry) DataResyncDSL 57 // ProxyArp adds L3 proxy ARP interfaces to the RESYNC request. 58 ProxyArp(proxyArp *l3.ProxyARP) DataResyncDSL 59 // IPScanNeighbor adds L3 IP Scan Neighbor to the RESYNC request. 60 IPScanNeighbor(ipScanNeigh *l3.IPScanNeighbor) DataResyncDSL 61 // StnRule adds Stn rule to the RESYNC request. 62 StnRule(stn *stn.Rule) DataResyncDSL 63 // NAT44Global adds global NAT44 configuration to the RESYNC request. 64 NAT44Global(nat *nat.Nat44Global) DataResyncDSL 65 // DNAT44 adds DNAT44 configuration to the RESYNC request 66 DNAT44(dnat *nat.DNat44) DataResyncDSL 67 // NAT44Interface adds NAT44 interface configuration to the RESYNC request. 68 NAT44Interface(natIf *nat.Nat44Interface) DataResyncDSL 69 // NAT44AddressPool adds NAT44 address pool configuration to the RESYNC request. 70 NAT44AddressPool(pool *nat.Nat44AddressPool) DataResyncDSL 71 // IPSecSA adds request to RESYNC a new Security Association 72 IPSecSA(sa *ipsec.SecurityAssociation) DataResyncDSL 73 // IPSecSPD adds request to RESYNC a new Security Policy Database 74 IPSecSPD(spd *ipsec.SecurityPolicyDatabase) DataResyncDSL 75 // IPSecSP adds Security Policy to the RESYNC request 76 IPSecSP(sp *ipsec.SecurityPolicy) DataResyncDSL 77 // IPSecTunnelProtection adds request to RESYNC an IPSec tunnel protection 78 IPSecTunnelProtection(tp *ipsec.TunnelProtection) DataResyncDSL 79 // PuntIPRedirect adds request to RESYNC a rule used to punt L3 traffic via interface. 80 PuntIPRedirect(val *punt.IPRedirect) DataResyncDSL 81 // PuntToHost adds request to RESYNC a rule used to punt L4 traffic to a host. 82 PuntToHost(val *punt.ToHost) DataResyncDSL 83 // PuntException adds request to create or update exception to punt specific packets. 84 PuntException(val *punt.Exception) DataResyncDSL 85 // IPFIX adds IPFIX configuration to the RESYNC request. 86 IPFIX(val *ipfix.IPFIX) DataResyncDSL 87 // FlowprobeParams adds Flowprobe Params configuration to the RESYNC request. 88 FlowprobeParams(val *ipfix.FlowProbeParams) DataResyncDSL 89 // FlowprobeFeature adds Flowprobe Feature configuration to the RESYNC request. 90 FlowprobeFeature(val *ipfix.FlowProbeFeature) DataResyncDSL 91 // VRRP adds VPP L3 VRRP to the RESYNC request. 92 VRRP(val *l3.VRRPEntry) DataResyncDSL 93 94 // Send propagates the RESYNC request to the plugins. 95 Send() Reply 96 }