Documentation
¶
Index ¶
- type BaseTopology
- func (bt *BaseTopology) AddNode(node model.Node) error
- func (bt *BaseTopology) GetConnector(connectorID string) (model.Connector, error)
- func (bt *BaseTopology) GetConnectorByIP(ip, vrf string) (model.Connector, error)
- func (bt *BaseTopology) GetConnectorByNetwork(net network.AbbrNet, vrf string) (model.Connector, error)
- func (bt *BaseTopology) GetNode(nodeID string) (model.Node, error)
- func (bt *BaseTopology) GetPort(portID string) (model.Port, error)
- func (bt *BaseTopology) GetPortsByArea(area string, ipFamily network.IPFamily) []model.Port
- func (bt *BaseTopology) IsOutsidePort(nodeID, portID string, ipFamily network.IPFamily) (bool, string)
- func (bt *BaseTopology) IsStubPort(nodeID, portID string, ipFamily network.IPFamily) bool
- func (bt *BaseTopology) ListNodes() []model.Node
- func (bt *BaseTopology) ListPorts() []model.Port
- func (bt *BaseTopology) LocateSourceNode(src network.NetworkList, options *LocateOptions) (model.Node, model.Port, error)
- type LocateOptions
- type Topology
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BaseTopology ¶
type BaseTopology struct {
// contains filtered or unexported fields
}
BaseTopology 基础拓扑实现
func (*BaseTopology) GetConnector ¶
func (bt *BaseTopology) GetConnector(connectorID string) (model.Connector, error)
GetConnector 获取连接器
func (*BaseTopology) GetConnectorByIP ¶
func (bt *BaseTopology) GetConnectorByIP(ip, vrf string) (model.Connector, error)
GetConnectorByIP 通过IP获取连接器
func (*BaseTopology) GetConnectorByNetwork ¶
func (bt *BaseTopology) GetConnectorByNetwork(net network.AbbrNet, vrf string) (model.Connector, error)
GetConnectorByNetwork 通过网络获取连接器
func (*BaseTopology) GetNode ¶
func (bt *BaseTopology) GetNode(nodeID string) (model.Node, error)
GetNode 获取节点
func (*BaseTopology) GetPort ¶
func (bt *BaseTopology) GetPort(portID string) (model.Port, error)
GetPort 获取端口
func (*BaseTopology) GetPortsByArea ¶
GetPortsByArea 获取区域端口
func (*BaseTopology) IsOutsidePort ¶
func (bt *BaseTopology) IsOutsidePort(nodeID, portID string, ipFamily network.IPFamily) (bool, string)
IsOutsidePort 判断是否为Outside端口
func (*BaseTopology) IsStubPort ¶
func (bt *BaseTopology) IsStubPort(nodeID, portID string, ipFamily network.IPFamily) bool
IsStubPort 判断是否为Stub端口
func (*BaseTopology) LocateSourceNode ¶
func (bt *BaseTopology) LocateSourceNode(src network.NetworkList, options *LocateOptions) (model.Node, model.Port, error)
LocateSourceNode 定位源节点
type LocateOptions ¶
LocateOptions 定位选项
type Topology ¶
type Topology interface {
// Node管理
AddNode(node model.Node) error
GetNode(nodeID string) (model.Node, error)
ListNodes() []model.Node
// 端口管理
GetPort(portID string) (model.Port, error)
ListPorts() []model.Port
// 连接器管理
GetConnector(connectorID string) (model.Connector, error)
GetConnectorByNetwork(net network.AbbrNet, vrf string) (model.Connector, error)
GetConnectorByIP(ip, vrf string) (model.Connector, error)
// 节点定位
LocateSourceNode(src network.NetworkList, options *LocateOptions) (model.Node, model.Port, error)
// 区域和Stub管理
GetPortsByArea(area string, ipFamily network.IPFamily) []model.Port
IsOutsidePort(nodeID, portID string, ipFamily network.IPFamily) (bool, string)
IsStubPort(nodeID, portID string, ipFamily network.IPFamily) bool
}
Topology 网络拓扑接口
Click to show internal directories.
Click to hide internal directories.