frr

package
v0.13.8 Latest Latest
Warning

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

Go to latest
Published: Feb 20, 2023 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewSessionManager

func NewSessionManager(l log.Logger, logLevel logging.Level) *sessionManager

func ParseRoutes

func ParseRoutes(vtyshRes string) (map[string]Route, error)

parseRoute takes the result of a show bgp neighbor and parses the informations related to all the neighbours.

func ParseVRFs added in v0.13.8

func ParseVRFs(vtyshRes string) ([]string, error)

Types

type BFDPeer

type BFDPeer struct {
	Multihop               bool   `json:"multihop"`
	Peer                   string `json:"peer"`
	Local                  string `json:"local"`
	Vrf                    string `json:"vrf"`
	Interface              string `json:"interface"`
	ID                     int    `json:"id"`
	RemoteID               int64  `json:"remote-id"`
	PassiveMode            bool   `json:"passive-mode"`
	Status                 string `json:"status"`
	Uptime                 int    `json:"uptime"`
	Diagnostic             string `json:"diagnostic"`
	RemoteDiagnostic       string `json:"remote-diagnostic"`
	ReceiveInterval        int    `json:"receive-interval"`
	TransmitInterval       int    `json:"transmit-interval"`
	EchoReceiveInterval    int    `json:"echo-receive-interval"`
	EchoTransmitInterval   int    `json:"echo-transmit-interval"`
	DetectMultiplier       int    `json:"detect-multiplier"`
	RemoteReceiveInterval  int    `json:"remote-receive-interval"`
	RemoteTransmitInterval int    `json:"remote-transmit-interval"`
	RemoteEchoInterval     int    `json:"remote-echo-interval"`
	RemoteDetectMultiplier int    `json:"remote-detect-multiplier"`
}

func ParseBFDPeers

func ParseBFDPeers(vtyshRes string) ([]BFDPeer, error)

type BFDProfile

type BFDProfile struct {
	Name             string
	ReceiveInterval  *uint32
	TransmitInterval *uint32
	DetectMultiplier *uint32
	EchoInterval     *uint32
	EchoMode         bool
	PassiveMode      bool
	MinimumTTL       *uint32
}

type FRRNeighbor

type FRRNeighbor struct {
	RemoteAs          int          `json:"remoteAs"`
	LocalAs           int          `json:"localAs"`
	RemoteRouterID    string       `json:"remoteRouterId"`
	BgpVersion        int          `json:"bgpVersion"`
	BgpState          string       `json:"bgpState"`
	PortForeign       int          `json:"portForeign"`
	MsgStats          MessageStats `json:"messageStats"`
	VRFName           string       `json:"vrf"`
	AddressFamilyInfo map[string]struct {
		SentPrefixCounter int `json:"sentPrefixCounter"`
	} `json:"addressFamilyInfo"`
}

type FRRRoute

type FRRRoute struct {
	Valid     bool   `json:"valid"`
	PeerID    string `json:"peerId"`
	LocalPref uint32 `json:"locPrf"`
	Origin    string `json:"origin"`
	Nexthops  []struct {
		IP    string `json:"ip"`
		Scope string `json:"scope"`
	} `json:"nexthops"`
}

type IPInfo

type IPInfo struct {
	Routes map[string][]FRRRoute `json:"routes"`
}

type MessageStats added in v0.13.8

type MessageStats struct {
	OpensSent          int `json:"opensSent"`
	OpensReceived      int `json:"opensRecv"`
	NotificationsSent  int `json:"notificationsSent"`
	UpdatesSent        int `json:"updatesSent"`
	UpdatesReceived    int `json:"updatesRecv"`
	KeepalivesSent     int `json:"keepalivesSent"`
	KeepalivesReceived int `json:"keepalivesRecv"`
	RouteRefreshSent   int `json:"routeRefreshSent"`
	TotalSent          int `json:"totalSent"`
	TotalReceived      int `json:"totalRecv"`
}

type Neighbor

type Neighbor struct {
	Ip             net.IP
	VRF            string
	Connected      bool
	LocalAS        string
	RemoteAS       string
	PrefixSent     int
	Port           int
	RemoteRouterID string
	MsgStats       MessageStats
}

func ParseNeighbour

func ParseNeighbour(vtyshRes string) (*Neighbor, error)

parseNeighbour takes the result of a show bgp neighbor x.y.w.z and parses the informations related to the neighbour.

func ParseNeighbours

func ParseNeighbours(vtyshRes string) ([]*Neighbor, error)

parseNeighbour takes the result of a show bgp neighbor and parses the informations related to all the neighbours.

type Route

type Route struct {
	Destination *net.IPNet
	NextHops    []net.IP
	LocalPref   uint32
	Origin      string
}

Jump to

Keyboard shortcuts

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