Documentation ¶
Index ¶
- type LinuxInterface
- type LinuxInterfaces
- type Node
- type NodeBridgeDomain
- type NodeBridgeDomains
- type NodeIPArpEntry
- type NodeIPArpTable
- type NodeIPRoute
- type NodeInfo
- type NodeInterface
- type NodeInterfaceMap
- type NodeInterfaces
- type NodeL2FibEntry
- type NodeL2FibTable
- type NodeStaticRoutes
- type NodeTelemetries
- type NodeTelemetry
- type Output
- type OutputEntry
- type Pod
- type PodLabel
- type Reports
- type VppARP
- type VppBridgeDomain
- type VppL2FIB
- type VppL3Route
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type LinuxInterface ¶ added in v1.5.1
type LinuxInterface struct { Key string Value *linux_interfaces.Interface Metadata linux_ifaceidx.LinuxIfMetadata }
LinuxInterface holds un-marshalled Linux Interface data.
type LinuxInterfaces ¶ added in v1.5.1
type LinuxInterfaces []LinuxInterface
LinuxInterfaces is a list of host (Linux) interfaces.
type Node ¶
type Node struct { *NodeInfo // node status NodeLiveness *status.AgentStatus NodeTelemetry map[string]NodeTelemetry // node configuration NodeInterfaces NodeInterfaceMap NodeBridgeDomains NodeBridgeDomains NodeL2Fibs NodeL2FibTable NodeIPArp NodeIPArpTable NodeStaticRoutes NodeStaticRoutes NodeIPam *ipv4net.IPAMData LinuxInterfaces LinuxInterfaces // pods PodMap map[string]*Pod }
Node is a struct to hold all relevant information of a kubernetes node. It is populated with various information such as the interfaces and L2Fibs as well as the name and IP Addresses.
type NodeBridgeDomain ¶
type NodeBridgeDomain struct { Key string Value VppBridgeDomain Metadata idxvpp2.OnlyIndex }
NodeBridgeDomain holds un-marshalled VPP bridge domain data.
type NodeBridgeDomains ¶
type NodeBridgeDomains []NodeBridgeDomain
NodeBridgeDomains is a list of VPP bridge domains.
type NodeIPArpEntry ¶
NodeIPArpEntry holds un-marshalled VPP ARP entry data.
type NodeIPArpTable ¶
type NodeIPArpTable []NodeIPArpEntry
NodeIPArpTable is a list of VPP ARP entries.
type NodeIPRoute ¶
type NodeIPRoute struct { Key string Value VppL3Route }
NodeIPRoute holds un-marshalled VPP L3 route data.
func (NodeIPRoute) DeepCopy ¶
func (r NodeIPRoute) DeepCopy() (out NodeIPRoute)
DeepCopy returns a full clone of NodeIPRoute.
type NodeInfo ¶
type NodeInfo struct { ID uint32 IPAddr string ManIPAddr string // correlated with Kubernetes node model in ContivTelemetryCache.corelateMgmtIP() Name string }
NodeInfo is struct to hold some basic information of a kubernetes node.
type NodeInterface ¶
type NodeInterface struct { Key string Value *interfaces.Interface Metadata ifaceidx.IfaceMetadata }
NodeInterface holds un-marshalled VPP Interface data.
type NodeInterfaceMap ¶
type NodeInterfaceMap map[uint32]NodeInterface
NodeInterfaceMap is a map of VPP interfaces.
func (NodeInterfaceMap) GetByName ¶
func (m NodeInterfaceMap) GetByName(name string) (iface NodeInterface, exists bool)
GetByName retrieves interface by the logical name.
type NodeInterfaces ¶
type NodeInterfaces []NodeInterface
NodeInterfaces is a list of node (VPP) interfaces.
type NodeL2FibEntry ¶
NodeL2FibEntry holds un-marshalled VPP L2 FIB entry data.
type NodeL2FibTable ¶
type NodeL2FibTable []NodeL2FibEntry
NodeL2FibTable is a list of VPP L2 FIB entries.
type NodeStaticRoutes ¶
type NodeStaticRoutes []NodeIPRoute
NodeStaticRoutes is a list of VPP L3 routes.
type NodeTelemetries ¶
type NodeTelemetries map[string]NodeTelemetry
NodeTelemetries defines a map of NodeTelemetry
type NodeTelemetry ¶
NodeTelemetry holds the unmarshalled node telemetry JSON data
type Output ¶
type Output struct {
// contains filtered or unexported fields
}
Output holds the unmarshalled node telemetry output
type OutputEntry ¶
type OutputEntry struct {
// contains filtered or unexported fields
}
OutputEntry holds the unmarshalled node output telemetry data
type Pod ¶
type Pod struct { // Name of the pod unique within the namespace. // Cannot be updated. Name string `json:"name,omitempty"` // Namespace the pod is inserted into. // An empty namespace is equivalent to the "default" namespace, but "default" // is the canonical representation. // Cannot be updated. Namespace string `json:"namespace,omitempty"` // A list of labels attached to this pod. // +optional Label []*PodLabel `json:"label,omitempty"` // IP address allocated to the pod. Routable at least within the cluster. // Empty if not yet allocated. // +optional IPAddress string `json:"ip_address,omitempty"` // IP address of the host to which the pod is assigned. // Empty if not yet scheduled. // +optional HostIPAddress string `json:"host_ip_address,omitempty"` // Name of the interface on VPP through which the pod is connected // to VPP. Will be empty for host-network pods. VppIfName string `json:"vpp_if_name,omitempty"` // Internal name of the interface on VPP through which the pod is connected // to VPP. Will be empty for host-network pods. VppIfInternalName string `json:"vpp_if_internal_name,omitempty"` // IP address of the interface on VPP through which the pod is // connected to VPP. Will be empty for host-network pods. VppIfIPAddr string `json:"vpp_if_ip_addr,omitempty"` // Software IfIndex of the interface on VPP through which the pod is // connected to VPP. Will be empty for host-network pods. VppSwIfIdx uint32 `json:"vpp_sw_if_idx,omitempty"` }
Pod contains pod parameter data
type VppARP ¶
VppARP extends VPP ARP entry proto model with JSON un-marshaller from jsonpb.
func (*VppARP) UnmarshalJSON ¶
UnmarshalJSON uses un-marshaller from jsonpb.
type VppBridgeDomain ¶
type VppBridgeDomain struct {
*l2.BridgeDomain
}
VppBridgeDomain extends VPP BD proto model with JSON un-marshaller from jsonpb.
func (*VppBridgeDomain) UnmarshalJSON ¶
func (v *VppBridgeDomain) UnmarshalJSON(data []byte) error
UnmarshalJSON uses un-marshaller from jsonpb.
type VppL2FIB ¶
VppL2FIB extends VPP L2 FIB entry proto model with JSON un-marshaller from jsonpb.
func (*VppL2FIB) UnmarshalJSON ¶
UnmarshalJSON uses un-marshaller from jsonpb.
type VppL3Route ¶
type VppL3Route struct {
*l3.StaticRoute
}
VppL3Route extends VPP L3 route proto model with JSON un-marshaller from jsonpb.
func (*VppL3Route) UnmarshalJSON ¶
func (v *VppL3Route) UnmarshalJSON(data []byte) error
UnmarshalJSON uses un-marshaller from jsonpb.