adjRIBIn

package
v0.1.9 Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2023 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AdjRIBIn

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

AdjRIBIn represents an Adjacency RIB In as described in RFC4271

func New

func New(exportFilterChain filter.Chain, vrf *vrf.VRF, sessionAttrs routingtable.SessionAttrs) *AdjRIBIn

New creates a new Adjacency RIB In

func (*AdjRIBIn) AddPath

func (a *AdjRIBIn) AddPath(pfx *net.Prefix, p *route.Path) error

AddPath replaces the path for prefix `pfx`. If the prefix doesn't exist it is added.

func (*AdjRIBIn) ClientCount

func (a *AdjRIBIn) ClientCount() uint64

ClientCount gets the number of registered clients

func (*AdjRIBIn) Dump

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

Dump dumps the RIB

func (*AdjRIBIn) Flush

func (a *AdjRIBIn) Flush()

Flush drops all routes from the AdjRIBIn

func (*AdjRIBIn) Get

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

Get gets a route

func (*AdjRIBIn) GetLonger

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

GetLonger gets all more specifics

func (*AdjRIBIn) LPM

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

LPM performs a longest prefix match on the routing table

func (*AdjRIBIn) RT

func (*AdjRIBIn) RefreshRoute

func (a *AdjRIBIn) RefreshRoute(*net.Prefix, []*route.Path)

RefreshRoute is here to fultill an interface

func (*AdjRIBIn) Register

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

Register registers a client for updates

func (*AdjRIBIn) RegisterWithOptions

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

RegisterWithOptions registers a client for updates

func (*AdjRIBIn) RemovePath

func (a *AdjRIBIn) RemovePath(pfx *net.Prefix, p *route.Path) bool

RemovePath removes the path for prefix `pfx`

func (*AdjRIBIn) ReplaceFilterChain

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

ReplaceFilterChain replaces the filter chain

func (*AdjRIBIn) ReplacePath

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

func (*AdjRIBIn) RouteCount

func (a *AdjRIBIn) RouteCount() int64

RouteCount returns the number of stored routes

func (*AdjRIBIn) Unregister

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

Unregister unregisters a client

func (*AdjRIBIn) UpdateNewClient

func (a *AdjRIBIn) 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