Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Versions = map[string]HandlerVersion{}
Functions ¶
This section is empty.
Types ¶
type HandlerVersion ¶
type HandlerVersion struct {
Msgs []govppapi.Message
New func(govppapi.Channel, ifaceidx.IfaceMetadataIndex, logging.Logger) IPSecVppAPI
}
type IPSecSaDetails ¶
type IPSecSaDetails struct {
Sa *ipsec.SecurityAssociation
Meta *IPSecSaMeta
}
IPSecSaDetails holds security association with VPP metadata
type IPSecSaMeta ¶
type IPSecSaMeta struct {
SaID uint32
Interface string
IfIdx uint32
CryptoKeyLen uint8
IntegKeyLen uint8
Salt uint32
SeqOutbound uint64
LastSeqInbound uint64
ReplayWindow uint64
TotalDataSize uint64
}
IPSecSaMeta contains all VPP-specific metadata
type IPSecSpdDetails ¶
type IPSecSpdDetails struct {
Spd *ipsec.SecurityPolicyDatabase
PolicyMeta map[string]*SpdMeta // SA index name is a key
NumPolicies uint32
}
IPSecSpdDetails represents IPSec policy databases with particular metadata
type IPSecVPPRead ¶
type IPSecVPPRead interface {
// DumpIPSecSPD returns a list of IPSec security policy databases
DumpIPSecSPD() (spdList []*IPSecSpdDetails, err error)
// DumpIPSecSA returns a list of configured security associations
DumpIPSecSA() (saList []*IPSecSaDetails, err error)
// DumpIPSecSAWithIndex returns a security association with provided index
DumpIPSecSAWithIndex(saID uint32) (saList []*IPSecSaDetails, err error)
}
IPSecVPPRead provides read methods for IPSec
type IPSecVppAPI ¶
type IPSecVppAPI interface {
IPSecVPPRead
// AddSPD adds SPD to VPP via binary API
AddSPD(spdID uint32) error
// DelSPD deletes SPD from VPP via binary API
DeleteSPD(spdID uint32) error
// InterfaceAddSPD adds SPD interface assignment to VPP via binary API
AddSPDInterface(spdID uint32, iface *ipsec.SecurityPolicyDatabase_Interface) error
// InterfaceDelSPD deletes SPD interface assignment from VPP via binary API
DeleteSPDInterface(spdID uint32, iface *ipsec.SecurityPolicyDatabase_Interface) error
// AddSPDEntry adds SPD policy entry to VPP via binary API
AddSPDEntry(spdID, saID uint32, spd *ipsec.SecurityPolicyDatabase_PolicyEntry) error
// DelSPDEntry deletes SPD policy entry from VPP via binary API
DeleteSPDEntry(spdID, saID uint32, spd *ipsec.SecurityPolicyDatabase_PolicyEntry) error
// AddSAEntry adds SA to VPP via binary API
AddSA(sa *ipsec.SecurityAssociation) error
// DelSAEntry deletes SA from VPP via binary API
DeleteSA(sa *ipsec.SecurityAssociation) error
}
IPSecVppAPI provides methods for creating and managing of a IPsec configuration
func CompatibleIPSecVppHandler ¶
func CompatibleIPSecVppHandler( ch govppapi.Channel, idx ifaceidx.IfaceMetadataIndex, log logging.Logger, ) IPSecVppAPI
Source Files
¶
- ipsec_vppcalls.go
Click to show internal directories.
Click to hide internal directories.