Documentation ¶
Index ¶
- Constants
- Variables
- func AddrFamilyDiffers(addr1 net.IP, addr2 net.IP) bool
- func BoolToU8(b bool) uint8
- func DefaultIntTo(value, defaultValue int) int
- func GetInterfaceStats(sc *statsclient.StatsClient) (ifNames adapter.NameStat, dumpStats []adapter.StatEntry, err error)
- func IsAddToStr(isAdd bool) string
- func IsIP4(ip net.IP) bool
- func IsIP6(ip net.IP) bool
- type CleanupCall
- type CleanupStack
- type IKEv2AuthMethod
- type IKEv2DHGroup
- type IKEv2EncryptionAlgorithm
- type IKEv2IDType
- type IKEv2IntegrityAlgorithm
- type IndexAllocator
- type InterfaceEventWatcher
- type IpFamily
- type NamespaceNotFound
- type VppLink
- func (v *VppLink) AddACL(acl *types.ACL) (err error)
- func (v *VppLink) AddAbfPolicy(policy *types.AbfPolicy) (err error)
- func (v *VppLink) AddDefaultMRouteViaTable(sourceTable, dstTable uint32, isIP6 bool) error
- func (v *VppLink) AddDefaultRouteViaTable(sourceTable, dstTable uint32, isIP6 bool) error
- func (v *VppLink) AddIKEv2Profile(name string) error
- func (v *VppLink) AddIPIPTunnel(tunnel *types.IPIPTunnel) (uint32, error)
- func (v *VppLink) AddInterfaceAddress(swIfIndex uint32, addr *net.IPNet) error
- func (v *VppLink) AddIpsetIPMembers(ipsetID uint32, members []net.IP) (err error)
- func (v *VppLink) AddIpsetIPPortMembers(ipsetID uint32, members []types.IPPort) (err error)
- func (v *VppLink) AddIpsetNetMembers(ipsetID uint32, members []*net.IPNet) (err error)
- func (v *VppLink) AddMemifSocketFileName(socketFileName string) (uint32, error)
- func (v *VppLink) AddModSRv6Policy(policy *types.SrPolicy) (err error)
- func (v *VppLink) AddNat44Address(address net.IP) error
- func (v *VppLink) AddNat44InsideInterface(swIfIndex uint32) error
- func (v *VppLink) AddNat44InterfaceAddress(swIfIndex uint32, flags types.NatFlags) error
- func (v *VppLink) AddNat44LB(entry *types.Nat44Entry) error
- func (v *VppLink) AddNat44LBStaticMapping(entry *types.Nat44Entry) error
- func (v *VppLink) AddNat44OutsideInterface(swIfIndex uint32) error
- func (v *VppLink) AddNat44StaticMapping(entry *types.Nat44Entry) error
- func (v *VppLink) AddNeighbor(neighbor *types.Neighbor) error
- func (v *VppLink) AddNodeNext(name, next string) (nodeIndex uint32, err error)
- func (v *VppLink) AddPblClient(client *types.PblClient) (id uint32, err error)
- func (v *VppLink) AddSRv6Localsid(localSid *types.SrLocalsid) (err error)
- func (v *VppLink) AddSRv6Policy(policy *types.SrPolicy) (err error)
- func (v *VppLink) AddSRv6Steering(steer *types.SrSteer) (err error)
- func (v *VppLink) AddSessionAppNamespace(namespace *types.SessionAppNamespace) error
- func (v *VppLink) AddVRF(index uint32, isIP6 bool, name string) error
- func (v *VppLink) AddVXLanTunnel(tunnel *types.VXLanTunnel) (swIfIndex uint32, err error)
- func (v *VppLink) AddWireguardPeer(peer *types.WireguardPeer) (uint32, error)
- func (v *VppLink) AddWireguardTunnel(tunnel *types.WireguardTunnel, generateKey bool) (uint32, error)
- func (v *VppLink) AddrList(swIfIndex uint32, isv6 bool) (addresses []types.IfAddress, err error)
- func (v *VppLink) AllocateVRF(isIP6 bool, name string) (uint32, error)
- func (v *VppLink) AttachAbfPolicy(policyID uint32, swIfIndex uint32, isv6 bool) (err error)
- func (v *VppLink) ClearSnatPolicy() (err error)
- func (v *VppLink) Close()
- func (v *VppLink) CnatAddDelSnatPrefix(prefix *net.IPNet, isAdd bool) (err error)
- func (v *VppLink) CnatAddSnatPrefix(prefix *net.IPNet) error
- func (v *VppLink) CnatDelSnatPrefix(prefix *net.IPNet) error
- func (v *VppLink) CnatEnableFeatures(swIfIndex uint32) (err error)
- func (v *VppLink) CnatPurge() error
- func (v *VppLink) CnatSetSnatAddresses(v4, v6 net.IP) (err error)
- func (v *VppLink) CnatTranslateAdd(tr *types.CnatTranslateEntry) (id uint32, err error)
- func (v *VppLink) CnatTranslateDel(id uint32) (err error)
- func (v *VppLink) ConfigurePolicies(swIfIndex uint32, conf *types.InterfaceConfig, invertRxTx uint8) (err error)
- func (v *VppLink) CreateAVF(intf *types.AVFInterface) (swIfIndex uint32, err error)
- func (v *VppLink) CreateAfPacket(intf *types.AfPacketInterface) (swIfIndex uint32, err error)
- func (v *VppLink) CreateAfXDP(intf *types.VppXDPInterface) (err error)
- func (v *VppLink) CreateLoopback(hwAddr *net.HardwareAddr) (swIfIndex uint32, err error)
- func (v *VppLink) CreateMemif(mif *types.Memif) error
- func (v *VppLink) CreateOrAttachTapV2(tap *types.TapV2) (swIfIndex uint32, err error)
- func (v *VppLink) CreateRDMA(intf *types.RDMAInterface) (swIfIndex uint32, err error)
- func (v *VppLink) CreateTapV2(tap *types.TapV2) (swIfIndex uint32, err error)
- func (v *VppLink) CreateVirtio(intf *types.VirtioInterface) (swIfIndex uint32, err error)
- func (v *VppLink) CreateVmxnet3(intf *types.Vmxnet3Interface) (swIfIndex uint32, err error)
- func (v *VppLink) DelACL(aclIndex uint32) (err error)
- func (v *VppLink) DelAbfPolicy(policy *types.AbfPolicy) (err error)
- func (v *VppLink) DelDefaultMRouteViaTable(sourceTable, dstTable uint32, isIP6 bool) error
- func (v *VppLink) DelDefaultRouteViaTable(sourceTable, dstTable uint32, isIP6 bool) error
- func (v *VppLink) DelIKEv2Profile(name string) error
- func (v *VppLink) DelIPIPTunnel(tunnel *types.IPIPTunnel) (err error)
- func (v *VppLink) DelInterfaceAddress(swIfIndex uint32, addr *net.IPNet) error
- func (v *VppLink) DelIpsetIPMembers(ipsetID uint32, members []net.IP) (err error)
- func (v *VppLink) DelIpsetIPPortMembers(ipsetID uint32, members []types.IPPort) (err error)
- func (v *VppLink) DelIpsetNetMembers(ipsetID uint32, members []*net.IPNet) (err error)
- func (v *VppLink) DelMemifSocketFileName(socketId uint32) error
- func (v *VppLink) DelNat44Address(address net.IP) error
- func (v *VppLink) DelNat44InsideInterface(swIfIndex uint32) error
- func (v *VppLink) DelNat44InterfaceAddress(swIfIndex uint32, flags types.NatFlags) error
- func (v *VppLink) DelNat44LB(entry *types.Nat44Entry) error
- func (v *VppLink) DelNat44LBStaticMapping(entry *types.Nat44Entry) error
- func (v *VppLink) DelNat44OutsideInterface(swIfIndex uint32) error
- func (v *VppLink) DelNat44StaticMapping(entry *types.Nat44Entry) error
- func (v *VppLink) DelNeighbor(neighbor *types.Neighbor) error
- func (v *VppLink) DelPblClient(id uint32) (err error)
- func (v *VppLink) DelSRv6Localsid(localSid *types.SrLocalsid) (err error)
- func (v *VppLink) DelSRv6Policy(policy *types.SrPolicy) (err error)
- func (v *VppLink) DelSRv6Steering(steer *types.SrSteer) (err error)
- func (v *VppLink) DelSessionAppNamespace(namespace *types.SessionAppNamespace) error
- func (v *VppLink) DelTap(swIfIndex uint32) error
- func (v *VppLink) DelVRF(index uint32, isIP6 bool) error
- func (v *VppLink) DelVXLanTunnel(tunnel *types.VXLanTunnel) (err error)
- func (v *VppLink) DelWireguardPeer(peer *types.WireguardPeer) (err error)
- func (v *VppLink) DelWireguardTunnel(tunnel *types.WireguardTunnel) (err error)
- func (v *VppLink) DeleteAVF(swIfIndex uint32) (err error)
- func (v *VppLink) DeleteAfPacket(ifName string) error
- func (v *VppLink) DeleteAfXDP(intf *types.VppXDPInterface) error
- func (v *VppLink) DeleteLoopback(swIfIndex uint32) (err error)
- func (v *VppLink) DeleteMemif(swIfIndex uint32) (err error)
- func (v *VppLink) DeleteVirtio(swIfIndex uint32) error
- func (v *VppLink) DetachAbfPolicy(policyID uint32, swIfIndex uint32, isv6 bool) (err error)
- func (v *VppLink) DisableFeature(swIfIndex uint32, arcName, featureName string) (err error)
- func (v *VppLink) DisableGSOFeature(swIfIndex uint32) error
- func (v *VppLink) DisableIP6RouterAdvertisements(swIfIndex uint32) (err error)
- func (v *VppLink) DisableInterfaceIP4(swIfIndex uint32) error
- func (v *VppLink) DisableInterfaceIP46(swIfIndex uint32) (err error)
- func (v *VppLink) DisableInterfaceIP6(swIfIndex uint32) error
- func (v *VppLink) DisableSessionLayer() error
- func (v *VppLink) DisableSessionSAPI() error
- func (v *VppLink) EnableArpProxy(swIfIndex, tableID uint32) (err error)
- func (v *VppLink) EnableDisableCnatSNAT(swIfIndex uint32, isIp6 bool, isEnable bool) (err error)
- func (v *VppLink) EnableFeature(swIfIndex uint32, arcName, featureName string) (err error)
- func (v *VppLink) EnableFeatureArc46(swIfIndex uint32, arcDescription string) (err error)
- func (v *VppLink) EnableGSOFeature(swIfIndex uint32) error
- func (v *VppLink) EnableIP6NdProxy(swIfIndex uint32, address net.IP) (err error)
- func (v *VppLink) EnableInterfaceIP4(swIfIndex uint32) error
- func (v *VppLink) EnableInterfaceIP46(swIfIndex uint32) (err error)
- func (v *VppLink) EnableInterfaceIP6(swIfIndex uint32) error
- func (v *VppLink) EnableNatForwarding() (err error)
- func (v *VppLink) EnableSessionLayer() error
- func (v *VppLink) EnableSessionSAPI() error
- func (v *VppLink) GetBufferStats() (uint32, uint32, uint32, error)
- func (v *VppLink) GetChannel() (vppapi.Channel, error)
- func (v *VppLink) GetIPsecTunnelProtection(tunnelInterface uint32) (protections []types.IPsecTunnelProtection, err error)
- func (v *VppLink) GetInterfaceDetails(swIfIndex uint32) (i *types.VppInterfaceDetails, err error)
- func (v *VppLink) GetInterfaceNeighbors(swIfIndex uint32, isIPv6 bool) (err error, neighbors []types.Neighbor)
- func (v *VppLink) GetNodeIndex(name string) (nodeIndex uint32, err error)
- func (v *VppLink) GetNumVPPWorkers() (numVPPWorkers int, err error)
- func (v *VppLink) GetRoutes(tableID uint32, isIPv6 bool) (routes []types.Route, err error)
- func (v *VppLink) GetVPPVersion() (version string, err error)
- func (v *VppLink) GetWireguardTunnel(swIfIndex uint32) (*types.WireguardTunnel, error)
- func (v *VppLink) IKEv2Initiate(profile string) (err error)
- func (v *VppLink) InterfaceAdminDown(swIfIndex uint32) error
- func (v *VppLink) InterfaceAdminUp(swIfIndex uint32) error
- func (v *VppLink) InterfaceGetUnnumbered(swIfIndex uint32) (result []*vppip.IPUnnumberedDetails, err error)
- func (v *VppLink) InterfaceSetUnnumbered(unnumberedSwIfIndex uint32, swIfIndex uint32) error
- func (v *VppLink) InterfaceUnsetUnnumbered(unnumberedSwIfIndex uint32, swIfIndex uint32) error
- func (v *VppLink) IpsetCreate(ipsetType types.IpsetType) (setId uint32, err error)
- func (v *VppLink) IpsetDelete(ipsetID uint32) (err error)
- func (v *VppLink) ListIKEv2Profiles() ([]ikev2_types.Ikev2Profile, error)
- func (v *VppLink) ListIPIPTunnels() ([]*types.IPIPTunnel, error)
- func (v *VppLink) ListMemifInterfaces() ([]*types.Memif, error)
- func (v *VppLink) ListMemifSockets() ([]*types.MemifSocket, error)
- func (v *VppLink) ListSRv6Localsid() (list []*types.SrLocalsid, err error)
- func (v *VppLink) ListSRv6Policies() (list []*types.SrPolicy, err error)
- func (v *VppLink) ListSRv6Steering() (list []*types.SrSteer, err error)
- func (v *VppLink) ListVRFs() (vrfs []types.VRF, err error)
- func (v *VppLink) ListVXLanTunnels() ([]types.VXLanTunnel, error)
- func (v *VppLink) ListWireguardPeers() ([]*types.WireguardPeer, error)
- func (v *VppLink) ListWireguardTunnels() ([]*types.WireguardTunnel, error)
- func (v *VppLink) MRouteAdd(route *types.Route, flags mfib_types.MfibEntryFlags) error
- func (v *VppLink) MRouteDel(route *types.Route, flags mfib_types.MfibEntryFlags) error
- func (v *VppLink) MemifsocketByID(socketID uint32) (*types.MemifSocket, error)
- func (v *VppLink) NewCleanupStack() *CleanupStack
- func (v *VppLink) PolicyCreate(policy *types.Policy) (policyId uint32, err error)
- func (v *VppLink) PolicyDelete(policyId uint32) (err error)
- func (v *VppLink) PolicyUpdate(policyId uint32, policy *types.Policy) (err error)
- func (v *VppLink) PuntAllL4(isIPv6 bool) (err error)
- func (v *VppLink) PuntL4(proto types.IPProto, port uint16, isIPv6 bool) error
- func (v *VppLink) PuntRedirect(punt types.IpPuntRedirect, isIP6 bool) error
- func (v *VppLink) PuntRedirectList(swIfIndex uint32, isIP6 bool) (punts []types.IpPuntRedirect, err error)
- func (v *VppLink) Reconnect() (err error)
- func (v *VppLink) RegisterPodInterface(swIfIndex uint32) (err error)
- func (v *VppLink) RemovePodInterface(swIfIndex uint32) (err error)
- func (v *VppLink) Retry(sleepBtwRetries time.Duration, retries int, f interface{}, args ...interface{}) (err error)
- func (v *VppLink) RouteAdd(route *types.Route) error
- func (v *VppLink) RouteDel(route *types.Route) error
- func (v *VppLink) RoutesAdd(Dsts []*net.IPNet, routepath *types.RoutePath) error
- func (v *VppLink) RuleCreate(rule *types.Rule) (ruleId uint32, err error)
- func (v *VppLink) RuleDelete(ruleId uint32) (err error)
- func (v *VppLink) RuleUpdate(ruleId uint32, rule *types.Rule) (err error)
- func (v *VppLink) RunCli(cmd string) (string, error)
- func (v *VppLink) SearchInterfaceWithName(name string) (swIfIndex uint32, err error)
- func (v *VppLink) SearchInterfaceWithTag(tag string) (uint32, error)
- func (v *VppLink) SearchInterfacesWithTagPrefix(tag string) (map[string]uint32, error)
- func (v *VppLink) SetCryptoWorker(workerIndex uint32, enable bool) error
- func (v *VppLink) SetCustomURPF(swifindex uint32, tableId uint32) (err error)
- func (v *VppLink) SetEncapSource(addr net.IP) (err error)
- func (v *VppLink) SetIKEv2DefaultTransforms(profile string) (err error)
- func (v *VppLink) SetIKEv2ESPTransforms(profile string, cryptoAlg IKEv2EncryptionAlgorithm, cryptoKeySize uint32, ...) (err error)
- func (v *VppLink) SetIKEv2IKETransforms(profile string, cryptoAlg IKEv2EncryptionAlgorithm, cryptoKeySize uint32, ...) (err error)
- func (v *VppLink) SetIKEv2LocalIDAddress(profile string, localAddr net.IP) (err error)
- func (v *VppLink) SetIKEv2PSKAuth(profile, psk string) (err error)
- func (v *VppLink) SetIKEv2PermissiveTrafficSelectors(profile string) (err error)
- func (v *VppLink) SetIKEv2RemoteIDAddress(profile string, rmtAddr net.IP) (err error)
- func (v *VppLink) SetIKEv2Responder(profile string, swIfIndex uint32, address net.IP) (err error)
- func (v *VppLink) SetIKEv2TrafficSelector(profile string, isLocal bool, proto uint8, startPort uint16, endPort uint16, ...) (err error)
- func (v *VppLink) SetIKEv2TunnelInterface(profile string, swIfIndex uint32) (err error)
- func (v *VppLink) SetIPFlowHash(ipFlowHash types.IPFlowHash, vrfID uint32, isIPv6 bool) error
- func (v *VppLink) SetIPsecAsyncMode(enable bool) error
- func (v *VppLink) SetInterfaceMacAddress(swIfIndex uint32, mac *net.HardwareAddr) error
- func (v *VppLink) SetInterfaceMtu(swIfIndex uint32, mtu int) error
- func (v *VppLink) SetInterfaceRxMode(swIfIndex uint32, queueID uint32, mode types.RxMode) error
- func (v *VppLink) SetInterfaceRxPlacement(swIfIndex uint32, queue int, worker int, main bool) error
- func (v *VppLink) SetInterfaceTag(swIfIndex uint32, tag string) error
- func (v *VppLink) SetInterfaceTxPlacement(swIfIndex uint32, queue int, worker int) error
- func (v *VppLink) SetInterfaceVRF(swIfIndex, vrfIndex uint32, isIP6 bool) error
- func (v *VppLink) SetK8sSnatPolicy() (err error)
- func (v *VppLink) SetPromiscOff(swIfIndex uint32) error
- func (v *VppLink) SetPromiscOn(swIfIndex uint32) error
- func (v *VppLink) UnsetInterfaceTag(swIfIndex uint32, tag string) error
- func (v *VppLink) UnsetURPF(swifindex uint32) (err error)
- func (v *VppLink) WatchInterfaceEvents(swIfIndex uint32) (InterfaceEventWatcher, error)
Constants ¶
const ( FeatureArcCnatInput = "ip?-unicast cnat-input-ip?" FeatureArcCnatOutput = "ip?-output cnat-output-ip?" FeatureArcSnat = "ip?-unicast cnat-snat-ip?" )
const ( INVALID_SW_IF_INDEX = ^uint32(0) MAX_MTU = 9216 DEFAULT_QUEUE_SIZE = 1024 )
const (
AnyInterface = ^uint32(0)
)
const (
AvfReplyTimeout = 15 * time.Second
)
const (
DefaultReplyTimeout = 1 * time.Second
)
const InvalidID = ^uint32(0)
Variables ¶
var ( IpFamilyV4 = IpFamily{"ip4", "4", false, true, 0} IpFamilyV6 = IpFamily{"ip6", "6", true, false, 1} IpFamilies = []IpFamily{IpFamilyV4, IpFamilyV6} )
Functions ¶
func DefaultIntTo ¶
func GetInterfaceStats ¶
func GetInterfaceStats(sc *statsclient.StatsClient) (ifNames adapter.NameStat, dumpStats []adapter.StatEntry, err error)
func IsAddToStr ¶
Types ¶
type CleanupCall ¶
type CleanupCall struct {
// contains filtered or unexported fields
}
func (*CleanupCall) Execute ¶
func (call *CleanupCall) Execute()
type CleanupStack ¶
type CleanupStack struct {
// contains filtered or unexported fields
}
func (*CleanupStack) Execute ¶
func (stack *CleanupStack) Execute()
func (*CleanupStack) Push ¶
func (stack *CleanupStack) Push(f interface{}, args ...interface{})
type IKEv2AuthMethod ¶
type IKEv2AuthMethod uint8
const ( IKEv2AuthMethodRSASig IKEv2AuthMethod = 1 )
type IKEv2DHGroup ¶
type IKEv2DHGroup uint32
const ( IKEv2DHGroupNone IKEv2DHGroup = 0 IKEv2DHGroupMODP_768 IKEv2DHGroup = 1 IKEv2DHGroupMODP_1024 IKEv2DHGroup = 2 IKEv2DHGroupMODP_1536 IKEv2DHGroup = 5 IKEv2DHGroupMODP_2048 IKEv2DHGroup = 14 IKEv2DHGroupMODP_3072 IKEv2DHGroup = 15 IKEv2DHGroupMODP_4096 IKEv2DHGroup = 16 IKEv2DHGroupMODP_6144 IKEv2DHGroup = 17 IKEv2DHGroupMODP_8192 IKEv2DHGroup = 18 IKEv2DHGroupECP_256 IKEv2DHGroup = 19 IKEv2DHGroupECP_384 IKEv2DHGroup = 20 IKEv2DHGroupECP_521 IKEv2DHGroup = 21 IKEv2DHGroupMODP_1024_160 IKEv2DHGroup = 22 IKEv2DHGroupMODP_2048_224 IKEv2DHGroup = 23 IKEv2DHGroupMODP_2048_256 IKEv2DHGroup = 24 IKEv2DHGroupECP_192 IKEv2DHGroup = 25 IKEv2DHGroupECP_224 IKEv2DHGroup = 26 IKEv2DHGroupBRAINPOOL_224 IKEv2DHGroup = 27 IKEv2DHGroupBRAINPOOL_256 IKEv2DHGroup = 28 IKEv2DHGroupBRAINPOOL_384 IKEv2DHGroup = 29 IKEv2DHGroupBRAINPOOL_512 IKEv2DHGroup = 30 )
type IKEv2EncryptionAlgorithm ¶
type IKEv2EncryptionAlgorithm uint32
const ( IKEv2EncryptionAlgorithmDES_IV64 IKEv2EncryptionAlgorithm = 1 IKEv2EncryptionAlgorithmDES IKEv2EncryptionAlgorithm = 2 IKEv2EncryptionAlgorithm3DES IKEv2EncryptionAlgorithm = 3 IKEv2EncryptionAlgorithmRC5 IKEv2EncryptionAlgorithm = 4 IKEv2EncryptionAlgorithmIDEA IKEv2EncryptionAlgorithm = 5 IKEv2EncryptionAlgorithmCAST IKEv2EncryptionAlgorithm = 6 IKEv2EncryptionAlgorithmBLOWFISH IKEv2EncryptionAlgorithm = 7 IKEv2EncryptionAlgorithm3IDEA IKEv2EncryptionAlgorithm = 8 IKEv2EncryptionAlgorithmDES_IV32 IKEv2EncryptionAlgorithm = 9 IKEv2EncryptionAlgorithmNULL IKEv2EncryptionAlgorithm = 11 IKEv2EncryptionAlgorithmAES_CBC IKEv2EncryptionAlgorithm = 12 IKEv2EncryptionAlgorithmAES_CTR IKEv2EncryptionAlgorithm = 13 IKEv2EncryptionAlgorithmAES_GCM_16 IKEv2EncryptionAlgorithm = 20 )
type IKEv2IDType ¶
type IKEv2IDType uint8
const ( IKEv2IDTypeIPv4Addr IKEv2IDType = 1 IKEv2IDTypeFQDN IKEv2IDType = 2 IKEv2IDTypeRFC822Addr IKEv2IDType = 3 IKEv2IDTypeIPv6Addr IKEv2IDType = 5 IKEv2IDTypeDerAsn1Dn IKEv2IDType = 9 IKEv2IDTypeDerAsn1Gn IKEv2IDType = 10 IKEv2IDTypeKeyID IKEv2IDType = 11 )
type IKEv2IntegrityAlgorithm ¶
type IKEv2IntegrityAlgorithm uint32
const ( IKEv2IntegrityAlgorithmNone IKEv2IntegrityAlgorithm = 0 IKEv2IntegrityAlgorithmAUTH_HMAC_MD5_96 IKEv2IntegrityAlgorithm = 1 IKEv2IntegrityAlgorithmAUTH_HMAC_SHA1_96 IKEv2IntegrityAlgorithm = 2 IKEv2IntegrityAlgorithmAUTH_DES_MAC IKEv2IntegrityAlgorithm = 3 IKEv2IntegrityAlgorithmAUTH_KPDK_MD5 IKEv2IntegrityAlgorithm = 4 IKEv2IntegrityAlgorithmAUTH_AES_XCBC_96 IKEv2IntegrityAlgorithm = 5 IKEv2IntegrityAlgorithmAUTH_HMAC_MD5_128 IKEv2IntegrityAlgorithm = 6 IKEv2IntegrityAlgorithmAUTH_HMAC_SHA1_160 IKEv2IntegrityAlgorithm = 7 IKEv2IntegrityAlgorithmAUTH_AES_CMAC_96 IKEv2IntegrityAlgorithm = 8 IKEv2IntegrityAlgorithmAUTH_AES_128_GMAC IKEv2IntegrityAlgorithm = 9 IKEv2IntegrityAlgorithmAUTH_AES_192_GMAC IKEv2IntegrityAlgorithm = 10 IKEv2IntegrityAlgorithmAUTH_AES_256_GMAC IKEv2IntegrityAlgorithm = 11 IKEv2IntegrityAlgorithmAUTH_HMAC_SHA2_256_128 IKEv2IntegrityAlgorithm = 12 IKEv2IntegrityAlgorithmAUTH_HMAC_SHA2_384_192 IKEv2IntegrityAlgorithm = 13 IKEv2IntegrityAlgorithmAUTH_HMAC_SHA2_512_256 IKEv2IntegrityAlgorithm = 14 )
type IndexAllocator ¶
type IndexAllocator struct {
// contains filtered or unexported fields
}
func NewIndexAllocator ¶
func NewIndexAllocator(startID uint32) *IndexAllocator
func (*IndexAllocator) AllocateIndex ¶
func (i *IndexAllocator) AllocateIndex() (index uint32)
func (*IndexAllocator) FreeIndex ¶
func (i *IndexAllocator) FreeIndex(index uint32)
func (*IndexAllocator) TakeIndex ¶
func (i *IndexAllocator) TakeIndex(index uint32) error
type InterfaceEventWatcher ¶ added in v3.25.1
type InterfaceEventWatcher interface { Stop() Events() <-chan types.InterfaceEvent }
type IpFamily ¶
func IpFamilyFromIPNet ¶
type NamespaceNotFound ¶
type NamespaceNotFound error
type VppLink ¶
type VppLink struct {
// contains filtered or unexported fields
}
func NewVppLink ¶
func NewVppLink(socket string, logger logrus.FieldLogger) (*VppLink, error)
func (*VppLink) AddDefaultMRouteViaTable ¶ added in v3.25.1
func (*VppLink) AddDefaultRouteViaTable ¶
func (*VppLink) AddIKEv2Profile ¶
func (*VppLink) AddIPIPTunnel ¶
func (v *VppLink) AddIPIPTunnel(tunnel *types.IPIPTunnel) (uint32, error)
func (*VppLink) AddInterfaceAddress ¶
func (*VppLink) AddIpsetIPMembers ¶
func (*VppLink) AddIpsetIPPortMembers ¶
func (*VppLink) AddIpsetNetMembers ¶
func (*VppLink) AddMemifSocketFileName ¶
func (*VppLink) AddModSRv6Policy ¶
func (*VppLink) AddNat44InsideInterface ¶
func (*VppLink) AddNat44InterfaceAddress ¶
func (*VppLink) AddNat44LB ¶
func (v *VppLink) AddNat44LB(entry *types.Nat44Entry) error
func (*VppLink) AddNat44LBStaticMapping ¶
func (v *VppLink) AddNat44LBStaticMapping(entry *types.Nat44Entry) error
func (*VppLink) AddNat44OutsideInterface ¶
func (*VppLink) AddNat44StaticMapping ¶
func (v *VppLink) AddNat44StaticMapping(entry *types.Nat44Entry) error
func (*VppLink) AddNodeNext ¶
AddNodeNext sets the next node for the node given by name in node graph. This is a helper method for VPP's node graph that process packets.
func (*VppLink) AddPblClient ¶
func (*VppLink) AddSRv6Localsid ¶
func (v *VppLink) AddSRv6Localsid(localSid *types.SrLocalsid) (err error)
func (*VppLink) AddSRv6Steering ¶
func (*VppLink) AddSessionAppNamespace ¶
func (v *VppLink) AddSessionAppNamespace(namespace *types.SessionAppNamespace) error
func (*VppLink) AddVXLanTunnel ¶
func (v *VppLink) AddVXLanTunnel(tunnel *types.VXLanTunnel) (swIfIndex uint32, err error)
func (*VppLink) AddWireguardPeer ¶
func (v *VppLink) AddWireguardPeer(peer *types.WireguardPeer) (uint32, error)
func (*VppLink) AddWireguardTunnel ¶
func (*VppLink) AllocateVRF ¶
func (*VppLink) AttachAbfPolicy ¶
func (*VppLink) ClearSnatPolicy ¶
func (*VppLink) CnatAddDelSnatPrefix ¶
func (*VppLink) CnatEnableFeatures ¶
func (*VppLink) CnatSetSnatAddresses ¶
func (*VppLink) CnatTranslateAdd ¶
func (v *VppLink) CnatTranslateAdd(tr *types.CnatTranslateEntry) (id uint32, err error)
func (*VppLink) CnatTranslateDel ¶
func (*VppLink) ConfigurePolicies ¶
func (*VppLink) CreateAVF ¶
func (v *VppLink) CreateAVF(intf *types.AVFInterface) (swIfIndex uint32, err error)
func (*VppLink) CreateAfPacket ¶
func (v *VppLink) CreateAfPacket(intf *types.AfPacketInterface) (swIfIndex uint32, err error)
func (*VppLink) CreateAfXDP ¶
func (v *VppLink) CreateAfXDP(intf *types.VppXDPInterface) (err error)
func (*VppLink) CreateLoopback ¶
func (v *VppLink) CreateLoopback(hwAddr *net.HardwareAddr) (swIfIndex uint32, err error)
func (*VppLink) CreateOrAttachTapV2 ¶
func (*VppLink) CreateRDMA ¶
func (v *VppLink) CreateRDMA(intf *types.RDMAInterface) (swIfIndex uint32, err error)
func (*VppLink) CreateTapV2 ¶
func (*VppLink) CreateVirtio ¶
func (v *VppLink) CreateVirtio(intf *types.VirtioInterface) (swIfIndex uint32, err error)
func (*VppLink) CreateVmxnet3 ¶
func (v *VppLink) CreateVmxnet3(intf *types.Vmxnet3Interface) (swIfIndex uint32, err error)
func (*VppLink) DelDefaultMRouteViaTable ¶ added in v3.25.1
func (*VppLink) DelDefaultRouteViaTable ¶
func (*VppLink) DelIKEv2Profile ¶
func (*VppLink) DelIPIPTunnel ¶
func (v *VppLink) DelIPIPTunnel(tunnel *types.IPIPTunnel) (err error)
func (*VppLink) DelInterfaceAddress ¶
func (*VppLink) DelIpsetIPMembers ¶
func (*VppLink) DelIpsetIPPortMembers ¶
func (*VppLink) DelIpsetNetMembers ¶
func (*VppLink) DelMemifSocketFileName ¶
func (*VppLink) DelNat44InsideInterface ¶
func (*VppLink) DelNat44InterfaceAddress ¶
func (*VppLink) DelNat44LB ¶
func (v *VppLink) DelNat44LB(entry *types.Nat44Entry) error
func (*VppLink) DelNat44LBStaticMapping ¶
func (v *VppLink) DelNat44LBStaticMapping(entry *types.Nat44Entry) error
func (*VppLink) DelNat44OutsideInterface ¶
func (*VppLink) DelNat44StaticMapping ¶
func (v *VppLink) DelNat44StaticMapping(entry *types.Nat44Entry) error
func (*VppLink) DelPblClient ¶
func (*VppLink) DelSRv6Localsid ¶
func (v *VppLink) DelSRv6Localsid(localSid *types.SrLocalsid) (err error)
func (*VppLink) DelSRv6Steering ¶
func (*VppLink) DelSessionAppNamespace ¶
func (v *VppLink) DelSessionAppNamespace(namespace *types.SessionAppNamespace) error
func (*VppLink) DelVXLanTunnel ¶
func (v *VppLink) DelVXLanTunnel(tunnel *types.VXLanTunnel) (err error)
func (*VppLink) DelWireguardPeer ¶
func (v *VppLink) DelWireguardPeer(peer *types.WireguardPeer) (err error)
func (*VppLink) DelWireguardTunnel ¶
func (v *VppLink) DelWireguardTunnel(tunnel *types.WireguardTunnel) (err error)
func (*VppLink) DeleteAfPacket ¶
func (*VppLink) DeleteAfXDP ¶
func (v *VppLink) DeleteAfXDP(intf *types.VppXDPInterface) error
func (*VppLink) DeleteLoopback ¶
func (*VppLink) DeleteMemif ¶
func (*VppLink) DeleteVirtio ¶
func (*VppLink) DetachAbfPolicy ¶
func (*VppLink) DisableFeature ¶
func (*VppLink) DisableGSOFeature ¶
func (*VppLink) DisableIP6RouterAdvertisements ¶
func (*VppLink) DisableInterfaceIP4 ¶
func (*VppLink) DisableInterfaceIP46 ¶
func (*VppLink) DisableInterfaceIP6 ¶
func (*VppLink) DisableSessionLayer ¶
func (*VppLink) DisableSessionSAPI ¶
func (*VppLink) EnableArpProxy ¶
func (*VppLink) EnableDisableCnatSNAT ¶ added in v3.25.1
func (*VppLink) EnableFeature ¶
func (*VppLink) EnableFeatureArc46 ¶
func (*VppLink) EnableGSOFeature ¶
func (*VppLink) EnableIP6NdProxy ¶
func (*VppLink) EnableInterfaceIP4 ¶
func (*VppLink) EnableInterfaceIP46 ¶
func (*VppLink) EnableInterfaceIP6 ¶
func (*VppLink) EnableNatForwarding ¶
func (*VppLink) EnableSessionLayer ¶
func (*VppLink) EnableSessionSAPI ¶
func (*VppLink) GetIPsecTunnelProtection ¶
func (v *VppLink) GetIPsecTunnelProtection(tunnelInterface uint32) (protections []types.IPsecTunnelProtection, err error)
func (*VppLink) GetInterfaceDetails ¶
func (v *VppLink) GetInterfaceDetails(swIfIndex uint32) (i *types.VppInterfaceDetails, err error)
func (*VppLink) GetInterfaceNeighbors ¶
func (*VppLink) GetNodeIndex ¶
GetNodeIndex gets node index of the node given by name. This is a helper method for VPP's node graph that process packets.
func (*VppLink) GetNumVPPWorkers ¶
GetNumVPPWorkers gets the number of workers WITHOUT the main thread
func (*VppLink) GetVPPVersion ¶
func (*VppLink) GetWireguardTunnel ¶
func (v *VppLink) GetWireguardTunnel(swIfIndex uint32) (*types.WireguardTunnel, error)
func (*VppLink) IKEv2Initiate ¶
func (*VppLink) InterfaceAdminDown ¶
func (*VppLink) InterfaceAdminUp ¶
func (*VppLink) InterfaceGetUnnumbered ¶
func (v *VppLink) InterfaceGetUnnumbered(swIfIndex uint32) (result []*vppip.IPUnnumberedDetails, err error)
func (*VppLink) InterfaceSetUnnumbered ¶
func (*VppLink) InterfaceUnsetUnnumbered ¶
func (*VppLink) IpsetCreate ¶
func (*VppLink) IpsetDelete ¶
func (*VppLink) ListIKEv2Profiles ¶
func (v *VppLink) ListIKEv2Profiles() ([]ikev2_types.Ikev2Profile, error)
func (*VppLink) ListIPIPTunnels ¶
func (v *VppLink) ListIPIPTunnels() ([]*types.IPIPTunnel, error)
func (*VppLink) ListMemifInterfaces ¶
func (*VppLink) ListMemifSockets ¶
func (v *VppLink) ListMemifSockets() ([]*types.MemifSocket, error)
func (*VppLink) ListSRv6Localsid ¶
func (v *VppLink) ListSRv6Localsid() (list []*types.SrLocalsid, err error)
func (*VppLink) ListSRv6Policies ¶
func (*VppLink) ListSRv6Steering ¶
func (*VppLink) ListVXLanTunnels ¶
func (v *VppLink) ListVXLanTunnels() ([]types.VXLanTunnel, error)
func (*VppLink) ListWireguardPeers ¶
func (v *VppLink) ListWireguardPeers() ([]*types.WireguardPeer, error)
func (*VppLink) ListWireguardTunnels ¶
func (v *VppLink) ListWireguardTunnels() ([]*types.WireguardTunnel, error)
func (*VppLink) MRouteAdd ¶ added in v3.25.1
func (v *VppLink) MRouteAdd(route *types.Route, flags mfib_types.MfibEntryFlags) error
func (*VppLink) MRouteDel ¶ added in v3.25.1
func (v *VppLink) MRouteDel(route *types.Route, flags mfib_types.MfibEntryFlags) error
func (*VppLink) MemifsocketByID ¶
func (v *VppLink) MemifsocketByID(socketID uint32) (*types.MemifSocket, error)
func (*VppLink) NewCleanupStack ¶
func (v *VppLink) NewCleanupStack() *CleanupStack
func (*VppLink) PolicyCreate ¶
func (*VppLink) PolicyDelete ¶
func (*VppLink) PolicyUpdate ¶
func (*VppLink) PuntL4 ¶
PuntL4 configures L4 punt for a given address family and protocol. port = ~0 means all ports
func (*VppLink) PuntRedirect ¶
func (v *VppLink) PuntRedirect(punt types.IpPuntRedirect, isIP6 bool) error
func (*VppLink) PuntRedirectList ¶
func (*VppLink) RegisterPodInterface ¶
func (*VppLink) RemovePodInterface ¶
func (*VppLink) RuleCreate ¶
func (*VppLink) RuleDelete ¶
func (*VppLink) RuleUpdate ¶
func (*VppLink) SearchInterfaceWithName ¶
func (*VppLink) SearchInterfaceWithTag ¶
SearchInterfaceWithTag searches for interface that is tagged with given prefix. If not such interface is found, then vpplink.INVALID_SW_IF_INDEX is returned as interface swIndex. Otherwise, non-nil error is returned.
func (*VppLink) SearchInterfacesWithTagPrefix ¶
func (*VppLink) SetCryptoWorker ¶
func (*VppLink) SetCustomURPF ¶
func (*VppLink) SetIKEv2DefaultTransforms ¶
func (*VppLink) SetIKEv2ESPTransforms ¶
func (v *VppLink) SetIKEv2ESPTransforms( profile string, cryptoAlg IKEv2EncryptionAlgorithm, cryptoKeySize uint32, integAlg IKEv2IntegrityAlgorithm, ) (err error)
func (*VppLink) SetIKEv2IKETransforms ¶
func (v *VppLink) SetIKEv2IKETransforms( profile string, cryptoAlg IKEv2EncryptionAlgorithm, cryptoKeySize uint32, integAlg IKEv2IntegrityAlgorithm, dhGroup IKEv2DHGroup, ) (err error)
func (*VppLink) SetIKEv2LocalIDAddress ¶
func (*VppLink) SetIKEv2PSKAuth ¶
func (*VppLink) SetIKEv2PermissiveTrafficSelectors ¶
func (*VppLink) SetIKEv2RemoteIDAddress ¶
func (*VppLink) SetIKEv2Responder ¶
func (*VppLink) SetIKEv2TrafficSelector ¶
func (*VppLink) SetIKEv2TunnelInterface ¶
func (*VppLink) SetIPFlowHash ¶
func (*VppLink) SetIPsecAsyncMode ¶
func (*VppLink) SetInterfaceMacAddress ¶
func (v *VppLink) SetInterfaceMacAddress(swIfIndex uint32, mac *net.HardwareAddr) error
func (*VppLink) SetInterfaceMtu ¶
func (*VppLink) SetInterfaceRxMode ¶
func (*VppLink) SetInterfaceRxPlacement ¶
func (*VppLink) SetInterfaceTag ¶
func (*VppLink) SetInterfaceTxPlacement ¶
func (*VppLink) SetInterfaceVRF ¶
func (*VppLink) SetK8sSnatPolicy ¶
func (*VppLink) SetPromiscOff ¶
func (*VppLink) SetPromiscOn ¶
func (*VppLink) UnsetInterfaceTag ¶
func (*VppLink) WatchInterfaceEvents ¶ added in v3.25.1
func (v *VppLink) WatchInterfaceEvents(swIfIndex uint32) (InterfaceEventWatcher, error)
WatchInterfaceEvents starts a watcher of interface events for specific swIfIndex, it returns InterfaceEventWatcher or error if any.
Source Files ¶
- abf.go
- acl.go
- addr.go
- af_packet.go
- af_xdp.go
- arp.go
- avf.go
- capo.go
- cnat.go
- crypto_sw_scheduler.go
- feature.go
- helpers.go
- ikev2.go
- interfaces.go
- ip.go
- ip6_nd.go
- ipip.go
- ipsec.go
- memif.go
- nat44.go
- pbl.go
- rdma.go
- routes.go
- session.go
- srv6.go
- stats.go
- urpf.go
- utils.go
- virtio.go
- vlib.go
- vmxnet3.go
- vpe.go
- vpplink.go
- vxlan.go
- wireguard.go
Directories ¶
Path | Synopsis |
---|---|
binapi
|
|
vppapi/abf
Package abf contains generated bindings for API file abf.api.
|
Package abf contains generated bindings for API file abf.api. |
vppapi/acl
Package acl contains generated bindings for API file acl.api.
|
Package acl contains generated bindings for API file acl.api. |
vppapi/acl_types
Package acl_types contains generated bindings for API file acl_types.api.
|
Package acl_types contains generated bindings for API file acl_types.api. |
vppapi/af_packet
Package af_packet contains generated bindings for API file af_packet.api.
|
Package af_packet contains generated bindings for API file af_packet.api. |
vppapi/af_xdp
Package af_xdp contains generated bindings for API file af_xdp.api.
|
Package af_xdp contains generated bindings for API file af_xdp.api. |
vppapi/arp
Package arp contains generated bindings for API file arp.api.
|
Package arp contains generated bindings for API file arp.api. |
vppapi/avf
Package avf contains generated bindings for API file avf.api.
|
Package avf contains generated bindings for API file avf.api. |
vppapi/capo
Package capo contains generated bindings for API file capo.api.
|
Package capo contains generated bindings for API file capo.api. |
vppapi/cnat
Package cnat contains generated bindings for API file cnat.api.
|
Package cnat contains generated bindings for API file cnat.api. |
vppapi/crypto_sw_scheduler
Package crypto_sw_scheduler contains generated bindings for API file crypto_sw_scheduler.api.
|
Package crypto_sw_scheduler contains generated bindings for API file crypto_sw_scheduler.api. |
vppapi/ethernet_types
Package ethernet_types contains generated bindings for API file ethernet_types.api.
|
Package ethernet_types contains generated bindings for API file ethernet_types.api. |
vppapi/feature
Package feature contains generated bindings for API file feature.api.
|
Package feature contains generated bindings for API file feature.api. |
vppapi/fib_types
Package fib_types contains generated bindings for API file fib_types.api.
|
Package fib_types contains generated bindings for API file fib_types.api. |
vppapi/gso
Package gso contains generated bindings for API file gso.api.
|
Package gso contains generated bindings for API file gso.api. |
vppapi/ikev2
Package ikev2 contains generated bindings for API file ikev2.api.
|
Package ikev2 contains generated bindings for API file ikev2.api. |
vppapi/ikev2_types
Package ikev2_types contains generated bindings for API file ikev2_types.api.
|
Package ikev2_types contains generated bindings for API file ikev2_types.api. |
vppapi/interface
Package interfaces contains generated bindings for API file interface.api.
|
Package interfaces contains generated bindings for API file interface.api. |
vppapi/interface_types
Package interface_types contains generated bindings for API file interface_types.api.
|
Package interface_types contains generated bindings for API file interface_types.api. |
vppapi/ip
Package ip contains generated bindings for API file ip.api.
|
Package ip contains generated bindings for API file ip.api. |
vppapi/ip6_nd
Package ip6_nd contains generated bindings for API file ip6_nd.api.
|
Package ip6_nd contains generated bindings for API file ip6_nd.api. |
vppapi/ip_neighbor
Package ip_neighbor contains generated bindings for API file ip_neighbor.api.
|
Package ip_neighbor contains generated bindings for API file ip_neighbor.api. |
vppapi/ip_types
Package ip_types contains generated bindings for API file ip_types.api.
|
Package ip_types contains generated bindings for API file ip_types.api. |
vppapi/ipip
Package ipip contains generated bindings for API file ipip.api.
|
Package ipip contains generated bindings for API file ipip.api. |
vppapi/ipsec
Package ipsec contains generated bindings for API file ipsec.api.
|
Package ipsec contains generated bindings for API file ipsec.api. |
vppapi/ipsec_types
Package ipsec_types contains generated bindings for API file ipsec_types.api.
|
Package ipsec_types contains generated bindings for API file ipsec_types.api. |
vppapi/memclnt
Package memclnt contains generated bindings for API file memclnt.api.
|
Package memclnt contains generated bindings for API file memclnt.api. |
vppapi/memif
Package memif contains generated bindings for API file memif.api.
|
Package memif contains generated bindings for API file memif.api. |
vppapi/mfib_types
Package mfib_types contains generated bindings for API file mfib_types.api.
|
Package mfib_types contains generated bindings for API file mfib_types.api. |
vppapi/nat44_ed
Package nat44_ed contains generated bindings for API file nat44_ed.api.
|
Package nat44_ed contains generated bindings for API file nat44_ed.api. |
vppapi/nat_types
Package nat_types contains generated bindings for API file nat_types.api.
|
Package nat_types contains generated bindings for API file nat_types.api. |
vppapi/pbl
Package pbl contains generated bindings for API file pbl.api.
|
Package pbl contains generated bindings for API file pbl.api. |
vppapi/pci_types
Package pci_types contains generated bindings for API file pci_types.api.
|
Package pci_types contains generated bindings for API file pci_types.api. |
vppapi/punt
Package punt contains generated bindings for API file punt.api.
|
Package punt contains generated bindings for API file punt.api. |
vppapi/rdma
Package rdma contains generated bindings for API file rdma.api.
|
Package rdma contains generated bindings for API file rdma.api. |
vppapi/session
Package session contains generated bindings for API file session.api.
|
Package session contains generated bindings for API file session.api. |
vppapi/sr
Package sr contains generated bindings for API file sr.api.
|
Package sr contains generated bindings for API file sr.api. |
vppapi/sr_types
Package sr_types contains generated bindings for API file sr_types.api.
|
Package sr_types contains generated bindings for API file sr_types.api. |
vppapi/tapv2
Package tapv2 contains generated bindings for API file tapv2.api.
|
Package tapv2 contains generated bindings for API file tapv2.api. |
vppapi/tunnel_types
Package tunnel_types contains generated bindings for API file tunnel_types.api.
|
Package tunnel_types contains generated bindings for API file tunnel_types.api. |
vppapi/urpf
Package urpf contains generated bindings for API file urpf.api.
|
Package urpf contains generated bindings for API file urpf.api. |
vppapi/virtio
Package virtio contains generated bindings for API file virtio.api.
|
Package virtio contains generated bindings for API file virtio.api. |
vppapi/vlib
Package vlib contains generated bindings for API file vlib.api.
|
Package vlib contains generated bindings for API file vlib.api. |
vppapi/vmxnet3
Package vmxnet3 contains generated bindings for API file vmxnet3.api.
|
Package vmxnet3 contains generated bindings for API file vmxnet3.api. |
vppapi/vpe
Package vpe contains generated bindings for API file vpe.api.
|
Package vpe contains generated bindings for API file vpe.api. |
vppapi/vpe_types
Package vpe_types contains generated bindings for API file vpe_types.api.
|
Package vpe_types contains generated bindings for API file vpe_types.api. |
vppapi/vxlan
Package vxlan contains generated bindings for API file vxlan.api.
|
Package vxlan contains generated bindings for API file vxlan.api. |
vppapi/wireguard
Package wireguard contains generated bindings for API file wireguard.api.
|
Package wireguard contains generated bindings for API file wireguard.api. |