Documentation ¶
Index ¶
- type IPSecSaDetails
- type IPSecSaMeta
- type IPSecSpdDetails
- type IPSecSpdMeta
- 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 Meta *IPSecSpdMeta }
IPSecSpdDetails represents IPSec policy databases with particular metadata
type IPSecSpdMeta ¶
IPSecSpdMeta is map where key is a generated security association name, and value is an SpdMeta object
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