adjRIBOut

package
v0.0.3-pre7 Latest Latest
Warning

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

Go to latest
Published: Jan 22, 2021 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 AdjRIBOut

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

AdjRIBOut represents an Adjacency RIB Out with BGP add path

func New

func New(rib *locRIB.LocRIB, neighbor *routingtable.Neighbor, exportFilterChain filter.Chain, addPathTX bool) *AdjRIBOut

New creates a new Adjacency RIB Out with BGP add path

func (*AdjRIBOut) AddPath

func (a *AdjRIBOut) AddPath(pfx *bnet.Prefix, p *route.Path) error

AddPath adds path p to prefix `pfx`

func (*AdjRIBOut) AddPathInitialDump

func (a *AdjRIBOut) AddPathInitialDump(pfx *bnet.Prefix, p *route.Path) error

func (*AdjRIBOut) ClientCount

func (a *AdjRIBOut) ClientCount() uint64

ClientCount gets the number of registered clients

func (*AdjRIBOut) Dispose

func (a *AdjRIBOut) Dispose()

Dispose is here to fulfill an interface. We don't care if the RIB we're registred to as a client is gone as this only happens in the BMP use case where AdjRIBOut is not used.

func (*AdjRIBOut) Dump

func (a *AdjRIBOut) Dump() []*route.Route

Dump dumps the RIB

func (*AdjRIBOut) Get

func (a *AdjRIBOut) Get(pfx *net.Prefix) *route.Route

Get gets a route

func (*AdjRIBOut) GetLonger

func (a *AdjRIBOut) GetLonger(pfx *net.Prefix) (res []*route.Route)

GetLonger gets all more specifics

func (*AdjRIBOut) LPM

func (a *AdjRIBOut) LPM(pfx *net.Prefix) (res []*route.Route)

LPM performs a longest prefix match on the routing table

func (*AdjRIBOut) Print

func (a *AdjRIBOut) Print() string

Print dumps all prefixes in the Adj-RIB

func (*AdjRIBOut) RefreshRoute

func (a *AdjRIBOut) RefreshRoute(pfx *net.Prefix, ribPaths []*route.Path)

RefreshRoute refreshes a route

func (*AdjRIBOut) Register

func (a *AdjRIBOut) Register(client routingtable.RouteTableClient)

Register registers a client for updates

func (*AdjRIBOut) RegisterWithOptions

func (a *AdjRIBOut) RegisterWithOptions(client routingtable.RouteTableClient, options routingtable.ClientOptions)

RegisterWithOptions registers a client for updates

func (*AdjRIBOut) RemovePath

func (a *AdjRIBOut) RemovePath(pfx *bnet.Prefix, p *route.Path) bool

RemovePath removes the path for prefix `pfx`

func (*AdjRIBOut) ReplaceFilterChain

func (a *AdjRIBOut) ReplaceFilterChain(c filter.Chain)

ReplaceFilterChain replaces the export filter chain

func (*AdjRIBOut) ReplacePath

func (a *AdjRIBOut) ReplacePath(pfx *net.Prefix, old *route.Path, new *route.Path)

ReplacePath is here to fulfill an interface

func (*AdjRIBOut) RouteCount

func (a *AdjRIBOut) RouteCount() int64

RouteCount returns the number of stored routes

func (*AdjRIBOut) Unregister

func (a *AdjRIBOut) Unregister(client routingtable.RouteTableClient)

Unregister unregisters a client

func (*AdjRIBOut) UpdateNewClient

func (a *AdjRIBOut) UpdateNewClient(client routingtable.RouteTableClient) error

UpdateNewClient sends current state to a new client

Jump to

Keyboard shortcuts

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