vppcalls

package
v1.0.7 Latest Latest
Warning

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

Go to latest
Published: Oct 31, 2017 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

Package vppcalls contains wrappers over VPP binary APIs for bridge-domains, L2 FIBs and XConnect pairs.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckMsgCompatibilityForBridgeDomains

func CheckMsgCompatibilityForBridgeDomains(log logging.Logger, vppChan *govppapi.Channel) error

CheckMsgCompatibilityForBridgeDomains checks if CRSs are compatible with VPP in runtime

func CheckMsgCompatibilityForL2FIB

func CheckMsgCompatibilityForL2FIB(log logging.Logger, vppChan *govppapi.Channel) error

CheckMsgCompatibilityForL2FIB checks if CRSs are compatible with VPP in runtime

func CheckMsgCompatibilityForL2XConnect

func CheckMsgCompatibilityForL2XConnect(log logging.Logger, vppChan *govppapi.Channel) error

CheckMsgCompatibilityForL2XConnect checks if CRSs are compatible with VPP in runtime

func VppAddArpTerminationTableEntry

func VppAddArpTerminationTableEntry(bdID uint32, mac string, ip string,
	log logging.Logger, vppChan *govppapi.Channel, timeLog measure.StopWatchEntry) error

VppAddArpTerminationTableEntry creates ARP termination entry for bridge domain

func VppAddBridgeDomain

func VppAddBridgeDomain(bdIdx uint32, bridgeDomain *l2.BridgeDomains_BridgeDomain, log logging.Logger,
	vppChan *govppapi.Channel, timeLog measure.StopWatchEntry) error

VppAddBridgeDomain adds new bridge domain

func VppDeleteBridgeDomain

func VppDeleteBridgeDomain(bdIdx uint32, log logging.Logger, vppChan *govppapi.Channel, timeLog measure.StopWatchEntry) error

VppDeleteBridgeDomain removes existing bridge domain

func VppRemoveArpTerminationTableEntry

func VppRemoveArpTerminationTableEntry(bdID uint32, mac string, ip string, log logging.Logger,
	vppChan *govppapi.Channel, timeLog measure.StopWatchEntry) error

VppRemoveArpTerminationTableEntry removes ARP termination entry from bridge domain

func VppSetAllInterfacesToBridgeDomain

func VppSetAllInterfacesToBridgeDomain(bridgeDomain *l2.BridgeDomains_BridgeDomain, bridgeDomainIndex uint32,
	swIfIndexes ifaceidx.SwIfIndex, log logging.Logger, vppChan *govppapi.Channel, timeLog measure.StopWatchEntry) ([]string, []string, string)

VppSetAllInterfacesToBridgeDomain does lookup all interfaces which belongs to bridge domain, and bvi interface

func VppSetInterfaceToBridgeDomain

func VppSetInterfaceToBridgeDomain(bridgeDomainIndex uint32, interfaceIndex uint32, bvi bool, log logging.Logger,
	vppChan *govppapi.Channel, timeLog measure.StopWatchEntry)

VppSetInterfaceToBridgeDomain sets provided interface to bridge domain

func VppSetL2XConnect

func VppSetL2XConnect(receiveIfaceIndex uint32, transmitIfaceIndex uint32, log logging.Logger, vppChan *govppapi.Channel, timeLog measure.StopWatchEntry) error

VppSetL2XConnect creates xConnect between two existing interfaces

func VppUnsetAllInterfacesFromBridgeDomain

func VppUnsetAllInterfacesFromBridgeDomain(bridgeDomain *l2.BridgeDomains_BridgeDomain, bridgeDomainIndex uint32,
	swIfIndexes ifaceidx.SwIfIndex, log logging.Logger, vppChan *govppapi.Channel, timeLog measure.StopWatchEntry) []string

VppUnsetAllInterfacesFromBridgeDomain removes all interfaces from bridge domain (set them as L3)

func VppUnsetL2XConnect

func VppUnsetL2XConnect(receiveIfaceIndex uint32, transmitIfaceIndex uint32, log logging.Logger, vppChan *govppapi.Channel, timeLog measure.StopWatchEntry) error

VppUnsetL2XConnect removes xConnect between two interfaces

func VppUpdateBridgeDomain

func VppUpdateBridgeDomain(oldBdIdx uint32, newBdIdx uint32, newBridgeDomain *l2.BridgeDomains_BridgeDomain, log logging.Logger,
	vppChan *govppapi.Channel, stopwatch *measure.Stopwatch) error

VppUpdateBridgeDomain updates bridge domain parameters

Types

type FibLogicalReq

type FibLogicalReq struct {
	MAC     string
	BDIdx   uint32
	SwIfIdx uint32
	BVI     bool
	Static  bool
	Delete  bool
	// contains filtered or unexported fields
}

FibLogicalReq groups multiple fields to not enumerate all of them in one function call (request, reply/callback)

type L2FibVppCalls

type L2FibVppCalls struct {
	// contains filtered or unexported fields
}

L2FibVppCalls aggregates vpp calls related to l2 fib

func NewL2FibVppCalls

func NewL2FibVppCalls(vppChan *govppapi.Channel, stopwatch *measure.Stopwatch) *L2FibVppCalls

NewL2FibVppCalls is a constructor

func (*L2FibVppCalls) Add

func (fib *L2FibVppCalls) Add(mac string, bdID uint32, ifIdx uint32, bvi bool, static bool, callback func(error), log logging.Logger) error

Add creates L2 FIB table entry

func (*L2FibVppCalls) Delete

func (fib *L2FibVppCalls) Delete(mac string, bdID uint32, ifIdx uint32, callback func(error), log logging.Logger) error

Delete removes existing L2 FIB table entry

func (*L2FibVppCalls) WatchFIBReplies

func (fib *L2FibVppCalls) WatchFIBReplies(log logging.Logger)

WatchFIBReplies is meant to be used in go routine

Jump to

Keyboard shortcuts

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