vppcalls

package
v2.1.0-alpha+incompatible Latest Latest
Warning

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

Go to latest
Published: Apr 4, 2019 License: Apache-2.0 Imports: 5 Imported by: 52

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

type SRv6VPPRead added in v1.8.1

type SRv6VPPRead interface {

	// RetrievePolicyIndexInfo retrieves index of policy <policy> and its segment lists
	RetrievePolicyIndexInfo(policy *srv6.Policy) (policyIndex uint32, segmentListIndexes map[*srv6.Policy_SegmentList]uint32, err error)
}

SRv6VPPRead provides read methods for segment routing

type SRv6VPPWrite added in v1.8.1

type SRv6VPPWrite interface {
	// AddLocalSid adds local sid <localSID> into VPP
	AddLocalSid(localSID *srv6.LocalSID) error
	// DeleteLocalSid delets local sid given by <sidAddr> in VPP
	DeleteLocalSid(sidAddr net.IP) error
	// SetEncapsSourceAddress sets for SRv6 in VPP the source address used for encapsulated packet
	SetEncapsSourceAddress(address string) error
	// AddPolicy adds SRv6 policy <policy> into VPP (including all policy's segment lists).
	AddPolicy(policy *srv6.Policy) error
	// DeletePolicy deletes SRv6 policy given by binding SID <bindingSid> (including all policy's segment lists).
	DeletePolicy(bindingSid net.IP) error
	// AddPolicySegmentList adds segment list <segmentList> to SRv6 policy <policy> in VPP
	AddPolicySegmentList(segmentList *srv6.Policy_SegmentList, policy *srv6.Policy) error
	// DeletePolicySegmentList removes segment list <segmentList> (with VPP-internal index <segmentVPPIndex>) from SRv6 policy <policy> in VPP
	DeletePolicySegmentList(segmentList *srv6.Policy_SegmentList, segmentVPPIndex uint32, policy *srv6.Policy) error
	// AddSteering sets in VPP steering into SRv6 policy.
	AddSteering(steering *srv6.Steering) error
	// RemoveSteering removes in VPP steering into SRv6 policy.
	RemoveSteering(steering *srv6.Steering) error
}

SRv6VPPWrite provides write methods for segment routing

type SRv6VppAPI added in v1.8.1

type SRv6VppAPI interface {
	SRv6VPPWrite
	SRv6VPPRead
}

SRv6VppAPI is API boundary for vppcall package access, introduced to properly test code dependent on vppcalls package

func CompatibleSRv6VppHandler

func CompatibleSRv6VppHandler(
	ch govppapi.Channel, idx ifaceidx.IfaceMetadataIndex, log logging.Logger,
) SRv6VppAPI

Directories

Path Synopsis
Package vpp1810 contains wrappers over VPP (version 18.10) binary APIs to simplify their usage
Package vpp1810 contains wrappers over VPP (version 18.10) binary APIs to simplify their usage
Package vpp1901 contains wrappers over VPP (version 19.01) binary APIs to simplify their usage
Package vpp1901 contains wrappers over VPP (version 19.01) binary APIs to simplify their usage

Jump to

Keyboard shortcuts

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