vppcalls

package
v2.0.0-beta+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 6, 2019 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

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.SecurityAssociation
	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.SecurityPolicyDatabase
	PolicyMeta  map[string]*SpdMeta // SA index name is a key
	NumPolicies uint32
}

IPSecSpdDetails represents IPSec policy databases with particular metadata

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)
}

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.IfaceMetadataIndex, log logging.Logger) *IPSecVppHandler

NewIPsecVppHandler creates new instance of IPSec vppcalls handler

func (*IPSecVppHandler) AddSA

AddSA 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.SecurityPolicyDatabase_PolicyEntry) error

AddSPDEntry implements IPSec handler.

func (*IPSecVppHandler) AddSPDInterface

func (h *IPSecVppHandler) AddSPDInterface(spdID uint32, ifaceCfg *ipsec.SecurityPolicyDatabase_Interface) error

AddSPDInterface implements IPSec handler.

func (*IPSecVppHandler) DeleteSA

DeleteSA implements IPSec handler.

func (*IPSecVppHandler) DeleteSPD

func (h *IPSecVppHandler) DeleteSPD(spdID uint32) error

DeleteSPD implements IPSec handler.

func (*IPSecVppHandler) DeleteSPDEntry

func (h *IPSecVppHandler) DeleteSPDEntry(spdID, saID uint32, spd *ipsec.SecurityPolicyDatabase_PolicyEntry) error

DeleteSPDEntry implements IPSec handler.

func (*IPSecVppHandler) DeleteSPDInterface

func (h *IPSecVppHandler) DeleteSPDInterface(spdID uint32, ifaceCfg *ipsec.SecurityPolicyDatabase_Interface) error

DeleteSPDInterface 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.

type IPSecVppWrite added in v1.8.1

type IPSecVppWrite interface {
	// 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
}

IPSecVppWrite provides write methods for IPsec

type SpdMeta added in v1.8.1

type SpdMeta struct {
	SaID    uint32
	Policy  uint8
	Bytes   uint64
	Packets uint64
}

SpdMeta hold VPP-specific data related to SPD

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL