vppcalls

package
v3.3.0-beta Latest Latest
Warning

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

Go to latest
Published: Jan 27, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Handler = vpp.RegisterHandler(vpp.HandlerDesc{
	Name:       "srv6",
	HandlerAPI: (*SRv6VppAPI)(nil),
})

Functions

func AddHandlerVersion

func AddHandlerVersion(version vpp.Version, msgs []govppapi.Message, h NewHandlerFunc)

Types

type SRv6VPPRead

type SRv6VPPRead interface {

	// DumpLocalSids retrieves all localsids
	DumpLocalSids() (localsids []*srv6.LocalSID, err error)

	// 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

type SRv6VPPWrite interface {
	// AddLocalSid adds local sid <localSID> into VPP
	AddLocalSid(localSID *srv6.LocalSID) error
	// DeleteLocalSid deletes local sid <localSID> in VPP
	DeleteLocalSid(localSID *srv6.LocalSID) 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

type SRv6VppAPI interface {
	SRv6VPPWrite
	SRv6VPPRead
}

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

func CompatibleSRv6Handler

func CompatibleSRv6Handler(c vpp.Client, ifIdx ifaceidx.IfaceMetadataIndex, log logging.Logger) SRv6VppAPI

Directories

Path Synopsis
Package vpp2005_379 contains wrappers over VPP (version 20.01) binary APIs to simplify their usage
Package vpp2005_379 contains wrappers over VPP (version 20.01) binary APIs to simplify their usage
Package vpp2009_379 contains wrappers over VPP (version 20.01) binary APIs to simplify their usage
Package vpp2009_379 contains wrappers over VPP (version 20.01) binary APIs to simplify their usage
Package vpp2101_379 contains wrappers over VPP (version 20.01) binary APIs to simplify their usage
Package vpp2101_379 contains wrappers over VPP (version 20.01) binary APIs to simplify their usage
Package vpp2106_379 contains wrappers over VPP (version 20.01) binary APIs to simplify their usage
Package vpp2106_379 contains wrappers over VPP (version 20.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