Documentation
¶
Index ¶
- type IPSecSaDetails
- type IPSecSaMeta
- type IPSecSpdDetails
- type IPSecTunnelInterfaceDetails
- type IPSecTunnelMeta
- type IPSecVPPRead
- type IPSecVppAPI
- type IPSecVppHandler
- func (h *IPSecVppHandler) AddSAEntry(saID uint32, sa *ipsec.SecurityAssociations_SA) error
- func (h *IPSecVppHandler) AddSPD(spdID uint32) error
- func (h *IPSecVppHandler) AddSPDEntry(spdID, saID uint32, spd *ipsec.SecurityPolicyDatabases_SPD_PolicyEntry) error
- func (h *IPSecVppHandler) AddTunnelInterface(tunnel *ipsec.TunnelInterfaces_Tunnel) (uint32, error)
- func (h *IPSecVppHandler) DelSAEntry(saID uint32, sa *ipsec.SecurityAssociations_SA) error
- func (h *IPSecVppHandler) DelSPD(spdID uint32) error
- func (h *IPSecVppHandler) DelSPDEntry(spdID, saID uint32, spd *ipsec.SecurityPolicyDatabases_SPD_PolicyEntry) error
- func (h *IPSecVppHandler) DelTunnelInterface(ifIdx uint32, tunnel *ipsec.TunnelInterfaces_Tunnel) error
- func (h *IPSecVppHandler) DumpIPSecSA() (saList []*IPSecSaDetails, err error)
- func (h *IPSecVppHandler) DumpIPSecSAWithIndex(saID uint32) (saList []*IPSecSaDetails, err error)
- func (h *IPSecVppHandler) DumpIPSecSPD() (spdList []*IPSecSpdDetails, err error)
- func (h *IPSecVppHandler) DumpIPSecTunnelInterfaces() (tun []*IPSecTunnelInterfaceDetails, err error)
- func (h *IPSecVppHandler) InterfaceAddSPD(spdID, swIfIdx uint32) error
- func (h *IPSecVppHandler) InterfaceDelSPD(spdID, swIfIdx uint32) error
- type IPSecVppWrite
- type SpdMeta
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type IPSecSaDetails ¶ added in v1.8.1
type IPSecSaDetails struct {
Sa *ipsec.SecurityAssociations_SA
Meta *IPSecSaMeta
}
IPSecSaDetails holds security association with VPP metadata
type IPSecSaMeta ¶ added in v1.8.1
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 ¶ added in v1.8.1
type IPSecSpdDetails struct {
Spd *ipsec.SecurityPolicyDatabases_SPD
PolicyMeta map[string]*SpdMeta // SA-generated name is a key
NumPolicies uint32
}
IPSecSpdDetails represents IPSec policy databases with particular metadata
type IPSecTunnelInterfaceDetails ¶ added in v1.8.1
type IPSecTunnelInterfaceDetails struct {
Tunnel *ipsec.TunnelInterfaces_Tunnel
Meta *IPSecTunnelMeta
}
IPSecTunnelInterfaceDetails hold a list of tunnel interfaces with name/index map as metadata
type IPSecTunnelMeta ¶ added in v1.8.1
type IPSecTunnelMeta struct {
SwIfIndex uint32
}
IPSecTunnelMeta contains map of name/index pairs
type IPSecVPPRead ¶ added in v1.8.1
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)
// DumpIPSecTunnelInterfaces returns a list of configured IPSec tunnel interfaces
DumpIPSecTunnelInterfaces() (tun []*IPSecTunnelInterfaceDetails, err error)
}
IPSecVPPRead provides read methods for IPSec
type IPSecVppAPI ¶ added in v1.8.1
type IPSecVppAPI interface {
IPSecVppWrite
IPSecVPPRead
}
IPSecVppAPI provides methods for creating and managing of a IPsec configuration
type IPSecVppHandler ¶ added in v1.8.1
type IPSecVppHandler struct {
// contains filtered or unexported fields
}
IPSecVppHandler is accessor for IPsec-related vppcalls methods
func NewIPsecVppHandler ¶ added in v1.8.1
func NewIPsecVppHandler(callsChan govppapi.Channel, ifIndexes ifaceidx.SwIfIndex, spdIndexes ipsecidx.SPDIndex, log logging.Logger) *IPSecVppHandler
NewIPsecVppHandler creates new instance of IPsec vppcalls handler
func (*IPSecVppHandler) AddSAEntry ¶ added in v1.8.1
func (h *IPSecVppHandler) AddSAEntry(saID uint32, sa *ipsec.SecurityAssociations_SA) error
AddSAEntry implements IPSec handler.
func (*IPSecVppHandler) AddSPD ¶ added in v1.8.1
func (h *IPSecVppHandler) AddSPD(spdID uint32) error
AddSPD implements IPSec handler.
func (*IPSecVppHandler) AddSPDEntry ¶ added in v1.8.1
func (h *IPSecVppHandler) AddSPDEntry(spdID, saID uint32, spd *ipsec.SecurityPolicyDatabases_SPD_PolicyEntry) error
AddSPDEntry implements IPSec handler.
func (*IPSecVppHandler) AddTunnelInterface ¶ added in v1.8.1
func (h *IPSecVppHandler) AddTunnelInterface(tunnel *ipsec.TunnelInterfaces_Tunnel) (uint32, error)
AddTunnelInterface implements IPSec handler.
func (*IPSecVppHandler) DelSAEntry ¶ added in v1.8.1
func (h *IPSecVppHandler) DelSAEntry(saID uint32, sa *ipsec.SecurityAssociations_SA) error
DelSAEntry implements IPSec handler.
func (*IPSecVppHandler) DelSPD ¶ added in v1.8.1
func (h *IPSecVppHandler) DelSPD(spdID uint32) error
DelSPD implements IPSec handler.
func (*IPSecVppHandler) DelSPDEntry ¶ added in v1.8.1
func (h *IPSecVppHandler) DelSPDEntry(spdID, saID uint32, spd *ipsec.SecurityPolicyDatabases_SPD_PolicyEntry) error
DelSPDEntry implements IPSec handler.
func (*IPSecVppHandler) DelTunnelInterface ¶ added in v1.8.1
func (h *IPSecVppHandler) DelTunnelInterface(ifIdx uint32, tunnel *ipsec.TunnelInterfaces_Tunnel) error
DelTunnelInterface implements IPSec handler.
func (*IPSecVppHandler) DumpIPSecSA ¶ added in v1.8.1
func (h *IPSecVppHandler) DumpIPSecSA() (saList []*IPSecSaDetails, err error)
DumpIPSecSA implements IPSec handler.
func (*IPSecVppHandler) DumpIPSecSAWithIndex ¶ added in v1.8.1
func (h *IPSecVppHandler) DumpIPSecSAWithIndex(saID uint32) (saList []*IPSecSaDetails, err error)
DumpIPSecSAWithIndex implements IPSec handler.
func (*IPSecVppHandler) DumpIPSecSPD ¶ added in v1.8.1
func (h *IPSecVppHandler) DumpIPSecSPD() (spdList []*IPSecSpdDetails, err error)
DumpIPSecSPD implements IPSec handler.
func (*IPSecVppHandler) DumpIPSecTunnelInterfaces ¶ added in v1.8.1
func (h *IPSecVppHandler) DumpIPSecTunnelInterfaces() (tun []*IPSecTunnelInterfaceDetails, err error)
DumpIPSecTunnelInterfaces implements IPSec handler.
func (*IPSecVppHandler) InterfaceAddSPD ¶ added in v1.8.1
func (h *IPSecVppHandler) InterfaceAddSPD(spdID, swIfIdx uint32) error
InterfaceAddSPD implements IPSec handler.
func (*IPSecVppHandler) InterfaceDelSPD ¶ added in v1.8.1
func (h *IPSecVppHandler) InterfaceDelSPD(spdID, swIfIdx uint32) error
InterfaceDelSPD implements IPSec handler.
type IPSecVppWrite ¶ added in v1.8.1
type IPSecVppWrite interface {
// AddTunnelInterface adds tunnel interface
AddTunnelInterface(tunnel *ipsec.TunnelInterfaces_Tunnel) (uint32, error)
// DelTunnelInterface removes tunnel interface
DelTunnelInterface(ifIdx uint32, tunnel *ipsec.TunnelInterfaces_Tunnel) error
// AddSPD adds SPD to VPP via binary API
AddSPD(spdID uint32) error
// DelSPD deletes SPD from VPP via binary API
DelSPD(spdID uint32) error
// InterfaceAddSPD adds SPD interface assignment to VPP via binary API
InterfaceAddSPD(spdID, swIfIdx uint32) error
// InterfaceDelSPD deletes SPD interface assignment from VPP via binary API
InterfaceDelSPD(spdID, swIfIdx uint32) error
// AddSPDEntry adds SPD policy entry to VPP via binary API
AddSPDEntry(spdID, saID uint32, spd *ipsec.SecurityPolicyDatabases_SPD_PolicyEntry) error
// DelSPDEntry deletes SPD policy entry from VPP via binary API
DelSPDEntry(spdID, saID uint32, spd *ipsec.SecurityPolicyDatabases_SPD_PolicyEntry) error
// AddSAEntry adds SA to VPP via binary API
AddSAEntry(saID uint32, sa *ipsec.SecurityAssociations_SA) error
// DelSAEntry deletes SA from VPP via binary API
DelSAEntry(saID uint32, sa *ipsec.SecurityAssociations_SA) error
}
IPSecVppWrite provides write methods for IPsec
Source Files
¶
- api_vppcalls.go
- dump_vppcalls.go
- ipsec_vppcalls.go