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 *vpp_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 ¶
type VppARP struct {
*vpp_l3.ARPEntry
}
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 {
*vpp_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 ¶
type VppL2FIB struct {
*vpp_l2.FIBEntry
}
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 {
*vpp_l3.Route
}
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.