Documentation ¶
Index ¶
- Constants
- func DialTCPTimeoutWithMD5Sig(host string, port int, localAddr, key string, msec int) (*net.TCPConn, error)
- func NewROAManager(as uint32) (*roaManager, error)
- func NewRoaClient(address, port string, ch chan *ROAEvent, lifetime int64) *roaClient
- func SetTcpMD5SigSockopts(l *net.TCPListener, address string, key string) error
- func SetTcpTTLSockopts(conn *net.TCPConn, ttl int) error
- type AdminState
- type BgpServer
- func (s *BgpServer) AddBmp(c *config.BmpServerConfig) (err error)
- func (s *BgpServer) AddDefinedSet(a table.DefinedSet) (err error)
- func (s *BgpServer) AddNeighbor(c *config.Neighbor) (err error)
- func (s *BgpServer) AddPath(vrfId string, pathList []*table.Path) (uuidBytes []byte, err error)
- func (s *BgpServer) AddPolicy(x *table.Policy, refer bool) (err error)
- func (s *BgpServer) AddPolicyAssignment(name string, dir table.PolicyDirection, policies []*config.PolicyDefinition, ...) (err error)
- func (s *BgpServer) AddRpki(c *config.RpkiServerConfig) (err error)
- func (s *BgpServer) AddStatement(st *table.Statement) (err error)
- func (s *BgpServer) AddVrf(name string, rd bgp.RouteDistinguisherInterface, ...) (err error)
- func (s *BgpServer) DeleteBmp(c *config.BmpServerConfig) (err error)
- func (s *BgpServer) DeleteDefinedSet(a table.DefinedSet, all bool) (err error)
- func (s *BgpServer) DeleteNeighbor(c *config.Neighbor) (err error)
- func (s *BgpServer) DeletePath(uuid []byte, f bgp.RouteFamily, vrfId string, pathList []*table.Path) (err error)
- func (s *BgpServer) DeletePolicy(x *table.Policy, all, preserve bool) (err error)
- func (s *BgpServer) DeletePolicyAssignment(name string, dir table.PolicyDirection, policies []*config.PolicyDefinition, ...) (err error)
- func (s *BgpServer) DeleteRpki(c *config.RpkiServerConfig) (err error)
- func (s *BgpServer) DeleteStatement(st *table.Statement, all bool) (err error)
- func (s *BgpServer) DeleteVrf(name string) (err error)
- func (s *BgpServer) DisableMrt(c *config.MrtConfig) (err error)
- func (s *BgpServer) DisableNeighbor(addr string) (err error)
- func (s *BgpServer) DisableRpki(c *config.RpkiServerConfig) (err error)
- func (s *BgpServer) EnableMrt(c *config.MrtConfig) (err error)
- func (s *BgpServer) EnableNeighbor(addr string) (err error)
- func (s *BgpServer) EnableRpki(c *config.RpkiServerConfig) (err error)
- func (s *BgpServer) GetAdjRib(addr string, family bgp.RouteFamily, in bool, prefixes []*table.LookupPrefix) (rib *table.Table, err error)
- func (s *BgpServer) GetDefinedSet(typ table.DefinedType) (sets *config.DefinedSets, err error)
- func (s *BgpServer) GetNeighbor() (l []*config.Neighbor)
- func (s *BgpServer) GetPolicy() (l []*config.PolicyDefinition)
- func (s *BgpServer) GetPolicyAssignment(name string, dir table.PolicyDirection) (rt table.RouteType, l []*config.PolicyDefinition, err error)
- func (s *BgpServer) GetRib(addr string, family bgp.RouteFamily, prefixes []*table.LookupPrefix) (rib *table.Table, err error)
- func (s *BgpServer) GetRoa(family bgp.RouteFamily) (l []*ROA, err error)
- func (s *BgpServer) GetRpki() (l []*config.RpkiServer, err error)
- func (s *BgpServer) GetServer() (c *config.Global)
- func (s *BgpServer) GetStatement() (l []*config.Statement)
- func (s *BgpServer) GetVrf() (l []*table.Vrf)
- func (s *BgpServer) GetVrfRib(name string, family bgp.RouteFamily, prefixes []*table.LookupPrefix) (rib *table.Table, err error)
- func (server *BgpServer) Listeners(addr string) []*net.TCPListener
- func (server *BgpServer) RSimportPaths(peer *Peer, pathList []*table.Path) []*table.Path
- func (s *BgpServer) ReplaceDefinedSet(a table.DefinedSet) (err error)
- func (s *BgpServer) ReplacePolicy(x *table.Policy, refer, preserve bool) (err error)
- func (s *BgpServer) ReplacePolicyAssignment(name string, dir table.PolicyDirection, policies []*config.PolicyDefinition, ...) (err error)
- func (s *BgpServer) ReplaceStatement(st *table.Statement) (err error)
- func (s *BgpServer) ResetNeighbor(addr string) (err error)
- func (s *BgpServer) ResetRpki(c *config.RpkiServerConfig) (err error)
- func (server *BgpServer) Serve()
- func (s *BgpServer) Shutdown()
- func (s *BgpServer) ShutdownNeighbor(addr string) (err error)
- func (s *BgpServer) SoftReset(addr string, family bgp.RouteFamily) (err error)
- func (s *BgpServer) SoftResetIn(addr string, family bgp.RouteFamily) (err error)
- func (s *BgpServer) SoftResetOut(addr string, family bgp.RouteFamily) (err error)
- func (s *BgpServer) SoftResetRpki(c *config.RpkiServerConfig) (err error)
- func (s *BgpServer) Start(c *config.Global) (err error)
- func (s *BgpServer) StartCollector(c *config.CollectorConfig) (err error)
- func (s *BgpServer) StartZebraClient(c *config.ZebraConfig) (err error)
- func (s *BgpServer) Stop() (err error)
- func (s *BgpServer) UpdateNeighbor(c *config.Neighbor) (policyUpdated bool, err error)
- func (s *BgpServer) UpdatePolicy(policy config.RoutingPolicy) (err error)
- func (s *BgpServer) ValidateRib(prefix string) (err error)
- func (s *BgpServer) Watch(opts ...WatchOption) (w *Watcher)
- type Collector
- type FSM
- type FSMHandler
- type FsmMsg
- type FsmMsgType
- type FsmOutgoingMsg
- type FsmStateReason
- type Peer
- type ROA
- type ROAEvent
- type ROAEventType
- type TCPListener
- type WatchEvent
- type WatchEventAdjIn
- type WatchEventBestPath
- type WatchEventPeerState
- type WatchEventTable
- type WatchEventType
- type WatchEventUpdate
- type WatchOption
- type Watcher
Constants ¶
View Source
const ( MEATUREMENT_UPDATE = "update" MEATUREMENT_PEER = "peer" MEATUREMENT_TABLE = "table" )
View Source
const ( FSM_DYING = "dying" FSM_ADMIN_DOWN = "admin-down" FSM_READ_FAILED = "read-failed" FSM_WRITE_FAILED = "write-failed" FSM_NOTIFICATION_SENT = "notification-sent" FSM_NOTIFICATION_RECV = "notification-received" FSM_HOLD_TIMER_EXPIRED = "hold-timer-expired" FSM_IDLE_HOLD_TIMER_EXPIRED = "idle-hold-timer-expired" FSM_RESTART_TIMER_EXPIRED = "restart-timer-expired" FSM_GRACEFUL_RESTART = "graceful-restart" FSM_INVALID_MSG = "invalid-msg" FSM_NEW_CONNECTION = "new-connection" FSM_OPEN_MSG_RECEIVED = "open-msg-received" FSM_OPEN_MSG_NEGOTIATED = "open-msg-negotiated" )
View Source
const ( HOLDTIME_OPENSENT = 240 HOLDTIME_IDLE = 5 )
View Source
const ( FLOP_THRESHOLD = time.Second * 30 MIN_CONNECT_RETRY = 10 )
View Source
const (
TCP_MD5SIG = 14
)
Variables ¶
This section is empty.
Functions ¶
func NewROAManager ¶
func NewRoaClient ¶
func SetTcpMD5SigSockopts ¶
func SetTcpMD5SigSockopts(l *net.TCPListener, address string, key string) error
Types ¶
type AdminState ¶
type AdminState int
const ( ADMIN_STATE_UP AdminState = iota ADMIN_STATE_DOWN ADMIN_STATE_PFX_CT )
func (AdminState) String ¶
func (s AdminState) String() string
type BgpServer ¶
type BgpServer struct {
// contains filtered or unexported fields
}
func NewBgpServer ¶
func NewBgpServer() *BgpServer
func (*BgpServer) AddDefinedSet ¶
func (s *BgpServer) AddDefinedSet(a table.DefinedSet) (err error)
func (*BgpServer) AddPolicyAssignment ¶
func (s *BgpServer) AddPolicyAssignment(name string, dir table.PolicyDirection, policies []*config.PolicyDefinition, def table.RouteType) (err error)
func (*BgpServer) AddVrf ¶
func (s *BgpServer) AddVrf(name string, rd bgp.RouteDistinguisherInterface, im, ex []bgp.ExtendedCommunityInterface) (err error)
func (*BgpServer) DeleteDefinedSet ¶
func (s *BgpServer) DeleteDefinedSet(a table.DefinedSet, all bool) (err error)
func (*BgpServer) DeleteNeighbor ¶
func (*BgpServer) DeletePath ¶
func (*BgpServer) DeletePolicy ¶
func (*BgpServer) DeletePolicyAssignment ¶
func (s *BgpServer) DeletePolicyAssignment(name string, dir table.PolicyDirection, policies []*config.PolicyDefinition, all bool) (err error)
func (*BgpServer) DeleteRpki ¶
func (s *BgpServer) DeleteRpki(c *config.RpkiServerConfig) (err error)
func (*BgpServer) DeleteStatement ¶
func (*BgpServer) DisableNeighbor ¶
func (*BgpServer) DisableRpki ¶
func (s *BgpServer) DisableRpki(c *config.RpkiServerConfig) (err error)
func (*BgpServer) EnableNeighbor ¶
func (*BgpServer) EnableRpki ¶
func (s *BgpServer) EnableRpki(c *config.RpkiServerConfig) (err error)
func (*BgpServer) GetAdjRib ¶
func (s *BgpServer) GetAdjRib(addr string, family bgp.RouteFamily, in bool, prefixes []*table.LookupPrefix) (rib *table.Table, err error)
func (*BgpServer) GetDefinedSet ¶
func (s *BgpServer) GetDefinedSet(typ table.DefinedType) (sets *config.DefinedSets, err error)
func (*BgpServer) GetNeighbor ¶
func (*BgpServer) GetPolicy ¶
func (s *BgpServer) GetPolicy() (l []*config.PolicyDefinition)
func (*BgpServer) GetPolicyAssignment ¶
func (s *BgpServer) GetPolicyAssignment(name string, dir table.PolicyDirection) (rt table.RouteType, l []*config.PolicyDefinition, err error)
func (*BgpServer) GetRib ¶
func (s *BgpServer) GetRib(addr string, family bgp.RouteFamily, prefixes []*table.LookupPrefix) (rib *table.Table, err error)
func (*BgpServer) GetStatement ¶
func (*BgpServer) GetVrfRib ¶
func (s *BgpServer) GetVrfRib(name string, family bgp.RouteFamily, prefixes []*table.LookupPrefix) (rib *table.Table, err error)
func (*BgpServer) RSimportPaths ¶
func (*BgpServer) ReplaceDefinedSet ¶
func (s *BgpServer) ReplaceDefinedSet(a table.DefinedSet) (err error)
func (*BgpServer) ReplacePolicy ¶
func (*BgpServer) ReplacePolicyAssignment ¶
func (s *BgpServer) ReplacePolicyAssignment(name string, dir table.PolicyDirection, policies []*config.PolicyDefinition, def table.RouteType) (err error)
func (*BgpServer) ReplaceStatement ¶
func (*BgpServer) ResetNeighbor ¶
func (*BgpServer) ShutdownNeighbor ¶
func (*BgpServer) SoftReset ¶
func (s *BgpServer) SoftReset(addr string, family bgp.RouteFamily) (err error)
func (*BgpServer) SoftResetIn ¶
func (s *BgpServer) SoftResetIn(addr string, family bgp.RouteFamily) (err error)
func (*BgpServer) SoftResetOut ¶
func (s *BgpServer) SoftResetOut(addr string, family bgp.RouteFamily) (err error)
func (*BgpServer) SoftResetRpki ¶
func (s *BgpServer) SoftResetRpki(c *config.RpkiServerConfig) (err error)
func (*BgpServer) StartCollector ¶
func (s *BgpServer) StartCollector(c *config.CollectorConfig) (err error)
func (*BgpServer) StartZebraClient ¶
func (s *BgpServer) StartZebraClient(c *config.ZebraConfig) (err error)
func (*BgpServer) UpdateNeighbor ¶
func (*BgpServer) UpdatePolicy ¶
func (s *BgpServer) UpdatePolicy(policy config.RoutingPolicy) (err error)
func (*BgpServer) ValidateRib ¶
func (*BgpServer) Watch ¶
func (s *BgpServer) Watch(opts ...WatchOption) (w *Watcher)
type FSM ¶
type FSM struct {
// contains filtered or unexported fields
}
func (*FSM) LocalHostPort ¶
func (*FSM) RemoteHostPort ¶
func (*FSM) StateChange ¶
type FSMHandler ¶
type FSMHandler struct {
// contains filtered or unexported fields
}
func NewFSMHandler ¶
func NewFSMHandler(fsm *FSM, incoming *channels.InfiniteChannel, stateCh chan *FsmMsg, outgoing *channels.InfiniteChannel) *FSMHandler
type FsmMsg ¶
type FsmMsg struct { MsgType FsmMsgType MsgSrc string MsgData interface{} PathList []*table.Path Version uint // contains filtered or unexported fields }
type FsmMsgType ¶
type FsmMsgType int
const ( FSM_MSG_STATE_CHANGE FsmMsgType FSM_MSG_BGP_MESSAGE FSM_MSG_ROUTE_REFRESH )
type FsmOutgoingMsg ¶
type FsmOutgoingMsg struct { Paths []*table.Path Notification *bgp.BGPMessage StayIdle bool }
type FsmStateReason ¶
type FsmStateReason string
type Peer ¶
type Peer struct {
// contains filtered or unexported fields
}
func NewPeer ¶
func NewPeer(g *config.Global, conf *config.Neighbor, loc *table.TableManager, policy *table.RoutingPolicy) *Peer
func (*Peer) DropAll ¶
func (peer *Peer) DropAll(rfList []bgp.RouteFamily)
func (*Peer) StaleAll ¶
func (peer *Peer) StaleAll(rfList []bgp.RouteFamily)
type ROAEvent ¶
type ROAEvent struct { EventType ROAEventType Src string Data []byte // contains filtered or unexported fields }
type ROAEventType ¶
type ROAEventType uint8
const ( CONNECTED ROAEventType = iota DISCONNECTED RTR LIFETIMEOUT )
type TCPListener ¶
type TCPListener struct {
// contains filtered or unexported fields
}
func NewTCPListener ¶
avoid mapped IPv6 address
func (*TCPListener) Close ¶
func (l *TCPListener) Close() error
type WatchEvent ¶
type WatchEvent interface { }
type WatchEventAdjIn ¶
type WatchEventBestPath ¶
type WatchEventPeerState ¶
type WatchEventTable ¶
type WatchEventType ¶
type WatchEventType string
const ( WATCH_EVENT_TYPE_BEST_PATH WatchEventType = "bestpath" WATCH_EVENT_TYPE_PRE_UPDATE WatchEventType = "preupdate" WATCH_EVENT_TYPE_POST_UPDATE WatchEventType = "postupdate" WATCH_EVENT_TYPE_PEER_STATE WatchEventType = "peerstate" WATCH_EVENT_TYPE_TABLE WatchEventType = "table" )
type WatchEventUpdate ¶
type WatchOption ¶
type WatchOption func(*watchOptions)
func WatchBestPath ¶
func WatchBestPath() WatchOption
func WatchPeerState ¶
func WatchPeerState(current bool) WatchOption
func WatchPostUpdate ¶
func WatchPostUpdate(current bool) WatchOption
func WatchTableName ¶
func WatchTableName(name string) WatchOption
func WatchUpdate ¶
func WatchUpdate(current bool) WatchOption
Click to show internal directories.
Click to hide internal directories.