Documentation
¶
Overview ¶
Package vppcalls contains wrappers over VPP ACL binary APIs and helpers to dump ACLs configured in VPP - per interface and total.
Index ¶
Constants ¶
View Source
const ( ICMPv4Proto = 1 TCPProto = 6 UDPProto = 17 ICMPv6Proto = 58 )
Protocol types that can occur in ACLs
Variables ¶
View Source
var Versions = map[string]HandlerVersion{}
Functions ¶
This section is empty.
Types ¶
type ACLDetails ¶
ACLDetails is combination of proto-modelled ACL data and VPP provided metadata
type ACLMeta ¶
ACLMeta holds VPP-specific metadata
type ACLToInterface ¶
ACLToInterface is definition of interface and all ACLs which are bound to the interface either as ingress or egress
type ACLVppAPI ¶
type ACLVppAPI interface {
ACLVppRead
// AddACL create new ACL (L3/L4). Returns ACL index provided by VPP.
AddACL(rules []*acl.ACL_Rule, aclName string) (aclIdx uint32, err error)
// AddMACIPACL creates new MACIP ACL (L2). Returns ACL index provided by VPP.
AddMACIPACL(rules []*acl.ACL_Rule, aclName string) (aclIdx uint32, err error)
// ModifyACL modifies ACL (L3/L4) by updating its rules. It uses ACL index to identify ACL.
ModifyACL(aclIdx uint32, rules []*acl.ACL_Rule, aclName string) error
// ModifyACL modifies MACIP ACL (L2) by updating its rules. It uses ACL index to identify ACL.
ModifyMACIPACL(aclIdx uint32, rules []*acl.ACL_Rule, aclName string) error
// DeleteACL removes ACL (L3/L4).
DeleteACL(aclIdx uint32) error
// DeleteMACIPACL removes MACIP ACL (L2).
DeleteMACIPACL(aclIdx uint32) error
// SetACLToInterfacesAsIngress sets ACL to interfaces as ingress.
SetACLToInterfacesAsIngress(ACLIndex uint32, ifIndices []uint32) error
// RemoveACLFromInterfacesAsIngress removes ACL from interfaces as ingress.
RemoveACLFromInterfacesAsIngress(ACLIndex uint32, ifIndices []uint32) error
// SetACLToInterfacesAsEgress sets ACL to interfaces as egress.
SetACLToInterfacesAsEgress(ACLIndex uint32, ifIndices []uint32) error
// RemoveACLFromInterfacesAsEgress removes ACL from interfaces as egress.
RemoveACLFromInterfacesAsEgress(ACLIndex uint32, ifIndices []uint32) error
// SetMACIPACLToInterfaces sets MACIP ACL to interfaces.
SetMACIPACLToInterfaces(aclIndex uint32, ifIndices []uint32) error
// RemoveMACIPACLFromInterfaces removes MACIP ACL from interfaces.
RemoveMACIPACLFromInterfaces(removedACLIndex uint32, ifIndices []uint32) error
// AddACLToInterfaceAsIngress adds ACL (L3/L4) to single interface as ingress.
AddACLToInterfaceAsIngress(aclIndex uint32, ifName string) error
// AddACLToInterfaceAsEgress adds ACL (L3/L4) to single interface as egress.
AddACLToInterfaceAsEgress(aclIndex uint32, ifName string) error
// DeleteACLFromInterfaceAsIngress deletes ACL (L3/L4) from single interface as ingress.
DeleteACLFromInterfaceAsIngress(aclIndex uint32, ifName string) error
// DeleteACLFromInterfaceAsEgress deletes ACL (L3/L4) from single interface as egress.
DeleteACLFromInterfaceAsEgress(aclIndex uint32, ifName string) error
// AddMACIPACLToInterface adds MACIP ACL (L2) to single interface.
AddMACIPACLToInterface(aclIndex uint32, ifName string) error
// DeleteMACIPACLFromInterface deletes MACIP ACL (L2) from single interface.
DeleteMACIPACLFromInterface(aclIndex uint32, ifName string) error
}
ACLVppAPI provides read/write methods required to handle VPP access lists
type ACLVppRead ¶
type ACLVppRead interface {
// DumpACL dumps all ACLs (L3/L4).
DumpACL() ([]*ACLDetails, error)
// DumpMACIPACL dumps all MACIP ACLs (L2).
DumpMACIPACL() ([]*ACLDetails, error)
// DumpACLInterfaces dumps all ACLs (L3/L4) for given ACL indexes. Returns map of ACL indexes with assigned interfaces.
DumpACLInterfaces(indices []uint32) (map[uint32]*acl.ACL_Interfaces, error)
// DumpMACIPACLInterfaces dumps all ACLs (L2) for given ACL indexes. Returns map of MACIP ACL indexes with assigned interfaces.
DumpMACIPACLInterfaces(indices []uint32) (map[uint32]*acl.ACL_Interfaces, error)
// DumpInterfaceAcls finds interface in VPP and returns its ACL (L3/L4) configuration.
DumpInterfaceACLs(ifIdx uint32) ([]*acl.ACL, error)
// DumpInterfaceMACIPACLs finds interface in VPP and returns its MACIP ACL (L2) configuration.
DumpInterfaceMACIPACLs(ifIdx uint32) ([]*acl.ACL, error)
}
ACLVppRead provides read methods for ACL plugin
Source Files
¶
- acl_vppcalls.go
- doc.go
Click to show internal directories.
Click to hide internal directories.