Documentation
¶
Index ¶
Constants ¶
View Source
const ( RouteTypeAll = "ALL_ROUTE" // 所有路由 RouteTypeStatic = "STATIC_ROUTE" // 静态路由 RouteTypeDirect = "DIRECT_ROUTE" // 直接路由 RouteTypeOSPF = "OSPF_ROUTE" // OSPF 路由 RouteTypeOSPFv3 = "OSPFV3_ROUTE" // OSPFv3 路由 RouteTypeRIP = "RIP_ROUTE" // RIP 路由 RouteTypeRIPNG = "RIPNG_ROUTE" // RIPNG 路由 RouteTypeVPN = "VPN_ROUTE" // VPN 路由 RouteTypeSSLVPN = "SSL_VPN_ROUTE" // SSL_VPN 路由 RouteTypeBGP = "BGP_ROUTE" // BGP 路由 )
RouteType 路由类型
View Source
const ( RouteStatusValid = "VALID" // 有效 RouteStatusInvalid = "INVALID" // 无效 )
RouteStatus 路由表项状态
View Source
const ( TableIDManagement = 250 // 管理网络路由表 TableIDBusiness = 251 // 业务网络路由表 )
TableID 路由表ID
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client 路由状态客户端
func NewClientWithNamespace ¶
NewClientWithNamespace 创建新的路由状态客户端(指定命名空间)
func (*Client) GetIPv4Routes ¶
func (c *Client) GetIPv4Routes(req *GetIPv4RoutesRequest) (*GetIPv4RoutesResponse, error)
GetIPv4Routes 获取IPv4路由信息列表
func (*Client) GetIPv6Routes ¶
func (c *Client) GetIPv6Routes(req *GetIPv6RoutesRequest) (*GetIPv6RoutesResponse, error)
GetIPv6Routes 获取IPv6路由信息列表
type GetIPv4RoutesRequest ¶
type GetIPv4RoutesRequest struct {
// 获取最大长度,限制最大值,如果数据不够可能返回小于 length (1-200, 默认100)
Length int
// 获取路由的类型
// ALL_ROUTE: 所有路由
// STATIC_ROUTE: 静态路由
// DIRECT_ROUTE: 直接路由
// OSPF_ROUTE: OSPF 路由
// OSPFV3_ROUTE: OSPFv3 路由
// RIP_ROUTE: RIP 路由
// RIPNG_ROUTE: RIPNG 路由
// VPN_ROUTE: VPN 路由
// SSL_VPN_ROUTE: SSL_VPN 路由
// BGP_ROUTE: BGP 路由
RouteType string
// 模糊搜索关键字 (最大95字符)
Search string
// 路由表Id (0-256, 默认251)
// 可选值: 250(管理网络路由表), 251(业务网络路由表)
TableID uint32
// 起始位置,从 0 开始 (0-2000000, 默认0)
Start int
}
GetIPv4RoutesRequest 获取IPv4路由信息列表请求参数
type GetIPv4RoutesResponse ¶
type GetIPv4RoutesResponse struct {
Code int `json:"code"` // 错误码
Message string `json:"message"` // 错误信息
Data json.RawMessage `json:"data"` // 数据字段,可能是对象或字符串
}
GetIPv4RoutesResponse 获取IPv4路由信息列表响应
func (*GetIPv4RoutesResponse) GetData ¶
func (r *GetIPv4RoutesResponse) GetData() *RouteData
GetData 获取解析后的数据
func (*GetIPv4RoutesResponse) IsSuccess ¶
func (r *GetIPv4RoutesResponse) IsSuccess() bool
IsSuccess 检查请求是否成功
type GetIPv6RoutesRequest ¶
type GetIPv6RoutesRequest struct {
// 获取最大长度,限制最大值,如果数据不够可能返回小于 length (1-200, 默认100)
Length int
// 获取路由的类型
// ALL_ROUTE: 所有路由
// STATIC_ROUTE: 静态路由
// DIRECT_ROUTE: 直接路由
// OSPF_ROUTE: OSPF 路由
// OSPFV3_ROUTE: OSPFv3 路由
// RIP_ROUTE: RIP 路由
// RIPNG_ROUTE: RIPNG 路由
// VPN_ROUTE: VPN 路由
// SSL_VPN_ROUTE: SSL_VPN 路由
// BGP_ROUTE: BGP 路由
RouteType string
// 模糊搜索关键字 (最大95字符)
Search string
// 路由表Id (0-256, 默认251)
// 可选值: 250(管理网络路由表), 251(业务网络路由表)
TableID uint32
// 起始位置,从 0 开始 (0-2000000, 默认0)
Start int
}
GetIPv6RoutesRequest 获取IPv6路由信息列表请求参数
type GetIPv6RoutesResponse ¶
type GetIPv6RoutesResponse struct {
Code int `json:"code"` // 错误码
Message string `json:"message"` // 错误信息
Data json.RawMessage `json:"data"` // 数据字段,可能是对象或字符串
}
GetIPv6RoutesResponse 获取IPv6路由信息列表响应
func (*GetIPv6RoutesResponse) GetData ¶
func (r *GetIPv6RoutesResponse) GetData() *IPv6RouteData
GetData 获取解析后的数据
func (*GetIPv6RoutesResponse) IsSuccess ¶
func (r *GetIPv6RoutesResponse) IsSuccess() bool
IsSuccess 检查请求是否成功
type IPv6RouteData ¶
type IPv6RouteData struct {
TotalItems int32 `json:"totalItems"` // 总共多少项目
TotalPages int32 `json:"totalPages"` // 总共多少页
PageNumber int32 `json:"pageNumber"` // 当前页码,从 1 开始
PageSize int32 `json:"pageSize"` // 每页多大
ItemsOffset int32 `json:"itemsOffset"` // 当前条目偏移,从 0 开始
ItemLength int32 `json:"itemLength"` // 数据列表长度
PrivateOffset uint64 `json:"privateOffset"` // 内部偏移
Items []IPv6RouteItem `json:"items"` // 有效数据列表
}
IPv6RouteData IPv6路由数据
type IPv6RouteItem ¶
type IPv6RouteItem struct {
// 基础信息
UUID string `json:"uuid"` // 资源唯一ID
Description string `json:"description"` // 描述信息 (最大36字符)
// 路由配置
RouteType string `json:"routeType"` // 类型 (如: "直连路由", "静态路由")
Prefix string `json:"prefix"` // 目的IPv6地址/掩码 (IPv6地址格式,示例:fe80::40ca:81ff:fea9:a768/24)
Gateway []string `json:"gateway"` // 下一跳IPv6地址 (字符串数组)
IfName []string `json:"ifname"` // 出接口名称 (字符串数组)
// 路由参数
Metric uint32 `json:"metric"` // 静态路由度量值
Distance uint8 `json:"distance"` // 路由管理距离
TableID uint32 `json:"tableId"` // 路由表Id
Flags uint8 `json:"flags"` // 路由标记,包含路由是否有效信息
Tag uint32 `json:"tag"` // zebra路由标记字段,用于过滤路由的需求
// 状态信息
Status string `json:"status"` // 路由表项状态 (VALID/INVALID)
NextHopStatus []NextHopStatus `json:"nexthopStatus"` // 下一跳信息列表
LinkDTEnable bool `json:"linkdtEnable"` // 静态路由关联链路探测启,禁用开关
LinkDT string `json:"linkdt"` // 静态路由关联链路探测
SelectedFlagsCharacter string `json:"selectedFlagsCharacter"` // selected flag character
InvalidReason string `json:"invalid_reason"` // 路由无效原因
}
IPv6RouteItem IPv6路由项
type NextHopStatus ¶
type NextHopStatus struct {
NextHopTypes uint8 `json:"nexthopTypes"` // 下一跳类型
NextHopFlags uint8 `json:"nexthopFlags"` // 下一跳flag,包含下一跳状态信息,如:是否有效
Weight uint8 `json:"weight"` // 权重
ExtendEnable bool `json:"extendEnable"` // 下一跳扩展信息中,路由使能标记
LinkDTStatus bool `json:"linkdtStatus"` // 下一跳扩展信息中,链路探测状态,true有效,false无效
NextHopStatus string `json:"nexthopStatus"` // 下一挑状态
FIBFlagCharacter string `json:"fibFlagCharacter"` // fib flag character
InvalidReason string `json:"invalid_reason"` // 下一跳无效原因
}
NextHopStatus 下一跳信息
type RouteData ¶
type RouteData struct {
TotalItems int32 `json:"totalItems"` // 总共多少项目
TotalPages int32 `json:"totalPages"` // 总共多少页
PageNumber int32 `json:"pageNumber"` // 当前页码,从 1 开始
PageSize int32 `json:"pageSize"` // 每页多大
ItemsOffset int32 `json:"itemsOffset"` // 当前条目偏移,从 0 开始
ItemLength int32 `json:"itemLength"` // 数据列表长度
PrivateOffset uint64 `json:"privateOffset"` // 内部偏移
Items []RouteItem `json:"items"` // 有效数据列表
}
RouteData IPv4路由数据
type RouteItem ¶
type RouteItem struct {
// 基础信息
UUID string `json:"uuid"` // 资源唯一ID
Description string `json:"description"` // 描述信息 (最大36字符)
// 路由配置
RouteType string `json:"routeType"` // 类型 (如: "直连路由", "静态路由")
Prefix string `json:"prefix"` // 目的IP地址/掩码 (IPv4地址格式,示例:192.168.1.0/24)
Gateway []string `json:"gateway"` // 下一跳地址 (字符串数组)
IfName []string `json:"ifname"` // 接口 (字符串数组)
// 路由参数
Metric uint32 `json:"metric"` // 度量值
Distance uint8 `json:"distance"` // 管理距离
TableID uint32 `json:"tableId"` // 路由表Id
Flags uint8 `json:"flags"` // 路由标记,包含路由是否有效信息
Tag uint32 `json:"tag"` // zebra路由标记字段,用于过滤路由的需求
// 状态信息
Status string `json:"status"` // 路由表项状态 (VALID/INVALID)
NextHopStatus []NextHopStatus `json:"nexthopStatus"` // 下一跳信息列表
LinkDT string `json:"linkdt"` // 静态路由关联链路探测
SelectedFlagsCharacter string `json:"selectedFlagsCharacter"` // selected flag character
InvalidReason string `json:"invalid_reason"` // 路由无效原因
}
RouteItem IPv4路由项
Click to show internal directories.
Click to hide internal directories.