Documentation ¶
Overview ¶
Package vppcalls contains wrappers over VPP binary APIs for bridge-domains, L2 FIBs and XConnect pairs.
Index ¶
- func CheckMsgCompatibilityForBridgeDomains(log logging.Logger, vppChan *govppapi.Channel) error
- func CheckMsgCompatibilityForL2FIB(log logging.Logger, vppChan *govppapi.Channel) error
- func CheckMsgCompatibilityForL2XConnect(log logging.Logger, vppChan *govppapi.Channel) error
- func VppAddArpTerminationTableEntry(bridgeDomainID uint32, mac string, ip string, log logging.Logger, ...) error
- func VppAddBridgeDomain(bdIdx uint32, bridgeDomain *l2.BridgeDomains_BridgeDomain, log logging.Logger, ...) error
- func VppDeleteBridgeDomain(bdIdx uint32, log logging.Logger, vppChan *govppapi.Channel, ...) error
- func VppRemoveArpTerminationTableEntry(bdID uint32, mac string, ip string, log logging.Logger, ...) error
- func VppSetAllInterfacesToBridgeDomain(bridgeDomain *l2.BridgeDomains_BridgeDomain, bridgeDomainIndex uint32, ...) ([]string, []string, string)
- func VppSetInterfaceToBridgeDomain(bridgeDomainIndex uint32, interfaceIndex uint32, bvi bool, log logging.Logger, ...)
- func VppSetL2XConnect(receiveIfaceIndex uint32, transmitIfaceIndex uint32, log logging.Logger, ...) error
- func VppUnsetAllInterfacesFromBridgeDomain(bridgeDomain *l2.BridgeDomains_BridgeDomain, bridgeDomainIndex uint32, ...) []string
- func VppUnsetL2XConnect(receiveIfaceIndex uint32, transmitIfaceIndex uint32, log logging.Logger, ...) error
- func VppUpdateBridgeDomain(oldBdIdx uint32, newBdIdx uint32, ...) error
- type FibLogicalReq
- type L2FibVppCalls
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CheckMsgCompatibilityForBridgeDomains ¶
CheckMsgCompatibilityForBridgeDomains checks if CRSs are compatible with VPP in runtime
func CheckMsgCompatibilityForL2FIB ¶
CheckMsgCompatibilityForL2FIB checks if CRSs are compatible with VPP in runtime
func CheckMsgCompatibilityForL2XConnect ¶
CheckMsgCompatibilityForL2XConnect checks if CRSs are compatible with VPP in runtime
func VppAddArpTerminationTableEntry ¶
func VppAddArpTerminationTableEntry(bridgeDomainID uint32, mac string, ip string, log logging.Logger, vppChan *govppapi.Channel, timeLog measure.StopWatchEntry) error
VppAddArpTerminationTableEntry adds ARP termination entry
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
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)
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