Documentation ¶
Index ¶
- Constants
- func ParseRoutes(vtyshRes string) (map[string]Route, error)
- func ParseVRFs(vtyshRes string) ([]string, error)
- type AllowedIn
- type AllowedOut
- type BFDPeer
- type BFDProfile
- type Config
- type ConfigHandler
- type FRR
- type FRRNeighbor
- type FRRRoute
- type IPInfo
- type IncomingFilter
- type MessageStats
- type Neighbor
- type NeighborConfig
- type OutgoingFilter
- type Route
- type RouterConfig
- type Status
- type StatusChanged
- type StatusFetcher
Constants ¶
View Source
const ReloadSuccess = "success"
Variables ¶
This section is empty.
Functions ¶
func ParseRoutes ¶
parseRoute takes the result of a show bgp ipv4 / ipv6 and parses the informations related to all the routes.
Types ¶
type AllowedIn ¶
type AllowedIn struct { All bool PrefixesV4 []IncomingFilter PrefixesV6 []IncomingFilter }
func (*AllowedIn) AllPrefixes ¶
func (a *AllowedIn) AllPrefixes() []IncomingFilter
type AllowedOut ¶
type AllowedOut struct { PrefixesV4 []OutgoingFilter PrefixesV6 []OutgoingFilter }
func (*AllowedOut) AllPrefixes ¶
func (a *AllowedOut) AllPrefixes() []OutgoingFilter
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"` RemoteEchoReceiveInterval int `json:"remote-echo-receive-interval"` RemoteDetectMultiplier int `json:"remote-detect-multiplier"` }
func ParseBFDPeers ¶
type BFDProfile ¶
type Config ¶
type Config struct { Loglevel string Hostname string Routers []*RouterConfig BFDProfiles []BFDProfile ExtraConfig string }
type ConfigHandler ¶
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"` AcceptedPrefixCounter int `json:"acceptedPrefixCounter"` } `json:"addressFamilyInfo"` }
type IncomingFilter ¶
func (IncomingFilter) LessThan ¶
func (i IncomingFilter) LessThan(i1 IncomingFilter) bool
func (IncomingFilter) Matcher ¶
func (i IncomingFilter) Matcher() string
type MessageStats ¶
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 PrefixReceived int Port int RemoteRouterID string MsgStats MessageStats }
func ParseNeighbour ¶
parseNeighbour takes the result of a show bgp neighbor x.y.w.z and parses the informations related to the neighbour.
func ParseNeighbours ¶
parseNeighbour takes the result of a show bgp neighbor and parses the informations related to all the neighbours.
type NeighborConfig ¶
type NeighborConfig struct { IPFamily ipfamily.Family Name string ASN uint32 SrcAddr string Addr string Port *uint16 HoldTime *uint64 KeepaliveTime *uint64 Password string BFDProfile string EBGPMultiHop bool VRFName string Incoming AllowedIn Outgoing AllowedOut AlwaysBlock []IncomingFilter }
func (*NeighborConfig) ID ¶
func (n *NeighborConfig) ID() string
type OutgoingFilter ¶
type RouterConfig ¶
type StatusChanged ¶
type StatusChanged func()
type StatusFetcher ¶
type StatusFetcher interface {
GetStatus() Status
}
Click to show internal directories.
Click to hide internal directories.