Versions in this module Expand all Collapse all v0 v0.0.16 Nov 22, 2024 v0.0.15 Sep 17, 2024 v0.0.14 Jul 19, 2024 Changes in this version type NeighborConfig + GracefulRestart bool type RouterConfig + ImportVRFs []string v0.0.13 Jul 15, 2024 v0.0.12 Jul 8, 2024 v0.0.11 Apr 4, 2024 Changes in this version type NeighborConfig + DisableMP bool v0.0.10 Feb 21, 2024 Changes in this version type NeighborConfig + ConnectTime *uint64 v0.0.8 Jan 24, 2024 v0.0.7 Jan 23, 2024 v0.0.6 Jan 23, 2024 v0.0.5 Jan 23, 2024 Changes in this version type NeighborConfig + AlwaysBlock []IncomingFilter v0.0.4 Dec 12, 2023 v0.0.3 Dec 5, 2023 v0.0.2 Dec 1, 2023 v0.0.1 Nov 27, 2023 Changes in this version + const ReloadSuccess + func ParseRoutes(vtyshRes string) (map[string]Route, error) + func ParseVRFs(vtyshRes string) ([]string, error) + type AllowedIn struct + All bool + PrefixesV4 []IncomingFilter + PrefixesV6 []IncomingFilter + func (a *AllowedIn) AllPrefixes() []IncomingFilter + type AllowedOut struct + PrefixesV4 []OutgoingFilter + PrefixesV6 []OutgoingFilter + func (a *AllowedOut) AllPrefixes() []OutgoingFilter + type BFDPeer struct + DetectMultiplier int + Diagnostic string + EchoReceiveInterval int + EchoTransmitInterval int + ID int + Interface string + Local string + Multihop bool + PassiveMode bool + Peer string + ReceiveInterval int + RemoteDetectMultiplier int + RemoteDiagnostic string + RemoteEchoInterval int + RemoteEchoReceiveInterval int + RemoteID int64 + RemoteReceiveInterval int + RemoteTransmitInterval int + Status string + TransmitInterval int + Uptime int + Vrf string + func ParseBFDPeers(vtyshRes string) ([]BFDPeer, error) + type BFDProfile struct + DetectMultiplier *uint32 + EchoInterval *uint32 + EchoMode bool + MinimumTTL *uint32 + Name string + PassiveMode bool + ReceiveInterval *uint32 + TransmitInterval *uint32 + type Config struct + BFDProfiles []BFDProfile + ExtraConfig string + Hostname string + Loglevel string + Routers []*RouterConfig + type ConfigHandler interface + ApplyConfig func(config *Config) error + type FRR struct + Status Status + func NewFRR(ctx context.Context, onStatusChanged StatusChanged, logger log.Logger, ...) *FRR + func (f *FRR) ApplyConfig(config *Config) error + func (f *FRR) GetStatus() Status + type FRRNeighbor struct + AddressFamilyInfo map[string]struct{ ... } + BgpState string + BgpVersion int + LocalAs int + MsgStats MessageStats + PortForeign int + RemoteAs int + RemoteRouterID string + VRFName string + type FRRRoute struct + LocalPref uint32 + Nexthops []struct{ ... } + Origin string + PeerID string + Valid bool + type IPInfo struct + Routes map[string][]FRRRoute + type IncomingFilter struct + GE uint32 + IPFamily ipfamily.Family + LE uint32 + Prefix string + func (i IncomingFilter) LessThan(i1 IncomingFilter) bool + func (i IncomingFilter) Matcher() string + type MessageStats struct + KeepalivesReceived int + KeepalivesSent int + NotificationsSent int + OpensReceived int + OpensSent int + RouteRefreshSent int + TotalReceived int + TotalSent int + UpdatesReceived int + UpdatesSent int + type Neighbor struct + Connected bool + IP net.IP + LocalAS string + MsgStats MessageStats + Port int + PrefixReceived int + PrefixSent int + RemoteAS string + RemoteRouterID string + VRF string + func ParseNeighbour(vtyshRes string) (*Neighbor, error) + func ParseNeighbours(vtyshRes string) ([]*Neighbor, error) + type NeighborConfig struct + ASN uint32 + Addr string + BFDProfile string + EBGPMultiHop bool + HoldTime *uint64 + IPFamily ipfamily.Family + Incoming AllowedIn + KeepaliveTime *uint64 + Name string + Outgoing AllowedOut + Password string + Port *uint16 + SrcAddr string + VRFName string + func (n *NeighborConfig) ID() string + type OutgoingFilter struct + Communities []string + IPFamily ipfamily.Family + LargeCommunities []string + LocalPref uint32 + Prefix string + type Route struct + Destination *net.IPNet + LocalPref uint32 + NextHops []net.IP + Origin string + type RouterConfig struct + IPV4Prefixes []string + IPV6Prefixes []string + MyASN uint32 + Neighbors []*NeighborConfig + RouterID string + VRF string + type Status struct + Current string + Desired string + LastReloadResult string + type StatusChanged func() + type StatusFetcher interface + GetStatus func() Status