v1alpha1

package
v0.0.33 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 12, 2024 License: Apache-2.0 Imports: 20 Imported by: 3

Documentation

Overview

v1alpha1 is the v1alpha1 version of the API.

+kubebuilder:object:generate=true +groupName=topo.app.kuid.dev

Index

Constants

View Source
const (
	// ConditionTypeReady represents the resource ready condition
	ConditionTypeNetworkParamReady  conditionv1alpha1.ConditionType = "NetworkPararmReady"
	ConditionTypeNetworkDeviceReady conditionv1alpha1.ConditionType = "NetworkDeviceReady"
	ConditionTypeNetworkDeployReady conditionv1alpha1.ConditionType = "NetworkDeployReady"
)
View Source
const (
	VXLANInterfaceName       = "vxlan0"
	IRBInterfaceName         = "irb0"
	SystemInterfaceName      = "system0"
	UnderlaySubInterfaceID   = uint32(0)
	BGPUnderlayPeerGroupName = "underlay"
	UnderlayPolicyName       = BGPUnderlayPeerGroupName
	BGPOverlayPeerGroupName  = "overlay"
	OverlayPolicyName        = BGPOverlayPeerGroupName
	DefaultIGPInstance       = "i1"
)
View Source
const DefaultNetwork = "default"

Variables

View Source
var (
	// SchemeGroupVersion contains the API group and version information for the types in this package.
	SchemeGroupVersion = schema.GroupVersion{Group: "network.app.kuid.dev", Version: "v1alpha1"}
	// AddToScheme applies all the stored functions to the scheme. A non-nil error
	// indicates that one function failed and the attempt was abandoned.
	//AddToScheme = (&runtime.SchemeBuilder{}).AddToScheme
	AddToScheme = localSchemeBuilder.AddToScheme
)
View Source
var (
	NetworkDesignKind = reflect.TypeOf(NetworkDesign{}).Name()
)
View Source
var (
	NetworkDeviceKind = reflect.TypeOf(NetworkDevice{}).Name()
)
View Source
var (
	NetworkKind = reflect.TypeOf(Network{}).Name()
)

Functions

func NetworkDeviceFailed added in v0.0.4

func NetworkDeviceFailed(msg string) conditionv1alpha1.Condition

NetworkDeviceFailed returns a condition that indicates the resource is not satisfying this condition

func NetworkDeviceProcessing added in v0.0.4

func NetworkDeviceProcessing(msg string) conditionv1alpha1.Condition

NetworkDeviceProcessing returns a condition that indicates the resource is not satisfying this condition

func NetworkDeviceReady added in v0.0.4

func NetworkDeviceReady() conditionv1alpha1.Condition

NetworkDeviceReady returns a condition that indicates the resource is satofying this condition

func NetworkParamFailed added in v0.0.4

func NetworkParamFailed(msg string) conditionv1alpha1.Condition

NetworkParamFailed returns a condition that indicates the resource is not satisfying this condition

func NetworkParamProcessing added in v0.0.29

func NetworkParamProcessing(msg string) conditionv1alpha1.Condition

NetworkParamFailed returns a condition that indicates the resource is not satisfying this condition

func NetworkParamReady added in v0.0.4

func NetworkParamReady() conditionv1alpha1.Condition

NetworkParamReady returns a condition that indicates the resource is satofying this condition

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type Addressing

type Addressing string
const (
	Addressing_DualStack      Addressing = "dualstack"
	Addressing_IPv4Numbered   Addressing = "ipv4numbered"
	Addressing_IPv6Numbered   Addressing = "ipv6numbered"
	Addressing_IPv6Unnumbered Addressing = "ipv6unnumbered"
	Addressing_IPv4Unnumbered Addressing = "ipv4unnumbered"
)

type ConditionReason added in v0.0.4

type ConditionReason string

A ConditionReason represents the reason a resource is in a condition.

const (
	ConditionReasonReady   ConditionReason = "Ready"
	ConditionReasonFailed  ConditionReason = "Failed"
	ConditionReasonUnknown ConditionReason = "Unknown"
)

Reasons a resource is ready or not

type Device

type Device struct {
	// contains filtered or unexported fields
}

func NewDevice

func NewDevice(nsn types.NamespacedName, nodeName string) *Device

func (*Device) AddNetworkInstance

func (r *Device) AddNetworkInstance(name string, niType NetworkInstanceType, interfaces []*NetworkDeviceNetworkInstanceInterface, vxlanItfce *NetworkDeviceNetworkInstanceInterface)

func (*Device) AddOrUpdateInterface

func (r *Device) AddOrUpdateInterface(new *NetworkDeviceInterface)

func (*Device) AddOrUpdateRoutingPolicy

func (r *Device) AddOrUpdateRoutingPolicy(new *NetworkDeviceRoutingPolicy)

func (*Device) AddOrUpdateTunnelInterface

func (r *Device) AddOrUpdateTunnelInterface(new *NetworkDeviceTunnelInterface)

func (*Device) AddProvider

func (r *Device) AddProvider(provider string)

func (*Device) DeepCopy

func (in *Device) DeepCopy() *Device

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Device.

func (*Device) DeepCopyInto

func (in *Device) DeepCopyInto(out *Device)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Device) GetNetworkDevice

func (r *Device) GetNetworkDevice() *NetworkDevice

func (*Device) GetOrCreateBFD added in v0.0.16

func (r *Device) GetOrCreateBFD() *NetworkDeviceBFD

func (*Device) GetOrCreateInterface

func (r *Device) GetOrCreateInterface(name string) *NetworkDeviceInterface

func (*Device) GetOrCreateNetworkInstance

func (r *Device) GetOrCreateNetworkInstance(name string) *NetworkDeviceNetworkInstance

func (*Device) GetOrCreateRoutingPolicy

func (r *Device) GetOrCreateRoutingPolicy(name string) *NetworkDeviceRoutingPolicy

func (*Device) GetOrCreateSystem

func (r *Device) GetOrCreateSystem() *NetworkDeviceSystem

func (*Device) GetOrCreateTunnelInterface

func (r *Device) GetOrCreateTunnelInterface(name string) *NetworkDeviceTunnelInterface

type InterfaceKind added in v0.0.8

type InterfaceKind string
const (
	InterfaceKindLoopback InterfaceKind = "loopback"
	InterfaceKindUnderlay InterfaceKind = "underlay"
)

type Network

type Network struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`

	Spec   NetworkSpec   `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
	Status NetworkStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

+kubebuilder:resource:categories={kuid, net} Network is the Network for the Network API +k8s:openapi-gen=true

func BuildNetwork

func BuildNetwork(meta metav1.ObjectMeta, spec *NetworkSpec, status *NetworkStatus) *Network

BuildNetwork returns an Network from a client Object a Spec/Status

func (*Network) AreChildConditionsReady added in v0.0.4

func (r *Network) AreChildConditionsReady() bool

func (*Network) CalculateHash added in v0.0.30

func (r *Network) CalculateHash() ([sha1.Size]byte, error)

func (*Network) DeepCopy

func (in *Network) DeepCopy() *Network

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Network.

func (*Network) DeepCopyInto

func (in *Network) DeepCopyInto(out *Network)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Network) DeepCopyObject

func (in *Network) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Network) DidAChildConditionFail added in v0.0.4

func (r *Network) DidAChildConditionFail() bool

func (*Network) GetCondition

GetCondition returns the condition based on the condition kind

func (*Network) GetFailedMessage added in v0.0.4

func (r *Network) GetFailedMessage() string

func (*Network) GetNamespacedName added in v0.0.16

func (r *Network) GetNamespacedName() types.NamespacedName

func (*Network) GetNetworkName

func (r *Network) GetNetworkName() string

func (*Network) GetProcessingMessage added in v0.0.4

func (r *Network) GetProcessingMessage() string

func (*Network) IsBridgePresent added in v0.0.8

func (r *Network) IsBridgePresent(name string) bool

func (*Network) IsDefaultNetwork

func (r *Network) IsDefaultNetwork() bool

func (*Network) SetConditions

func (r *Network) SetConditions(c ...conditionv1alpha1.Condition)

SetConditions sets the conditions on the resource. it allows for 0, 1 or more conditions to be set at once

func (*Network) SetOverallStatus added in v0.0.32

func (r *Network) SetOverallStatus()

func (*Network) Validate

func (r *Network) Validate() error

type NetworkBridge added in v0.0.8

type NetworkBridge struct {
	// Name defines the name of the bridge domain
	Name string `json:"name" yaml:"name" protobuf:"bytes,1,opt,name=name"`
	// NetworkID defines the id of the bridge domain
	NetworkID int `json:"networkID,omitempty" yaml:"networkID,omitempty" protobuf:"bytes,2,opt,name=networkID"`
	// Interfaces defines the interfaces belonging to the bridge domain
	Interfaces []*NetworkInterface `json:"interfaces,omitempty" yaml:"interfaces,omitempty"`
}

func (*NetworkBridge) DeepCopy added in v0.0.8

func (in *NetworkBridge) DeepCopy() *NetworkBridge

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkBridge.

func (*NetworkBridge) DeepCopyInto added in v0.0.8

func (in *NetworkBridge) DeepCopyInto(out *NetworkBridge)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkConfigProtocolsBGP

type NetworkConfigProtocolsBGP struct {
	LocalAS uint32 `json:"localAS,omitempty" yaml:"localAS,omitempty" protobuf:"bytes,1,opt,name=localAS"`
	PeerAS  uint32 `json:"peerAS,omitempty" yaml:"peerAS,omitempty" protobuf:"bytes,2,opt,name=peerAS"`
}

func (*NetworkConfigProtocolsBGP) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkConfigProtocolsBGP.

func (*NetworkConfigProtocolsBGP) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDesign added in v0.0.8

type NetworkDesign struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`

	Spec   NetworkDesignSpec   `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
	Status NetworkDesignStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

+kubebuilder:object:root=true +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:resource:categories={kuid, net} NetworkDesign is the NetworkDesign for the NetworkDesign API +k8s:openapi-gen=true

func BuildNetworkDesign added in v0.0.8

func BuildNetworkDesign(meta metav1.ObjectMeta, spec *NetworkDesignSpec, status *NetworkDesignStatus) *NetworkDesign

BuildNetworkDesign returns an NetworkDesign from a client Object a Spec/Status

func (*NetworkDesign) DeepCopy added in v0.0.8

func (in *NetworkDesign) DeepCopy() *NetworkDesign

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDesign.

func (*NetworkDesign) DeepCopyInto added in v0.0.8

func (in *NetworkDesign) DeepCopyInto(out *NetworkDesign)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NetworkDesign) DeepCopyObject added in v0.0.8

func (in *NetworkDesign) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NetworkDesign) GetASClaims added in v0.0.8

func (r *NetworkDesign) GetASClaims() []*asbev1alpha1.ASClaim

func (*NetworkDesign) GetASIndex added in v0.0.8

func (r *NetworkDesign) GetASIndex() *asbev1alpha1.ASIndex

func (*NetworkDesign) GetAllEnabledAddressFamilies added in v0.0.11

func (r *NetworkDesign) GetAllEnabledAddressFamilies() []*NetworkDeviceNetworkInstanceProtocolBGPAddressFamily

GetAllAddressFamilies retrun all address families enabled in the network design

func (*NetworkDesign) GetCondition added in v0.0.8

GetCondition returns the condition based on the condition kind

func (*NetworkDesign) GetGENIDClaim added in v0.0.8

func (r *NetworkDesign) GetGENIDClaim() *genidbev1alpha1.GENIDClaim

func (*NetworkDesign) GetIBGPAS added in v0.0.8

func (r *NetworkDesign) GetIBGPAS() uint32

func (*NetworkDesign) GetIGPAddressFamilies added in v0.0.11

func (r *NetworkDesign) GetIGPAddressFamilies() []string

GetIGPAddressFamilies retrun all address families enabled in the network design

func (*NetworkDesign) GetIPClaims added in v0.0.8

func (r *NetworkDesign) GetIPClaims() []*ipambev1alpha1.IPClaim

func (*NetworkDesign) GetISISAreas added in v0.0.16

func (r *NetworkDesign) GetISISAreas() []string

func (*NetworkDesign) GetISISGetMaxECMPLPaths added in v0.0.16

func (r *NetworkDesign) GetISISGetMaxECMPLPaths() uint32

func (*NetworkDesign) GetISISInstanceName added in v0.0.16

func (r *NetworkDesign) GetISISInstanceName() string

func (*NetworkDesign) GetISISLevel added in v0.0.16

func (r *NetworkDesign) GetISISLevel() infrabev1alpha1.ISISLevel

func (*NetworkDesign) GetLinkIPClaims added in v0.0.8

func (r *NetworkDesign) GetLinkIPClaims(cr client.Object, link *infrabev1alpha1.Link) []*ipambev1alpha1.IPClaim

func (*NetworkDesign) GetLoopbackPrefixes added in v0.0.8

func (r *NetworkDesign) GetLoopbackPrefixes() []string

func (*NetworkDesign) GetLoopbackPrefixesPerAF added in v0.0.8

func (r *NetworkDesign) GetLoopbackPrefixesPerAF() ([]string, []string)

func (*NetworkDesign) GetNodeASClaim added in v0.0.8

func (r *NetworkDesign) GetNodeASClaim(cr, o client.Object) *asbev1alpha1.ASClaim

func (*NetworkDesign) GetNodeIPClaims added in v0.0.8

func (r *NetworkDesign) GetNodeIPClaims(cr, o client.Object) []*ipambev1alpha1.IPClaim

GetNodeIPClaims get the ip claims based on the addressing that is enabled in the network design the clientObject is typically the network object and the node

func (*NetworkDesign) GetOSPFArea added in v0.0.16

func (r *NetworkDesign) GetOSPFArea() string

func (*NetworkDesign) GetOSPFGetMaxECMPLPaths added in v0.0.16

func (r *NetworkDesign) GetOSPFGetMaxECMPLPaths() uint32

func (*NetworkDesign) GetOSPFInstanceName added in v0.0.16

func (r *NetworkDesign) GetOSPFInstanceName() string

func (*NetworkDesign) GetOSPFVersion added in v0.0.16

func (r *NetworkDesign) GetOSPFVersion() infrabev1alpha1.OSPFVersion

func (*NetworkDesign) GetOverlayAddressFamiliesToBeDisabled added in v0.0.11

func (r *NetworkDesign) GetOverlayAddressFamiliesToBeDisabled() []*NetworkDeviceNetworkInstanceProtocolBGPAddressFamily

func (*NetworkDesign) GetUnderlayAddressFamiliesToBeDisabled added in v0.0.11

func (r *NetworkDesign) GetUnderlayAddressFamiliesToBeDisabled() []*NetworkDeviceNetworkInstanceProtocolBGPAddressFamily

func (*NetworkDesign) GetUnderlayBFDParameters added in v0.0.16

func (r *NetworkDesign) GetUnderlayBFDParameters() *infrabev1alpha1.BFDLinkParameters

func (*NetworkDesign) IsBFDEnabled added in v0.0.16

func (r *NetworkDesign) IsBFDEnabled() bool

func (*NetworkDesign) IsBGPEVPNEnabled added in v0.0.11

func (r *NetworkDesign) IsBGPEVPNEnabled() bool

func (*NetworkDesign) IsBGPIPVPNv4Enabled added in v0.0.11

func (r *NetworkDesign) IsBGPIPVPNv4Enabled() bool

func (*NetworkDesign) IsBGPIPVPNv6Enabled added in v0.0.11

func (r *NetworkDesign) IsBGPIPVPNv6Enabled() bool

func (*NetworkDesign) IsBGPLabelUnicastv4Enabled added in v0.0.11

func (r *NetworkDesign) IsBGPLabelUnicastv4Enabled() bool

func (*NetworkDesign) IsBGPLabelUnicastv6Enabled added in v0.0.11

func (r *NetworkDesign) IsBGPLabelUnicastv6Enabled() bool

func (*NetworkDesign) IsBGPRouteTargetEnabled added in v0.0.11

func (r *NetworkDesign) IsBGPRouteTargetEnabled() bool

func (*NetworkDesign) IsEBGPBFDEnabled added in v0.0.16

func (r *NetworkDesign) IsEBGPBFDEnabled() bool

func (*NetworkDesign) IsEBGPEnabled added in v0.0.8

func (r *NetworkDesign) IsEBGPEnabled() bool

func (*NetworkDesign) IsIBGPEnabled added in v0.0.8

func (r *NetworkDesign) IsIBGPEnabled() bool

func (*NetworkDesign) IsISISBFDEnabled added in v0.0.16

func (r *NetworkDesign) IsISISBFDEnabled() bool

func (*NetworkDesign) IsISISEnabled added in v0.0.8

func (r *NetworkDesign) IsISISEnabled() bool

func (*NetworkDesign) IsLoopbackIPv4Enabled added in v0.0.8

func (r *NetworkDesign) IsLoopbackIPv4Enabled() bool

func (*NetworkDesign) IsLoopbackIPv6Enabled added in v0.0.8

func (r *NetworkDesign) IsLoopbackIPv6Enabled() bool

func (*NetworkDesign) IsMPLSLDPEnabled added in v0.0.8

func (r *NetworkDesign) IsMPLSLDPEnabled() bool

func (*NetworkDesign) IsMPLSRSVPEnabled added in v0.0.8

func (r *NetworkDesign) IsMPLSRSVPEnabled() bool

func (*NetworkDesign) IsMPLSSREnabled added in v0.0.8

func (r *NetworkDesign) IsMPLSSREnabled() bool

func (*NetworkDesign) IsOSPFBFDEnabled added in v0.0.16

func (r *NetworkDesign) IsOSPFBFDEnabled() bool

func (*NetworkDesign) IsOSPFEnabled added in v0.0.8

func (r *NetworkDesign) IsOSPFEnabled() bool

func (*NetworkDesign) IsSRv6Enabled added in v0.0.11

func (r *NetworkDesign) IsSRv6Enabled() bool

func (*NetworkDesign) IsSRv6USIDEnabled added in v0.0.11

func (r *NetworkDesign) IsSRv6USIDEnabled() bool

func (*NetworkDesign) IsUnderlayIPv4Enabled added in v0.0.16

func (r *NetworkDesign) IsUnderlayIPv4Enabled() bool

func (*NetworkDesign) IsUnderlayIPv4Numbered added in v0.0.16

func (r *NetworkDesign) IsUnderlayIPv4Numbered() bool

func (*NetworkDesign) IsUnderlayIPv4Only added in v0.0.28

func (r *NetworkDesign) IsUnderlayIPv4Only() bool

func (*NetworkDesign) IsUnderlayIPv4UnNumbered added in v0.0.16

func (r *NetworkDesign) IsUnderlayIPv4UnNumbered() bool

func (*NetworkDesign) IsUnderlayIPv6Enabled added in v0.0.16

func (r *NetworkDesign) IsUnderlayIPv6Enabled() bool

func (*NetworkDesign) IsUnderlayIPv6Numbered added in v0.0.16

func (r *NetworkDesign) IsUnderlayIPv6Numbered() bool

func (*NetworkDesign) IsUnderlayIPv6Only added in v0.0.28

func (r *NetworkDesign) IsUnderlayIPv6Only() bool

func (*NetworkDesign) IsUnderlayIPv6UnNumbered added in v0.0.16

func (r *NetworkDesign) IsUnderlayIPv6UnNumbered() bool

func (*NetworkDesign) IsVXLANEnabled added in v0.0.8

func (r *NetworkDesign) IsVXLANEnabled() bool

func (*NetworkDesign) SetConditions added in v0.0.8

func (r *NetworkDesign) SetConditions(c ...conditionv1alpha1.Condition)

SetConditions sets the conditions on the resource. it allows for 0, 1 or more conditions to be set at once

func (*NetworkDesign) Validate added in v0.0.8

func (r *NetworkDesign) Validate() error

type NetworkDesignEncapsulation added in v0.0.8

type NetworkDesignEncapsulation struct {
	VXLAN *NetworkDesignEncapsulationVXLAN `json:"vxlan,omitempty" yaml:"vxlan,omitempty" protobuf:"bytes,1,opt,name=vxlan"`
	MPLS  *NetworkDesignEncapsulationMPLS  `json:"mpls,omitempty" yaml:"mpls,omitempty" protobuf:"bytes,2,opt,name=mpls"`
	SRV6  *NetworkDesignEncapsulationSRv6  `json:"srv6,omitempty" yaml:"srv6,omitempty" protobuf:"bytes,3,opt,name=srv6"`
}

func (*NetworkDesignEncapsulation) DeepCopy added in v0.0.8

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDesignEncapsulation.

func (*NetworkDesignEncapsulation) DeepCopyInto added in v0.0.8

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDesignEncapsulationMPLS added in v0.0.8

type NetworkDesignEncapsulationMPLS struct {
	LDP  *NetworkDesignEncapsulationMPLSLDP  `json:"ldp,omitempty" yaml:"ldp,omitempty" protobuf:"bytes,1,opt,name=ldp"`
	SR   *NetworkDesignEncapsulationMPLSSR   `json:"sr,omitempty" yaml:"sr,omitempty" protobuf:"bytes,2,opt,name=sr"`
	RSVP *NetworkDesignEncapsulationMPLSRSVP `json:"rsvp,omitempty" yaml:"rsvp,omitempty" protobuf:"bytes,3,opt,name=rsvp"`
}

func (*NetworkDesignEncapsulationMPLS) DeepCopy added in v0.0.8

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDesignEncapsulationMPLS.

func (*NetworkDesignEncapsulationMPLS) DeepCopyInto added in v0.0.8

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDesignEncapsulationMPLSLDP added in v0.0.8

type NetworkDesignEncapsulationMPLSLDP struct {
}

func (*NetworkDesignEncapsulationMPLSLDP) DeepCopy added in v0.0.8

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDesignEncapsulationMPLSLDP.

func (*NetworkDesignEncapsulationMPLSLDP) DeepCopyInto added in v0.0.8

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDesignEncapsulationMPLSRSVP added in v0.0.8

type NetworkDesignEncapsulationMPLSRSVP struct {
}

func (*NetworkDesignEncapsulationMPLSRSVP) DeepCopy added in v0.0.8

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDesignEncapsulationMPLSRSVP.

func (*NetworkDesignEncapsulationMPLSRSVP) DeepCopyInto added in v0.0.8

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDesignEncapsulationMPLSSR added in v0.0.8

type NetworkDesignEncapsulationMPLSSR struct {
}

func (*NetworkDesignEncapsulationMPLSSR) DeepCopy added in v0.0.8

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDesignEncapsulationMPLSSR.

func (*NetworkDesignEncapsulationMPLSSR) DeepCopyInto added in v0.0.8

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDesignEncapsulationMPLSSRv6MicroSID added in v0.0.8

type NetworkDesignEncapsulationMPLSSRv6MicroSID struct {
}

func (*NetworkDesignEncapsulationMPLSSRv6MicroSID) DeepCopy added in v0.0.8

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDesignEncapsulationMPLSSRv6MicroSID.

func (*NetworkDesignEncapsulationMPLSSRv6MicroSID) DeepCopyInto added in v0.0.8

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDesignEncapsulationSRv6 added in v0.0.8

type NetworkDesignEncapsulationSRv6 struct {
	MicroSID *NetworkDesignEncapsulationMPLSSRv6MicroSID `json:"ldp,omitempty" yaml:"ldp,omitempty" protobuf:"bytes,1,opt,name=ldp"`
}

func (*NetworkDesignEncapsulationSRv6) DeepCopy added in v0.0.8

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDesignEncapsulationSRv6.

func (*NetworkDesignEncapsulationSRv6) DeepCopyInto added in v0.0.8

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDesignEncapsulationVXLAN added in v0.0.8

type NetworkDesignEncapsulationVXLAN struct {
}

func (*NetworkDesignEncapsulationVXLAN) DeepCopy added in v0.0.8

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDesignEncapsulationVXLAN.

func (*NetworkDesignEncapsulationVXLAN) DeepCopyInto added in v0.0.8

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDesignInterfaceParameters added in v0.0.8

type NetworkDesignInterfaceParameters struct {
	// Prefixes defines the prefixes belonging to this network config
	// prefixLength would be indicated by a label
	Prefixes []ipambev1alpha1.Prefix `json:"prefixes,omitempty" yaml:"prefixes,omitempty" protobuf:"bytes,1,rep,name=prefixes"`
	// Addressing defines the addressing used in this network
	// +kubebuilder:validation:Enum=dualstack;ipv4only;ipv6only;ipv4unnumbered;ipv6unnumbered
	// +kubebuilder:default=dualstack
	Addressing Addressing `json:"addressing,omitempty" yaml:"addressing,omitempty" protobuf:"bytes,2,opt,name=addressing"`
}

func (*NetworkDesignInterfaceParameters) DeepCopy added in v0.0.8

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDesignInterfaceParameters.

func (*NetworkDesignInterfaceParameters) DeepCopyInto added in v0.0.8

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDesignInterfaces added in v0.0.8

type NetworkDesignInterfaces struct {
	Loopback *NetworkDesignInterfacesLoopback `json:"loopback,omitempty" yaml:"loopback,omitempty" protobuf:"bytes,1,opt,name=loopback"`
	Underlay *NetworkDesignInterfacesUnderlay `json:"underlay,omitempty" yaml:"underlay,omitempty" protobuf:"bytes,2,opt,name=underlay"`
}

func (*NetworkDesignInterfaces) DeepCopy added in v0.0.8

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDesignInterfaces.

func (*NetworkDesignInterfaces) DeepCopyInto added in v0.0.8

func (in *NetworkDesignInterfaces) DeepCopyInto(out *NetworkDesignInterfaces)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDesignInterfacesLoopback added in v0.0.8

type NetworkDesignInterfacesLoopback struct {
	NetworkDesignInterfaceParameters `json:",inline" yaml:",inline" protobuf:"bytes,1,opt,name=parameters"`
}

func (*NetworkDesignInterfacesLoopback) DeepCopy added in v0.0.8

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDesignInterfacesLoopback.

func (*NetworkDesignInterfacesLoopback) DeepCopyInto added in v0.0.8

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDesignInterfacesUnderlay added in v0.0.16

type NetworkDesignInterfacesUnderlay struct {
	NetworkDesignInterfaceParameters `json:",inline" yaml:",inline" protobuf:"bytes,1,opt,name=parameters"`
	// VLANTagging defines if VLAN tagging should be used or not
	VLANTagging bool `json:"vlanTagging,omitempty" yaml:"vlanTagging,,omitempty" protobuf:"bytes,2,opt,name=vlanTagging"`
	// BFD defines the bfd parameters on the interface
	BFD *infrabev1alpha1.BFDLinkParameters `json:"bfd,omitempty" yaml:"bfd,,omitempty" protobuf:"bytes,3,opt,name=bfd"`
}

func (*NetworkDesignInterfacesUnderlay) DeepCopy added in v0.0.16

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDesignInterfacesUnderlay.

func (*NetworkDesignInterfacesUnderlay) DeepCopyInto added in v0.0.16

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDesignList added in v0.0.8

type NetworkDesignList struct {
	metav1.TypeMeta `json:",inline" yaml:",inline"`
	metav1.ListMeta `json:"metadata,omitempty" yaml:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Items           []NetworkDesign `json:"items" yaml:"items" protobuf:"bytes,2,rep,name=items"`
}

+kubebuilder:object:root=true NetworkDesignClabList contains a list of NetworkDesignClabs +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*NetworkDesignList) DeepCopy added in v0.0.8

func (in *NetworkDesignList) DeepCopy() *NetworkDesignList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDesignList.

func (*NetworkDesignList) DeepCopyInto added in v0.0.8

func (in *NetworkDesignList) DeepCopyInto(out *NetworkDesignList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NetworkDesignList) DeepCopyObject added in v0.0.8

func (in *NetworkDesignList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NetworkDesignProtocols added in v0.0.8

type NetworkDesignProtocols struct {
	OSPF                *NetworkDesignProtocolsOSPF                `json:"ospf,omitempty" yaml:"ospf,omitempty" protobuf:"bytes,1,opt,name=ospf"`
	ISIS                *NetworkDesignProtocolsISIS                `json:"isis,omitempty" yaml:"isis,omitempty" protobuf:"bytes,2,opt,name=isis"`
	IBGP                *NetworkDesignProtocolsIBGP                `json:"ibgp,omitempty" yaml:"ibgp,omitempty" protobuf:"bytes,3,opt,name=ibgp"`
	EBGP                *NetworkDesignProtocolsEBGP                `json:"ebgp,omitempty" yaml:"ebgp,omitempty" protobuf:"bytes,4,opt,name=ebgp"`
	BGPEVPN             *NetworkDesignProtocolsBGPEVPN             `json:"bgpEVPN,omitempty" yaml:"bgpEVPN,omitempty" protobuf:"bytes,5,opt,name=bgpEVPN"`
	BGPVPNv4            *NetworkDesignProtocolsBGPVPNv4            `json:"bgpVPNv4,omitempty" yaml:"bgpVPNv4,omitempty" protobuf:"bytes,6,opt,name=bgpVPNv4"`
	BGPVPNv6            *NetworkDesignProtocolsBGPVPNv6            `json:"bgpVPNv6,omitempty" yaml:"bgpVPNv6,omitempty" protobuf:"bytes,7,opt,name=bgpVPNv6"`
	BGPRouteTarget      *NetworkDesignProtocolsBGPRouteTarget      `json:"bgpRouteTarget,omitempty" yaml:"bgpRouteTarget,omitempty" protobuf:"bytes,8,opt,name=bgpRouteTarget"`
	BGPLabeledUnicastv4 *NetworkDesignProtocolsBGPLabeledUnicastv4 `json:"bgpLabeledUnicastv4,omitempty" yaml:"bgpLabeledUnicastv4,omitempty" protobuf:"bytes,9,opt,name=bgpLabeledUnicastv4"`
	BGPLabeledUnicastv6 *NetworkDesignProtocolsBGPLabeledUnicastv6 `json:"bgpLabeledUnicastv6,omitempty" yaml:"bgpLabeledUnicastv6,omitempty" protobuf:"bytes,10,opt,name=bgpLabeledUnicastv6"`
}

func (*NetworkDesignProtocols) DeepCopy added in v0.0.8

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDesignProtocols.

func (*NetworkDesignProtocols) DeepCopyInto added in v0.0.8

func (in *NetworkDesignProtocols) DeepCopyInto(out *NetworkDesignProtocols)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDesignProtocolsBGPEVPN added in v0.0.8

type NetworkDesignProtocolsBGPEVPN struct {
}

func (*NetworkDesignProtocolsBGPEVPN) DeepCopy added in v0.0.8

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDesignProtocolsBGPEVPN.

func (*NetworkDesignProtocolsBGPEVPN) DeepCopyInto added in v0.0.8

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDesignProtocolsBGPLabeledUnicastv4 added in v0.0.11

type NetworkDesignProtocolsBGPLabeledUnicastv4 struct{}

func (*NetworkDesignProtocolsBGPLabeledUnicastv4) DeepCopy added in v0.0.11

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDesignProtocolsBGPLabeledUnicastv4.

func (*NetworkDesignProtocolsBGPLabeledUnicastv4) DeepCopyInto added in v0.0.11

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDesignProtocolsBGPLabeledUnicastv6 added in v0.0.11

type NetworkDesignProtocolsBGPLabeledUnicastv6 struct{}

func (*NetworkDesignProtocolsBGPLabeledUnicastv6) DeepCopy added in v0.0.11

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDesignProtocolsBGPLabeledUnicastv6.

func (*NetworkDesignProtocolsBGPLabeledUnicastv6) DeepCopyInto added in v0.0.11

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDesignProtocolsBGPRouteTarget added in v0.0.11

type NetworkDesignProtocolsBGPRouteTarget struct {
}

func (*NetworkDesignProtocolsBGPRouteTarget) DeepCopy added in v0.0.11

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDesignProtocolsBGPRouteTarget.

func (*NetworkDesignProtocolsBGPRouteTarget) DeepCopyInto added in v0.0.11

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDesignProtocolsBGPVPNv4 added in v0.0.11

type NetworkDesignProtocolsBGPVPNv4 struct {
}

func (*NetworkDesignProtocolsBGPVPNv4) DeepCopy added in v0.0.11

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDesignProtocolsBGPVPNv4.

func (*NetworkDesignProtocolsBGPVPNv4) DeepCopyInto added in v0.0.11

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDesignProtocolsBGPVPNv6 added in v0.0.11

type NetworkDesignProtocolsBGPVPNv6 struct {
}

func (*NetworkDesignProtocolsBGPVPNv6) DeepCopy added in v0.0.11

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDesignProtocolsBGPVPNv6.

func (*NetworkDesignProtocolsBGPVPNv6) DeepCopyInto added in v0.0.11

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDesignProtocolsEBGP added in v0.0.8

type NetworkDesignProtocolsEBGP struct {
	ASPool *string `json:"asPool,omitempty" yaml:"asPool,omitempty" protobuf:"bytes,3,opt,name=asPool"`
	// BFD defines if BFD is enabled globally on EBGP
	BFD bool `json:"bfd,omitempty" yaml:"bfd,,omitempty" protobuf:"bytes,3,opt,name=bfd"`
}

func (*NetworkDesignProtocolsEBGP) DeepCopy added in v0.0.8

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDesignProtocolsEBGP.

func (*NetworkDesignProtocolsEBGP) DeepCopyInto added in v0.0.8

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDesignProtocolsIBGP added in v0.0.8

type NetworkDesignProtocolsIBGP struct {
	AS              *uint32  `json:"as,omitempty" yaml:"as,omitempty" protobuf:"bytes,1,opt,name=as"`
	LocalAS         bool     `json:"localAS,omitempty" yaml:"localAS,omitempty" protobuf:"bytes,2,opt,name=localAS"`
	RouteReflectors []string `json:"routeReflectors,omitempty" yaml:"routeReflectors,omitempty" protobuf:"bytes,3,opt,name=routeReflectors"`
}

func (*NetworkDesignProtocolsIBGP) DeepCopy added in v0.0.8

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDesignProtocolsIBGP.

func (*NetworkDesignProtocolsIBGP) DeepCopyInto added in v0.0.8

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDesignProtocolsISIS added in v0.0.8

type NetworkDesignProtocolsISIS struct {
	// Instance defines the name of the ISIS instance
	Instance *string `json:"instance,omitempty" yaml:"instance,omitempty" protobuf:"bytes,1,opt,name=instance"`
	// LevelCapability defines the level capability of the ISIS in the topology
	// +kubebuilder:validation:Enum=L2;L2;L1L2
	// +kubebuilder:default=L2
	Level infrabev1alpha1.ISISLevel `json:"level,omitempty" yaml:"level,omitempty" protobuf:"bytes,2,opt,name=level"`
	// Areas defines the ISIS areas
	Areas []string `json:"areas" yaml:"areas" protobuf:"bytes,3,rep,name=areas"`
	// MaxECMPPaths defines the maximum ecmp paths used in OSPF
	// +kubebuilder:validation:Maximum=64
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:default=1
	MaxECMPPaths *uint32 `json:"maxECMPPaths,omitempty" yaml:"maxECMPPaths,omitempty" protobuf:"bytes,4,opt,name=maxECMPPaths"`
	// BFD defines if BFD is enabled globally on ISIS
	BFD bool `json:"bfd,omitempty" yaml:"bfd,,omitempty" protobuf:"bytes,3,opt,name=bfd"`
}

func (*NetworkDesignProtocolsISIS) DeepCopy added in v0.0.8

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDesignProtocolsISIS.

func (*NetworkDesignProtocolsISIS) DeepCopyInto added in v0.0.8

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDesignProtocolsOSPF added in v0.0.8

type NetworkDesignProtocolsOSPF struct {
	// Instance defines the name of the OSPF instance
	Instance *string `json:"instance,omitempty" yaml:"instance,omitempty" protobuf:"bytes,1,opt,name=instance"`
	// Version defines the Version used for ospf
	// +kubebuilder:validation:Enum=v2;v3
	// +kubebuilder:default=v2
	Version infrabev1alpha1.OSPFVersion `json:"version" yaml:"version" protobuf:"bytes,2,opt,name=version"`
	// Area defines the default area used if not further refined on the interface.
	Area string `json:"area" yaml:"area" protobuf:"bytes,3,opt,name=area"`
	// MaxECMPPaths defines the maximum ecmp paths used in OSPF
	// +kubebuilder:validation:Maximum=64
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:default=1
	MaxECMPPaths *uint32 `json:"maxECMPPaths,omitempty" yaml:"maxECMPPaths,omitempty" protobuf:"bytes,4,opt,name=maxECMPPaths"`
	// BFD defines if BFD is enabled globally on OSPF
	BFD bool `json:"bfd,omitempty" yaml:"bfd,,omitempty" protobuf:"bytes,3,opt,name=bfd"`
}

func (*NetworkDesignProtocolsOSPF) DeepCopy added in v0.0.8

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDesignProtocolsOSPF.

func (*NetworkDesignProtocolsOSPF) DeepCopyInto added in v0.0.8

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDesignSpec added in v0.0.8

type NetworkDesignSpec struct {
	Topology string `json:"topology" yaml:"topology" protobuf:"bytes,1,opt,name=topology"`
	// Interfaces define the interface parameters of the network design
	Interfaces *NetworkDesignInterfaces `json:"interfaces,omitempty" yaml:"interfaces,omitempty" protobuf:"bytes,2,rep,name=interfaces"`
	// Protocols define the network wide protocol parameters
	Protocols *NetworkDesignProtocols `json:"protocols,omitempty" yaml:"protocols,,omitempty" protobuf:"bytes,4,opt,name=protocols"`
	// Encapsultation define the encapsulation parameters
	Encapsultation *NetworkDesignEncapsulation `json:"encapsulation,omitempty" yaml:"encapsulation,,omitempty" protobuf:"bytes,5,opt,name=encapsulation"`
}

NetworkDesignSpec defines the desired state of NetworkDesign

func (*NetworkDesignSpec) DeepCopy added in v0.0.8

func (in *NetworkDesignSpec) DeepCopy() *NetworkDesignSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDesignSpec.

func (*NetworkDesignSpec) DeepCopyInto added in v0.0.8

func (in *NetworkDesignSpec) DeepCopyInto(out *NetworkDesignSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDesignStatus added in v0.0.8

type NetworkDesignStatus struct {
	// ConditionedStatus provides the status of the NetworkDesign using conditions
	// - a ready condition indicates the overall status of the resource
	conditionv1alpha1.ConditionedStatus `json:",inline" yaml:",inline" protobuf:"bytes,1,opt,name=conditionedStatus"`
}

NetworkDesignStatus defines the observed state of NetworkDesign

func (*NetworkDesignStatus) DeepCopy added in v0.0.8

func (in *NetworkDesignStatus) DeepCopy() *NetworkDesignStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDesignStatus.

func (*NetworkDesignStatus) DeepCopyInto added in v0.0.8

func (in *NetworkDesignStatus) DeepCopyInto(out *NetworkDesignStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDevice

type NetworkDevice struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`

	Spec   NetworkDeviceSpec   `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
	Status NetworkDeviceStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

+kubebuilder:object:root=true +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="PROVIDER",type="string",JSONPath=".spec.provider" +kubebuilder:resource:categories={kuid, net} NetworkDevice is the NetworkDevice for the NetworkDevice API +k8s:openapi-gen=true

func BuildNetworkDevice

func BuildNetworkDevice(meta metav1.ObjectMeta, spec *NetworkDeviceSpec, status *NetworkDeviceStatus) *NetworkDevice

BuildNetwork returns an Network from a client Object a Spec/Status

func (*NetworkDevice) DeepCopy

func (in *NetworkDevice) DeepCopy() *NetworkDevice

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDevice.

func (*NetworkDevice) DeepCopyInto

func (in *NetworkDevice) DeepCopyInto(out *NetworkDevice)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NetworkDevice) DeepCopyObject

func (in *NetworkDevice) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NetworkDevice) GetCondition

GetCondition returns the condition based on the condition kind

func (*NetworkDevice) SetConditions

func (r *NetworkDevice) SetConditions(c ...conditionv1alpha1.Condition)

SetConditions sets the conditions on the resource. it allows for 0, 1 or more conditions to be set at once

func (*NetworkDevice) Validate

func (r *NetworkDevice) Validate() error

type NetworkDeviceBFD added in v0.0.16

type NetworkDeviceBFD struct {
	Interfaces []*NetworkDeviceBFDInterface `json:"interfaces,omitempty" yaml:"interfaces,omitempty" protobuf:"bytes,1,opt,name=interfaces"`
}

func (*NetworkDeviceBFD) AddOrUpdateBFDInterface added in v0.0.16

func (r *NetworkDeviceBFD) AddOrUpdateBFDInterface(new *NetworkDeviceBFDInterface)

func (*NetworkDeviceBFD) DeepCopy added in v0.0.16

func (in *NetworkDeviceBFD) DeepCopy() *NetworkDeviceBFD

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceBFD.

func (*NetworkDeviceBFD) DeepCopyInto added in v0.0.16

func (in *NetworkDeviceBFD) DeepCopyInto(out *NetworkDeviceBFD)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NetworkDeviceBFD) GetOrCreateBFDInterface added in v0.0.16

type NetworkDeviceBFDInterface added in v0.0.16

type NetworkDeviceBFDInterface struct {
	// SubInterfaceName defines the name and id of the sub interface
	SubInterfaceName NetworkDeviceNetworkInstanceInterface `json:"subInterfaceName" yaml:"subInterfaceName" protobuf:"bytes,1,opt,name=subInterfaceName"`
	// BFD defines the bfd parameters of the interface
	infrabev1alpha1.BFDLinkParameters `json:",inline" yaml:",inline" protobuf:"bytes,2,opt,name=bfd"`
}

func (*NetworkDeviceBFDInterface) DeepCopy added in v0.0.16

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceBFDInterface.

func (*NetworkDeviceBFDInterface) DeepCopyInto added in v0.0.16

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDeviceInterface

type NetworkDeviceInterface struct {
	Name          string                                `json:"name" yaml:"name" protobuf:"bytes,1,opt,name=name"`
	SubInterfaces []*NetworkDeviceInterfaceSubInterface `json:"subInterfaces,omitempty" yaml:"subInterfaces,omitempty" protobuf:"bytes,3,rep,name=subInterfaces"`
	VLANTagging   bool                                  `json:"vlanTagging" yaml:"vlanTagging" protobuf:"bytes,4,opt,name=vlanTagging"`
	Speed         string                                `json:"speed" yaml:"speed" protobuf:"bytes,5,opt,name=speed"`
	LAGMember     bool                                  `json:"lagMember" yaml:"lagMember" protobuf:"bytes,6,opt,name=lagMember"`
}

TODO LAG, etc

func (*NetworkDeviceInterface) AddOrUpdateInterfaceSubInterface added in v0.0.6

func (r *NetworkDeviceInterface) AddOrUpdateInterfaceSubInterface(new *NetworkDeviceInterfaceSubInterface)

func (*NetworkDeviceInterface) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceInterface.

func (*NetworkDeviceInterface) DeepCopyInto

func (in *NetworkDeviceInterface) DeepCopyInto(out *NetworkDeviceInterface)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NetworkDeviceInterface) GetOrCreateInterfaceSubInterface added in v0.0.6

func (r *NetworkDeviceInterface) GetOrCreateInterfaceSubInterface(id uint32) *NetworkDeviceInterfaceSubInterface

type NetworkDeviceInterfaceSubInterface

type NetworkDeviceInterfaceSubInterface struct {
	PeerName string `json:"peerName" yaml:"peerName" protobuf:"bytes,1,opt,name=peerName"`
	ID       uint32 `json:"id" yaml:"id" protobuf:"bytes,2,opt,name=id"`
	// routed or bridged
	Type SubInterfaceType                        `json:"type" yaml:"type" protobuf:"bytes,3,opt,name=type"`
	VLAN *uint32                                 `json:"vlan,omitempty" yaml:"vlan,omitempty" protobuf:"bytes,4,opt,name=vlan"`
	IPv4 *NetworkDeviceInterfaceSubInterfaceIPv4 `json:"ipv4,omitempty" yaml:"ipv4,omitempty" protobuf:"bytes,5,rep,name=ipv4"`
	IPv6 *NetworkDeviceInterfaceSubInterfaceIPv6 `json:"ipv6,omitempty" yaml:"ipv6,omitempty" protobuf:"bytes,6,rep,name=ipv6"`
}

func (*NetworkDeviceInterfaceSubInterface) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceInterfaceSubInterface.

func (*NetworkDeviceInterfaceSubInterface) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NetworkDeviceInterfaceSubInterface) GetOrCreateIPv4

func (*NetworkDeviceInterfaceSubInterface) GetOrCreateIPv6

type NetworkDeviceInterfaceSubInterfaceIPv4

type NetworkDeviceInterfaceSubInterfaceIPv4 struct {
	Addresses []string `json:"addresses,omitempty" yaml:"addresses,omitempty" protobuf:"bytes,1,opt,name=addresses"`
}

func (*NetworkDeviceInterfaceSubInterfaceIPv4) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceInterfaceSubInterfaceIPv4.

func (*NetworkDeviceInterfaceSubInterfaceIPv4) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDeviceInterfaceSubInterfaceIPv6

type NetworkDeviceInterfaceSubInterfaceIPv6 struct {
	Addresses []string `json:"addresses,omitempty" yaml:"addresses,omitempty" protobuf:"bytes,1,opt,name=addresses"`
}

func (*NetworkDeviceInterfaceSubInterfaceIPv6) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceInterfaceSubInterfaceIPv6.

func (*NetworkDeviceInterfaceSubInterfaceIPv6) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDeviceList

type NetworkDeviceList struct {
	metav1.TypeMeta `json:",inline" yaml:",inline"`
	metav1.ListMeta `json:"metadata,omitempty" yaml:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Items           []NetworkDevice `json:"items" yaml:"items" protobuf:"bytes,2,rep,name=items"`
}

+kubebuilder:object:root=true NetworkDeviceClabList contains a list of NetworkDeviceClabs +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*NetworkDeviceList) DeepCopy

func (in *NetworkDeviceList) DeepCopy() *NetworkDeviceList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceList.

func (*NetworkDeviceList) DeepCopyInto

func (in *NetworkDeviceList) DeepCopyInto(out *NetworkDeviceList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NetworkDeviceList) DeepCopyObject

func (in *NetworkDeviceList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NetworkDeviceNetworkInstance

type NetworkDeviceNetworkInstance struct {
	Name string `json:"name" yaml:"name" protobuf:"bytes,1,opt,name=name"`
	// mac-vrf, ip-vrf
	Type           NetworkInstanceType                      `json:"type" yaml:"type" protobuf:"bytes,2,opt,name=type"`
	Protocols      *NetworkDeviceNetworkInstanceProtocols   `json:"protocols,omitempty" yaml:"protocols,omitempty" protobuf:"bytes,3,opt,name=protocols"`
	Interfaces     []*NetworkDeviceNetworkInstanceInterface `json:"interfaces,omitempty" yaml:"interfaces,omitempty" protobuf:"bytes,4,opt,name=interfaces"`
	VXLANInterface *NetworkDeviceNetworkInstanceInterface   `json:"vxlanInterface,omitempty" yaml:"vxlanInterface,omitempty" protobuf:"bytes,5,opt,name=vxlanInterface"`
}

func (*NetworkDeviceNetworkInstance) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceNetworkInstance.

func (*NetworkDeviceNetworkInstance) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NetworkDeviceNetworkInstance) GetOrCreateNetworkInstanceProtocols added in v0.0.6

func (r *NetworkDeviceNetworkInstance) GetOrCreateNetworkInstanceProtocols() *NetworkDeviceNetworkInstanceProtocols

type NetworkDeviceNetworkInstanceInterface

type NetworkDeviceNetworkInstanceInterface struct {
	Name string `json:"name" yaml:"name" protobuf:"bytes,1,opt,name=name"`
	ID   uint32 `json:"id" yaml:"id" protobuf:"bytes,2,opt,name=id"`
}

func (*NetworkDeviceNetworkInstanceInterface) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceNetworkInstanceInterface.

func (*NetworkDeviceNetworkInstanceInterface) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDeviceNetworkInstanceProtocolBGP

type NetworkDeviceNetworkInstanceProtocolBGP struct {
	AS uint32 `json:"as" yaml:"as" protobuf:"bytes,1,opt,name=as"`
	// RouterID for the BGP Instance
	RouterID         string                                                   `json:"routerID" yaml:"routerID" protobuf:"bytes,2,opt,name=routerID"`
	PeerGroups       []*NetworkDeviceNetworkInstanceProtocolBGPPeerGroup      `json:"peerGroups,omitempty" yaml:"peerGroups,omitempty" protobuf:"bytes,3,opt,name=peerGroups"`
	Neighbors        []*NetworkDeviceNetworkInstanceProtocolBGPNeighbor       `json:"neighbors,omitempty" yaml:"neighbors,omitempty" protobuf:"bytes,4,opt,name=neighbors"`
	DynamicNeighbors *NetworkDeviceNetworkInstanceProtocolBGPDynamicNeighbors `json:"dynamicNeighbors,omitempty" yaml:"dynamicNeighbors,omitempty" protobuf:"bytes,5,opt,name=dynamicNeighbors"`
	// AddressFamilies defines the address families that need to be enabled globally
	AddressFamilies []*NetworkDeviceNetworkInstanceProtocolBGPAddressFamily `json:"addressFamilies,omitempty" yaml:"addressFamilies,omitempty" protobuf:"bytes,6,rep,name=addressFamilies"`
}

func (*NetworkDeviceNetworkInstanceProtocolBGP) AddOrUpdateNetworkInstanceProtocolBGNeighbor

func (r *NetworkDeviceNetworkInstanceProtocolBGP) AddOrUpdateNetworkInstanceProtocolBGNeighbor(new *NetworkDeviceNetworkInstanceProtocolBGPNeighbor)

func (*NetworkDeviceNetworkInstanceProtocolBGP) AddOrUpdateNetworkInstanceProtocolBGPPeerGroup added in v0.0.6

func (r *NetworkDeviceNetworkInstanceProtocolBGP) AddOrUpdateNetworkInstanceProtocolBGPPeerGroup(new *NetworkDeviceNetworkInstanceProtocolBGPPeerGroup)

func (*NetworkDeviceNetworkInstanceProtocolBGP) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceNetworkInstanceProtocolBGP.

func (*NetworkDeviceNetworkInstanceProtocolBGP) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NetworkDeviceNetworkInstanceProtocolBGP) GetOrCreateNetworkInstanceProtocolBGPDynamicNeighbors

func (r *NetworkDeviceNetworkInstanceProtocolBGP) GetOrCreateNetworkInstanceProtocolBGPDynamicNeighbors() *NetworkDeviceNetworkInstanceProtocolBGPDynamicNeighbors

func (*NetworkDeviceNetworkInstanceProtocolBGP) GetOrCreateNetworkInstanceProtocolBGPNeighbor

func (r *NetworkDeviceNetworkInstanceProtocolBGP) GetOrCreateNetworkInstanceProtocolBGPNeighbor(peerAddress string) *NetworkDeviceNetworkInstanceProtocolBGPNeighbor

func (*NetworkDeviceNetworkInstanceProtocolBGP) GetOrCreateNetworkInstanceProtocolBGPPeerGroup added in v0.0.6

func (r *NetworkDeviceNetworkInstanceProtocolBGP) GetOrCreateNetworkInstanceProtocolBGPPeerGroup(name string) *NetworkDeviceNetworkInstanceProtocolBGPPeerGroup

type NetworkDeviceNetworkInstanceProtocolBGPAddressFamily added in v0.0.28

type NetworkDeviceNetworkInstanceProtocolBGPAddressFamily struct {
	Name    string `json:"name" yaml:"name" protobuf:"bytes,1,opt,name=name"`
	RFC5549 bool   `json:"rfc5549,omitempty" yaml:"rfc5549,omitempty" protobuf:"bytes,2,rep,name=rfc5549"`
}

func (*NetworkDeviceNetworkInstanceProtocolBGPAddressFamily) DeepCopy added in v0.0.28

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceNetworkInstanceProtocolBGPAddressFamily.

func (*NetworkDeviceNetworkInstanceProtocolBGPAddressFamily) DeepCopyInto added in v0.0.28

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDeviceNetworkInstanceProtocolBGPDynamicNeighbors

type NetworkDeviceNetworkInstanceProtocolBGPDynamicNeighbors struct {
	Prefixes   []string                                                            `json:"prefixes,omitempty" yaml:"prefixes,omitempty" protobuf:"bytes,1,opt,name=prefixes"`
	Interfaces []*NetworkDeviceNetworkInstanceProtocolBGPDynamicNeighborsInterface `json:"interfaces" yaml:"interfaces" protobuf:"bytes,2,opt,name=interfaces"`
}

func (*NetworkDeviceNetworkInstanceProtocolBGPDynamicNeighbors) AddOrUpdateetworkInstanceProtocolBGPDynamicNeighborsInterface added in v0.0.8

func (r *NetworkDeviceNetworkInstanceProtocolBGPDynamicNeighbors) AddOrUpdateetworkInstanceProtocolBGPDynamicNeighborsInterface(new *NetworkDeviceNetworkInstanceProtocolBGPDynamicNeighborsInterface)

func (*NetworkDeviceNetworkInstanceProtocolBGPDynamicNeighbors) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceNetworkInstanceProtocolBGPDynamicNeighbors.

func (*NetworkDeviceNetworkInstanceProtocolBGPDynamicNeighbors) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NetworkDeviceNetworkInstanceProtocolBGPDynamicNeighbors) GetOrCreateNetworkInstanceProtocolBGPDynamicNeighborsInterface added in v0.0.8

type NetworkDeviceNetworkInstanceProtocolBGPDynamicNeighborsInterface added in v0.0.8

type NetworkDeviceNetworkInstanceProtocolBGPDynamicNeighborsInterface struct {
	// SubInterfaceName defines the name and id of the sub interface
	SubInterfaceName NetworkDeviceNetworkInstanceInterface `json:"subInterfaceName" yaml:"subInterfaceName" protobuf:"bytes,1,opt,name=subInterfaceName"`
	PeerAS           uint32                                `json:"peerAS" yaml:"peerAS" protobuf:"bytes,2,opt,name=peerAS"`
	PeerGroup        string                                `json:"peerGroup" yaml:"peerGroup" protobuf:"bytes,3,opt,name=peerGroup"`
}

func (*NetworkDeviceNetworkInstanceProtocolBGPDynamicNeighborsInterface) DeepCopy added in v0.0.8

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceNetworkInstanceProtocolBGPDynamicNeighborsInterface.

func (*NetworkDeviceNetworkInstanceProtocolBGPDynamicNeighborsInterface) DeepCopyInto added in v0.0.8

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDeviceNetworkInstanceProtocolBGPEVPN

type NetworkDeviceNetworkInstanceProtocolBGPEVPN struct {
	EVI            uint32 `json:"evi" yaml:"evi" protobuf:"bytes,1,opt,name=evi"`
	ECMP           uint32 `json:"ecmp" yaml:"ecmp" protobuf:"bytes,2,opt,name=ecmp"`
	VXLANInterface string `json:"vxlanInterface" yaml:"vxlanInterface" protobuf:"bytes,2,opt,name=vxlanInterface"`
}

func (*NetworkDeviceNetworkInstanceProtocolBGPEVPN) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceNetworkInstanceProtocolBGPEVPN.

func (*NetworkDeviceNetworkInstanceProtocolBGPEVPN) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDeviceNetworkInstanceProtocolBGPNeighbor

type NetworkDeviceNetworkInstanceProtocolBGPNeighbor struct {
	PeerAddress  string `json:"peerAddress" yaml:"peerAddress" protobuf:"bytes,1,opt,name=peerAddress"`
	PeerAS       uint32 `json:"peerAS" yaml:"peerAS" protobuf:"bytes,2,opt,name=peerAS"`
	PeerGroup    string `json:"peerGroup" yaml:"peerGroup" protobuf:"bytes,3,opt,name=peerGroup"`
	LocalAS      uint32 `json:"localAS" yaml:"localAS" protobuf:"bytes,4,opt,name=localAS"`
	LocalAddress string `json:"localAddress" yaml:"localAddress" protobuf:"bytes,5,opt,name=localAddress"`
	BFD          bool   `json:"bfd,omitempty" yaml:"bfd,omitempty" protobuf:"bytes,6,opt,name=bfd"`
}

func (*NetworkDeviceNetworkInstanceProtocolBGPNeighbor) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceNetworkInstanceProtocolBGPNeighbor.

func (*NetworkDeviceNetworkInstanceProtocolBGPNeighbor) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDeviceNetworkInstanceProtocolBGPPeerGroup

type NetworkDeviceNetworkInstanceProtocolBGPPeerGroup struct {
	Name string `json:"name" yaml:"name" protobuf:"bytes,1,opt,name=name"`
	// Address families define the address families to be disabled
	AddressFamilies []*NetworkDeviceNetworkInstanceProtocolBGPAddressFamily         `json:"addressFamilies,omitempty" yaml:"addressFamilies,omitempty" protobuf:"bytes,2,rep,name=addressFamilies"`
	RouteReflector  *NetworkDeviceNetworkInstanceProtocolBGPPeerGroupRouteReflector `json:"routeReflector,omitempty" yaml:"routeReflector,omitempty" protobuf:"bytes,3,opt,name=routeReflector"`
	BFD             bool                                                            `json:"bfd,omitempty" yaml:"bfd,omitempty" protobuf:"bytes,4,opt,name=bfd"`
}

func (*NetworkDeviceNetworkInstanceProtocolBGPPeerGroup) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceNetworkInstanceProtocolBGPPeerGroup.

func (*NetworkDeviceNetworkInstanceProtocolBGPPeerGroup) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDeviceNetworkInstanceProtocolBGPPeerGroupRouteReflector

type NetworkDeviceNetworkInstanceProtocolBGPPeerGroupRouteReflector struct {
	ClusterID string `json:"clusterID" yaml:"clusterID" protobuf:"bytes,1,opt,name=clusterID"`
}

func (*NetworkDeviceNetworkInstanceProtocolBGPPeerGroupRouteReflector) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceNetworkInstanceProtocolBGPPeerGroupRouteReflector.

func (*NetworkDeviceNetworkInstanceProtocolBGPPeerGroupRouteReflector) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDeviceNetworkInstanceProtocolBGPVPN

type NetworkDeviceNetworkInstanceProtocolBGPVPN struct {
	ImportRouteTarget string `json:"importRouteTarget" yaml:"importRouteTarget" protobuf:"bytes,1,opt,name=importRouteTarget"`
	ExportRouteTarget string `json:"exportRouteTarget" yaml:"exportRouteTarget" protobuf:"bytes,2,opt,name=exportRouteTarget"`
}

func (*NetworkDeviceNetworkInstanceProtocolBGPVPN) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceNetworkInstanceProtocolBGPVPN.

func (*NetworkDeviceNetworkInstanceProtocolBGPVPN) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDeviceNetworkInstanceProtocolISIS added in v0.0.8

type NetworkDeviceNetworkInstanceProtocolISIS struct {
	Instances []*NetworkDeviceNetworkInstanceProtocolISISInstance `json:"instances" yaml:"instances" protobuf:"bytes,1,opt,name=instances"`
}

func (*NetworkDeviceNetworkInstanceProtocolISIS) AddOrUpdateNetworkInstanceProtocolISISInstances added in v0.0.8

func (r *NetworkDeviceNetworkInstanceProtocolISIS) AddOrUpdateNetworkInstanceProtocolISISInstances(new *NetworkDeviceNetworkInstanceProtocolISISInstance)

func (*NetworkDeviceNetworkInstanceProtocolISIS) DeepCopy added in v0.0.8

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceNetworkInstanceProtocolISIS.

func (*NetworkDeviceNetworkInstanceProtocolISIS) DeepCopyInto added in v0.0.8

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NetworkDeviceNetworkInstanceProtocolISIS) GetOrCreateNetworkInstanceProtocolISISInstance added in v0.0.8

func (r *NetworkDeviceNetworkInstanceProtocolISIS) GetOrCreateNetworkInstanceProtocolISISInstance(name string) *NetworkDeviceNetworkInstanceProtocolISISInstance

type NetworkDeviceNetworkInstanceProtocolISISInstance added in v0.0.8

type NetworkDeviceNetworkInstanceProtocolISISInstance struct {
	// Name defines the name of the instance
	Name string `json:"name" yaml:"name" protobuf:"bytes,1,opt,name=name"`
	// ISIS network entity title (NET)
	Net []string `json:"net" yaml:"net" protobuf:"bytes,2,rep,name=net"`
	// LevelCapability defines the level capability of the intermediate system (router)
	LevelCapability infrabev1alpha1.ISISLevel `json:"levelCapability" yaml:"levelCapability" protobuf:"bytes,3,opt,name=levelCapability"`
	// Level1 defines the ISIS interface level1
	Level1 *NetworkDeviceNetworkInstanceProtocolISISInstanceLevel `json:"level1" yaml:"level1" protobuf:"bytes,3,opt,name=level1"`
	// Level2 defines the ISIS interface level2
	Level2 *NetworkDeviceNetworkInstanceProtocolISISInstanceLevel `json:"level2" yaml:"level2" protobuf:"bytes,3,opt,name=level2"`
	// Interfaces define the interface parameters used with ISIS
	Interfaces []*NetworkDeviceNetworkInstanceProtocolISISInstanceInterface `json:"interfaces" yaml:"interfaces" protobuf:"bytes,4,opt,name=interfaces"`
	// MaxECMPPaths defines the maximum ecmp paths used
	// +kubebuilder:validation:Maximum=64
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:default=1
	MaxECMPPaths uint32 `json:"maxECMPPaths,omitempty" yaml:"maxECMPPaths,omitempty" protobuf:"bytes,5,opt,name=maxECMPPaths"`
	// AddressFamilies defines the address families enabled in the instance
	AddressFamilies []string `json:"addressFamilies,omitempty" yaml:"addressFamilies,omitempty" protobuf:"bytes,2,rep,name=addressFamilies"`
}

func (*NetworkDeviceNetworkInstanceProtocolISISInstance) AddOrUpdateNetworkInstanceProtocolISISInstanceInterface added in v0.0.8

func (r *NetworkDeviceNetworkInstanceProtocolISISInstance) AddOrUpdateNetworkInstanceProtocolISISInstanceInterface(new *NetworkDeviceNetworkInstanceProtocolISISInstanceInterface)

func (*NetworkDeviceNetworkInstanceProtocolISISInstance) AddOrUpdateNetworkInstanceProtocolISISInstanceLevel1 added in v0.0.16

func (r *NetworkDeviceNetworkInstanceProtocolISISInstance) AddOrUpdateNetworkInstanceProtocolISISInstanceLevel1(new *NetworkDeviceNetworkInstanceProtocolISISInstanceLevel)

func (*NetworkDeviceNetworkInstanceProtocolISISInstance) AddOrUpdateNetworkInstanceProtocolISISInstanceLevel2 added in v0.0.16

func (r *NetworkDeviceNetworkInstanceProtocolISISInstance) AddOrUpdateNetworkInstanceProtocolISISInstanceLevel2(new *NetworkDeviceNetworkInstanceProtocolISISInstanceLevel)

func (*NetworkDeviceNetworkInstanceProtocolISISInstance) DeepCopy added in v0.0.8

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceNetworkInstanceProtocolISISInstance.

func (*NetworkDeviceNetworkInstanceProtocolISISInstance) DeepCopyInto added in v0.0.8

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NetworkDeviceNetworkInstanceProtocolISISInstance) GetOrCreateNetworkInstanceProtocolISISInstanceInterface added in v0.0.8

func (*NetworkDeviceNetworkInstanceProtocolISISInstance) GetOrCreateNetworkInstanceProtocolISISInstanceLevel1 added in v0.0.16

func (r *NetworkDeviceNetworkInstanceProtocolISISInstance) GetOrCreateNetworkInstanceProtocolISISInstanceLevel1() *NetworkDeviceNetworkInstanceProtocolISISInstanceLevel

func (*NetworkDeviceNetworkInstanceProtocolISISInstance) GetOrCreateNetworkInstanceProtocolISISInstanceLevel2 added in v0.0.16

func (r *NetworkDeviceNetworkInstanceProtocolISISInstance) GetOrCreateNetworkInstanceProtocolISISInstanceLevel2() *NetworkDeviceNetworkInstanceProtocolISISInstanceLevel

type NetworkDeviceNetworkInstanceProtocolISISInstanceInterface added in v0.0.8

type NetworkDeviceNetworkInstanceProtocolISISInstanceInterface struct {
	// SubInterfaceName defines the name and id of the sub interface
	SubInterfaceName NetworkDeviceNetworkInstanceInterface `json:"subInterfaceName" yaml:"subInterfaceName" protobuf:"bytes,1,opt,name=subInterfaceName"`
	// NetworkType defines the type of network on the interface
	// +kubebuilder:validation:Enum=pointToPoint;broadcast;unknown
	NetworkType infrabev1alpha1.NetworkType `json:"networkType,omitempty" yaml:"networkType,omitempty" protobuf:"bytes,2,opt,name=networkType"`
	// Level1 defines the ISIS interface level1
	Level1 *NetworkDeviceNetworkInstanceProtocolISISInstanceInterfaceLevel `json:"level1,omitempty" yaml:"level1,omitempty" protobuf:"bytes,3,opt,name=level1"`
	// Level2 defines the ISIS interface level2
	Level2 *NetworkDeviceNetworkInstanceProtocolISISInstanceInterfaceLevel `json:"level2,omitempty" yaml:"level2,omitempty" protobuf:"bytes,4,opt,name=level2"`
	// IPv4 define the ipv4 interface parameters
	IPv4 *NetworkDeviceNetworkInstanceProtocolISISInstanceInterfaceIPv4 `json:"ipv4,omitempty" yaml:"ipv4,omitempty" protobuf:"bytes,5,opt,name=ipv4"`
	// IPv6 define the ipv6 interface parameters
	IPv6 *NetworkDeviceNetworkInstanceProtocolISISInstanceInterfaceIPv6 `json:"ipv6,omitempty" yaml:"ipv6,omitempty" protobuf:"bytes,6,opt,name=ipv6"`
	// Passive allow interface to be advertised as an ISIS interface without running the ISIS protocol
	Passive bool `json:"passive,omitempty" yaml:"passive,omitempty" protobuf:"bytes,7,opt,name=passive"`
}

func (*NetworkDeviceNetworkInstanceProtocolISISInstanceInterface) DeepCopy added in v0.0.8

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceNetworkInstanceProtocolISISInstanceInterface.

func (*NetworkDeviceNetworkInstanceProtocolISISInstanceInterface) DeepCopyInto added in v0.0.8

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NetworkDeviceNetworkInstanceProtocolISISInstanceInterface) GetOrCreateNetworkInstanceProtocolISISInstanceInterfaceIPv4 added in v0.0.8

func (*NetworkDeviceNetworkInstanceProtocolISISInstanceInterface) GetOrCreateNetworkInstanceProtocolISISInstanceInterfaceIPv6 added in v0.0.8

func (*NetworkDeviceNetworkInstanceProtocolISISInstanceInterface) GetOrCreateNetworkInstanceProtocolISISInstanceInterfaceLevel1 added in v0.0.16

func (*NetworkDeviceNetworkInstanceProtocolISISInstanceInterface) GetOrCreateNetworkInstanceProtocolISISInstanceInterfaceLevel2 added in v0.0.16

type NetworkDeviceNetworkInstanceProtocolISISInstanceInterfaceIPv4 added in v0.0.8

type NetworkDeviceNetworkInstanceProtocolISISInstanceInterfaceIPv4 struct {
	// BFD defines if bfd is enabled
	BFD bool `json:"bfd" yaml:"bfd" protobuf:"bytes,1,opt,name=bfd"`
}

func (*NetworkDeviceNetworkInstanceProtocolISISInstanceInterfaceIPv4) DeepCopy added in v0.0.8

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceNetworkInstanceProtocolISISInstanceInterfaceIPv4.

func (*NetworkDeviceNetworkInstanceProtocolISISInstanceInterfaceIPv4) DeepCopyInto added in v0.0.8

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDeviceNetworkInstanceProtocolISISInstanceInterfaceIPv6 added in v0.0.8

type NetworkDeviceNetworkInstanceProtocolISISInstanceInterfaceIPv6 struct {
	// BFD defines if bfd is enabled
	BFD bool `json:"bfd" yaml:"bfd" protobuf:"bytes,1,opt,name=bfd"`
}

func (*NetworkDeviceNetworkInstanceProtocolISISInstanceInterfaceIPv6) DeepCopy added in v0.0.8

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceNetworkInstanceProtocolISISInstanceInterfaceIPv6.

func (*NetworkDeviceNetworkInstanceProtocolISISInstanceInterfaceIPv6) DeepCopyInto added in v0.0.8

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDeviceNetworkInstanceProtocolISISInstanceInterfaceLevel added in v0.0.16

type NetworkDeviceNetworkInstanceProtocolISISInstanceInterfaceLevel struct {
	Metric            uint32 `json:"metric" yaml:"metric" protobuf:"bytes,1,opt,name=metric"`
	MetricIPv6Unicast uint32 `json:"metricIPv6Unicast" yaml:"metricIPv6Unicast" protobuf:"bytes,2,opt,name=metricIPv6Unicast"`
	Disable           bool   `json:"disable" yaml:"disable" protobuf:"bytes,3,opt,name=disable"`
}

func (*NetworkDeviceNetworkInstanceProtocolISISInstanceInterfaceLevel) DeepCopy added in v0.0.16

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceNetworkInstanceProtocolISISInstanceInterfaceLevel.

func (*NetworkDeviceNetworkInstanceProtocolISISInstanceInterfaceLevel) DeepCopyInto added in v0.0.16

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDeviceNetworkInstanceProtocolISISInstanceLevel added in v0.0.16

type NetworkDeviceNetworkInstanceProtocolISISInstanceLevel struct {
	MetricStyle infrabev1alpha1.ISISMetricStyle `json:"metricStryle" yaml:"metricStryle" protobuf:"bytes,1,opt,name=metricStryle"`
}

func (*NetworkDeviceNetworkInstanceProtocolISISInstanceLevel) DeepCopy added in v0.0.16

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceNetworkInstanceProtocolISISInstanceLevel.

func (*NetworkDeviceNetworkInstanceProtocolISISInstanceLevel) DeepCopyInto added in v0.0.16

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDeviceNetworkInstanceProtocolOSPF added in v0.0.8

type NetworkDeviceNetworkInstanceProtocolOSPF struct {
	Instances []*NetworkDeviceNetworkInstanceProtocolOSPFInstance `json:"instances" yaml:"instances" protobuf:"bytes,1,opt,name=instances"`
}

func (*NetworkDeviceNetworkInstanceProtocolOSPF) AddOrUpdateNetworkInstanceProtocolOSPFInstances added in v0.0.8

func (r *NetworkDeviceNetworkInstanceProtocolOSPF) AddOrUpdateNetworkInstanceProtocolOSPFInstances(new *NetworkDeviceNetworkInstanceProtocolOSPFInstance)

func (*NetworkDeviceNetworkInstanceProtocolOSPF) DeepCopy added in v0.0.8

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceNetworkInstanceProtocolOSPF.

func (*NetworkDeviceNetworkInstanceProtocolOSPF) DeepCopyInto added in v0.0.8

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NetworkDeviceNetworkInstanceProtocolOSPF) GetOrCreateNetworkInstanceProtocolOSPFInstance added in v0.0.8

func (r *NetworkDeviceNetworkInstanceProtocolOSPF) GetOrCreateNetworkInstanceProtocolOSPFInstance(name string) *NetworkDeviceNetworkInstanceProtocolOSPFInstance

type NetworkDeviceNetworkInstanceProtocolOSPFInstance added in v0.0.8

type NetworkDeviceNetworkInstanceProtocolOSPFInstance struct {
	// Name defines the name of the instance
	Name string `json:"name" yaml:"name" protobuf:"bytes,1,opt,name=name"`
	// Version defines the Version used for ospf
	// +kubebuilder:validation:Enum=v2;v3
	// +kubebuilder:default=v2
	Version infrabev1alpha1.OSPFVersion `json:"version" yaml:"version" protobuf:"bytes,2,opt,name=version"`
	// RouterID of the instance
	RouterID string `json:"routerID" yaml:"routerID" protobuf:"bytes,3,opt,name=routerID"`
	// Areas define the areas in the ospf instance
	Areas []*NetworkDeviceNetworkInstanceProtocolOSPFInstanceArea `json:"areas,omitempty" yaml:"areas,omitempty" protobuf:"bytes,4,rep,name=areas"`
	// MaxECMPPaths defines the maximum ecmp paths used
	// +kubebuilder:validation:Maximum=64
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:default=1
	MaxECMPPaths uint32 `json:"maxECMPPaths,omitempty" yaml:"maxECMPPaths,omitempty" protobuf:"bytes,5,opt,name=maxECMPPaths"`
	// ASBR defines if the router is an ASBR (Autonomous System Boundary Router)
	ASBR bool `json:"asbr,omitempty" yaml:"asbr,omitempty" protobuf:"bytes,6,opt,name=asbr"`
}

func (*NetworkDeviceNetworkInstanceProtocolOSPFInstance) AddOrUpdateNetworkInstanceProtocolOSPFInstanceArea added in v0.0.8

func (r *NetworkDeviceNetworkInstanceProtocolOSPFInstance) AddOrUpdateNetworkInstanceProtocolOSPFInstanceArea(new *NetworkDeviceNetworkInstanceProtocolOSPFInstanceArea)

func (*NetworkDeviceNetworkInstanceProtocolOSPFInstance) DeepCopy added in v0.0.8

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceNetworkInstanceProtocolOSPFInstance.

func (*NetworkDeviceNetworkInstanceProtocolOSPFInstance) DeepCopyInto added in v0.0.8

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NetworkDeviceNetworkInstanceProtocolOSPFInstance) GetOrCreateNetworkInstanceProtocolOSPFInstanceArea added in v0.0.8

func (r *NetworkDeviceNetworkInstanceProtocolOSPFInstance) GetOrCreateNetworkInstanceProtocolOSPFInstanceArea(name string) *NetworkDeviceNetworkInstanceProtocolOSPFInstanceArea

type NetworkDeviceNetworkInstanceProtocolOSPFInstanceArea added in v0.0.8

type NetworkDeviceNetworkInstanceProtocolOSPFInstanceArea struct {
	// Name defines the name of the area
	Name string `json:"name" yaml:"name" protobuf:"bytes,1,opt,name=name"`
	// Interfaces define the interface parameters used with ISIS
	Interfaces []*NetworkDeviceNetworkInstanceProtocolOSPFInstanceAreaInterface `json:"interfaces" yaml:"interfaces" protobuf:"bytes,2,opt,name=interfaces"`
	// NSSA define the NSSA parameters
	NSSA *NetworkDeviceNetworkInstanceProtocolOSPFInstanceAreaNSSA `json:"nssa,omitempty" yaml:"nssa,omitempty" protobuf:"bytes,3,opt,name=nssa"`
	// Stub define the stub parameters
	Stub *NetworkDeviceNetworkInstanceProtocolOSPFInstanceAreaStub `json:"stub,omitempty" yaml:"stub,omitempty" protobuf:"bytes,4,opt,name=stub"`
}

func (*NetworkDeviceNetworkInstanceProtocolOSPFInstanceArea) AddOrUpdateNetworkInstanceProtocolOSPFInstanceAreaInterface added in v0.0.8

func (r *NetworkDeviceNetworkInstanceProtocolOSPFInstanceArea) AddOrUpdateNetworkInstanceProtocolOSPFInstanceAreaInterface(new *NetworkDeviceNetworkInstanceProtocolOSPFInstanceAreaInterface)

func (*NetworkDeviceNetworkInstanceProtocolOSPFInstanceArea) DeepCopy added in v0.0.8

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceNetworkInstanceProtocolOSPFInstanceArea.

func (*NetworkDeviceNetworkInstanceProtocolOSPFInstanceArea) DeepCopyInto added in v0.0.8

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NetworkDeviceNetworkInstanceProtocolOSPFInstanceArea) GetOrCreateNetworkInstanceProtocolOSPFInstanceAreaInterface added in v0.0.8

func (*NetworkDeviceNetworkInstanceProtocolOSPFInstanceArea) GetOrCreateNetworkInstanceProtocolOSPFInstanceAreaNSSA added in v0.0.8

func (*NetworkDeviceNetworkInstanceProtocolOSPFInstanceArea) GetOrCreateNetworkInstanceProtocolOSPFInstanceAreaStub added in v0.0.8

type NetworkDeviceNetworkInstanceProtocolOSPFInstanceAreaInterface added in v0.0.8

type NetworkDeviceNetworkInstanceProtocolOSPFInstanceAreaInterface struct {
	// SubInterfaceName defines the name and id of the sub interface
	SubInterfaceName NetworkDeviceNetworkInstanceInterface `json:"subInterfaceName" yaml:"subInterfaceName" protobuf:"bytes,1,opt,name=subInterfaceName"`
	// Type defines the type of interface
	// +kubebuilder:validation:Enum=pointToPoint;broadcast;unknown
	// +kubebuilder:default=pointToPoint
	NetworkType infrabev1alpha1.NetworkType `json:"networkType,omitempty" yaml:"networkType,omitempty" protobuf:"bytes,2,opt,name=networkType"`
	// Passive allow interface to be advertised as an interface without running the OSPF protocol
	Passive bool `json:"passive,omitempty" yaml:"passive,omitempty" protobuf:"bytes,3,opt,name=passive"`
	// BFD defines if bfd is enabled
	BFD bool `json:"bfd,omitempty" yaml:"bfd,omitempty" protobuf:"bytes,4,opt,name=bfd"`
}

func (*NetworkDeviceNetworkInstanceProtocolOSPFInstanceAreaInterface) DeepCopy added in v0.0.8

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceNetworkInstanceProtocolOSPFInstanceAreaInterface.

func (*NetworkDeviceNetworkInstanceProtocolOSPFInstanceAreaInterface) DeepCopyInto added in v0.0.8

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDeviceNetworkInstanceProtocolOSPFInstanceAreaNSSA added in v0.0.8

type NetworkDeviceNetworkInstanceProtocolOSPFInstanceAreaNSSA struct{}

func (*NetworkDeviceNetworkInstanceProtocolOSPFInstanceAreaNSSA) DeepCopy added in v0.0.8

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceNetworkInstanceProtocolOSPFInstanceAreaNSSA.

func (*NetworkDeviceNetworkInstanceProtocolOSPFInstanceAreaNSSA) DeepCopyInto added in v0.0.8

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDeviceNetworkInstanceProtocolOSPFInstanceAreaStub added in v0.0.8

type NetworkDeviceNetworkInstanceProtocolOSPFInstanceAreaStub struct{}

func (*NetworkDeviceNetworkInstanceProtocolOSPFInstanceAreaStub) DeepCopy added in v0.0.8

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceNetworkInstanceProtocolOSPFInstanceAreaStub.

func (*NetworkDeviceNetworkInstanceProtocolOSPFInstanceAreaStub) DeepCopyInto added in v0.0.8

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDeviceNetworkInstanceProtocols

type NetworkDeviceNetworkInstanceProtocols struct {
	BGP     *NetworkDeviceNetworkInstanceProtocolBGP     `json:"bgp,omitempty" yaml:"bgp,omitempty" protobuf:"bytes,1,opt,name=bgp"`
	BGPEVPN *NetworkDeviceNetworkInstanceProtocolBGPEVPN `json:"bgpEVPN,omitempty" yaml:"bgpEVPN,omitempty" protobuf:"bytes,2,opt,name=bgpEVPN"`
	BGPVPN  *NetworkDeviceNetworkInstanceProtocolBGPVPN  `json:"bgpVPN,omitempty" yaml:"bgpVPN,omitempty" protobuf:"bytes,3,opt,name=bgpVPN"`
	ISIS    *NetworkDeviceNetworkInstanceProtocolISIS    `json:"isis,omitempty" yaml:"isis,omitempty" protobuf:"bytes,4,opt,name=isis"`
	OSPF    *NetworkDeviceNetworkInstanceProtocolOSPF    `json:"ospf,omitempty" yaml:"ospf,omitempty" protobuf:"bytes,5,opt,name=ospf"`
}

func (*NetworkDeviceNetworkInstanceProtocols) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceNetworkInstanceProtocols.

func (*NetworkDeviceNetworkInstanceProtocols) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NetworkDeviceNetworkInstanceProtocols) GetOrCreateNetworkInstanceProtocolsBGP added in v0.0.6

func (r *NetworkDeviceNetworkInstanceProtocols) GetOrCreateNetworkInstanceProtocolsBGP() *NetworkDeviceNetworkInstanceProtocolBGP

func (*NetworkDeviceNetworkInstanceProtocols) GetOrCreateNetworkInstanceProtocolsBGPEVPN added in v0.0.6

func (r *NetworkDeviceNetworkInstanceProtocols) GetOrCreateNetworkInstanceProtocolsBGPEVPN() *NetworkDeviceNetworkInstanceProtocolBGPEVPN

func (*NetworkDeviceNetworkInstanceProtocols) GetOrCreateNetworkInstanceProtocolsBGPVPN added in v0.0.6

func (r *NetworkDeviceNetworkInstanceProtocols) GetOrCreateNetworkInstanceProtocolsBGPVPN() *NetworkDeviceNetworkInstanceProtocolBGPVPN

func (*NetworkDeviceNetworkInstanceProtocols) GetOrCreateNetworkInstanceProtocolsISIS added in v0.0.8

func (r *NetworkDeviceNetworkInstanceProtocols) GetOrCreateNetworkInstanceProtocolsISIS() *NetworkDeviceNetworkInstanceProtocolISIS

func (*NetworkDeviceNetworkInstanceProtocols) GetOrCreateNetworkInstanceProtocolsOSPF added in v0.0.8

func (r *NetworkDeviceNetworkInstanceProtocols) GetOrCreateNetworkInstanceProtocolsOSPF() *NetworkDeviceNetworkInstanceProtocolOSPF

type NetworkDeviceRoutingPolicy

type NetworkDeviceRoutingPolicy struct {
	Name         string   `json:"name,omitempty" yaml:"name,omitempty" protobuf:"bytes,1,opt,name=name"`
	IPv4Prefixes []string `json:"ipv4Prefixes,omitempty" yaml:"ipv4Prefixes,omitempty" protobuf:"bytes,2,rep,name=ipv4Prefixes"`
	IPv6Prefixes []string `json:"ipv6Prefixes,omitempty" yaml:"ipv6Prefixes,omitempty" protobuf:"bytes,3,rep,name=ipv6Prefixes"`
}

func (*NetworkDeviceRoutingPolicy) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceRoutingPolicy.

func (*NetworkDeviceRoutingPolicy) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDeviceSpec

type NetworkDeviceSpec struct {
	Topology string `json:"topology" yaml:"topology" protobuf:"bytes,1,opt,name=topology"`
	// Provider defines the provider implementing this resource.
	Provider string `json:"provider" yaml:"provider" protobuf:"bytes,2,opt,name=provider"`
	// Interfaces defines the interfaces for the device config
	// +optional
	Interfaces []*NetworkDeviceInterface `json:"interfaces,omitempty" yaml:"interfaces,omitempty" protobuf:"bytes,3,rep,name=interfaces"`
	// NetworkInstances defines the network instances for the device config
	// +optional
	NetworkInstances []*NetworkDeviceNetworkInstance `json:"networkInstances,omitempty" yaml:"networkInstances,omitempty" protobuf:"bytes,4,rep,name=networkInstances"`
	// TunnelInterfaces defines the unnelInterfaces for the device config
	// +optional
	TunnelInterfaces []*NetworkDeviceTunnelInterface `json:"tunnelInterfaces,omitempty" yaml:"tunnelInterfaces,omitempty" protobuf:"bytes,5,rep,name=tunnelInterfaces"`
	// RoutingPolicies defines the routingPolicies for the device config
	// +optional
	RoutingPolicies []*NetworkDeviceRoutingPolicy `json:"routingPolicies,omitempty" yaml:"routingPolicies,omitempty" protobuf:"bytes,6,opt,name=routingPolicies"`
	// System defines the system parameters for the device config
	System *NetworkDeviceSystem `json:"system,omitempty" yaml:"system,omitempty" protobuf:"bytes,7,opt,name=system"`
	// BFD defines the bfd parameters for the device config
	BFD *NetworkDeviceBFD `json:"bfd,omitempty" yaml:"bfd,omitempty" protobuf:"bytes,4,opt,name=bfd"`
}

NetworkDeviceDeviceSpec defines the desired state of NetworkDevice

func (*NetworkDeviceSpec) DeepCopy

func (in *NetworkDeviceSpec) DeepCopy() *NetworkDeviceSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceSpec.

func (*NetworkDeviceSpec) DeepCopyInto

func (in *NetworkDeviceSpec) DeepCopyInto(out *NetworkDeviceSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDeviceStatus

type NetworkDeviceStatus struct {
	// ConditionedStatus provides the status of the NetworkDevice using conditions
	// - a ready condition indicates the overall status of the resource
	conditionv1alpha1.ConditionedStatus `json:",inline" yaml:",inline" protobuf:"bytes,1,opt,name=conditionedStatus"`

	// ProviderConfig defines the configs based on the provider processing
	//+kubebuilder:pruning:PreserveUnknownFields
	ProviderConfig *runtime.RawExtension `json:"providerConfig,omitempty" yaml:"providerConfig,omitempty" protobuf:"bytes,2,opt,name=value"`
}

NetworkDeviceStatus defines the observed state of NetworkDevice

func (*NetworkDeviceStatus) DeepCopy

func (in *NetworkDeviceStatus) DeepCopy() *NetworkDeviceStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceStatus.

func (*NetworkDeviceStatus) DeepCopyInto

func (in *NetworkDeviceStatus) DeepCopyInto(out *NetworkDeviceStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDeviceSystem

type NetworkDeviceSystem struct {
	Protocols *NetworkDeviceSystemProtocols `json:"protocols,omitempty" yaml:"protocols,omitempty" protobuf:"bytes,7,opt,name=protocols"`
}

func (*NetworkDeviceSystem) DeepCopy

func (in *NetworkDeviceSystem) DeepCopy() *NetworkDeviceSystem

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceSystem.

func (*NetworkDeviceSystem) DeepCopyInto

func (in *NetworkDeviceSystem) DeepCopyInto(out *NetworkDeviceSystem)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NetworkDeviceSystem) GetOrCreateSystemProtocols

func (r *NetworkDeviceSystem) GetOrCreateSystemProtocols() *NetworkDeviceSystemProtocols

type NetworkDeviceSystemProtocols

type NetworkDeviceSystemProtocols struct {
	BGPVPN  *NetworkDeviceSystemProtocolsBGPVPN  `json:"bgpVPN,omitempty" yaml:"bgpVPN,omitempty" protobuf:"bytes,7,opt,name=bgpVPN"`
	BGPEVPN *NetworkDeviceSystemProtocolsBGPEVPN `json:"bgpEVPN,omitempty" yaml:"bgpEVPN,omitempty" protobuf:"bytes,7,opt,name=bgpEVPN"`
}

func (*NetworkDeviceSystemProtocols) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceSystemProtocols.

func (*NetworkDeviceSystemProtocols) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NetworkDeviceSystemProtocols) GetOrCreateSystemProtocolsBGPEVPN

func (r *NetworkDeviceSystemProtocols) GetOrCreateSystemProtocolsBGPEVPN() *NetworkDeviceSystemProtocolsBGPEVPN

func (*NetworkDeviceSystemProtocols) GetOrCreateSystemProtocolsBGPVPN

func (r *NetworkDeviceSystemProtocols) GetOrCreateSystemProtocolsBGPVPN() *NetworkDeviceSystemProtocolsBGPVPN

type NetworkDeviceSystemProtocolsBGPEVPN

type NetworkDeviceSystemProtocolsBGPEVPN struct {
}

func (*NetworkDeviceSystemProtocolsBGPEVPN) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceSystemProtocolsBGPEVPN.

func (*NetworkDeviceSystemProtocolsBGPEVPN) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDeviceSystemProtocolsBGPVPN

type NetworkDeviceSystemProtocolsBGPVPN struct {
}

func (*NetworkDeviceSystemProtocolsBGPVPN) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceSystemProtocolsBGPVPN.

func (*NetworkDeviceSystemProtocolsBGPVPN) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDeviceTunnelInterface

type NetworkDeviceTunnelInterface struct {
	Name          string                                      `json:"name" yaml:"name" protobuf:"bytes,1,opt,name=name"`
	SubInterfaces []*NetworkDeviceTunnelInterfaceSubInterface `json:"subInterfaces,omitempty" yaml:"subInterfaces,omitempty" protobuf:"bytes,2,rep,name=subInterfaces"`
}

func (*NetworkDeviceTunnelInterface) AddOrUpdateTunnelInterfaceSubInterface added in v0.0.6

func (r *NetworkDeviceTunnelInterface) AddOrUpdateTunnelInterfaceSubInterface(new *NetworkDeviceTunnelInterfaceSubInterface)

func (*NetworkDeviceTunnelInterface) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceTunnelInterface.

func (*NetworkDeviceTunnelInterface) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NetworkDeviceTunnelInterface) GetOrCreateTunnelInterfaceSubInterface added in v0.0.6

func (r *NetworkDeviceTunnelInterface) GetOrCreateTunnelInterfaceSubInterface(id uint32) *NetworkDeviceTunnelInterfaceSubInterface

type NetworkDeviceTunnelInterfaceSubInterface

type NetworkDeviceTunnelInterfaceSubInterface struct {
	ID uint32 `json:"id" yaml:"id" protobuf:"bytes,1,opt,name=id"`
	// routed or bridged
	Type SubInterfaceType `json:"type" yaml:"type" protobuf:"bytes,2,opt,name=type"`
}

func (*NetworkDeviceTunnelInterfaceSubInterface) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceTunnelInterfaceSubInterface.

func (*NetworkDeviceTunnelInterfaceSubInterface) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkInstanceType

type NetworkInstanceType string
const (
	NetworkInstanceType_MACVRF  NetworkInstanceType = "mac-vrf"
	NetworkInstanceType_IPVRF   NetworkInstanceType = "ip-vrf"
	NetworkInstanceType_DEFAULT NetworkInstanceType = "default"
)

type NetworkInterface

type NetworkInterface struct {
	// Bridge defines the name of the bridge belonging to the interface
	// A bridge can only be attached to a router and is mutualy exclusive with a
	// defined Endpoint
	Bridge *string `json:"bridge,omitempty" yaml:"bridge,omitempty" protobuf:"bytes,1,opt,name=bridge"`
	// Endpoint
	EndPoint *string `json:"endpoint,omitempty" yaml:"endpoint,omitempty" protobuf:"bytes,2,opt,name=endpoint"`
	// NodeID defines the node identifier
	// if omitted only possible with a bridge
	*infrabev1alpha1.NodeID `json:",inline" yaml:",inline" protobuf:"bytes,3,opt,name=nodeID"`
	// IPs define the list of IP addresses on the interface
	Addresses []*NetworkInterfaceAddress `json:"addresses,omitempty" yaml:"addresses,omitempty" protobuf:"bytes,4,opt,name=ipsaddresses"`
	// VLANID defines the VLAN ID on the interface
	VLANID *uint32 `json:"vlanID,omitempty" yaml:"vlanID,omitempty" protobuf:"bytes,5,opt,name=vlanID"`
	// Selector defines the selector criterias for the interface selection
	// Used for dynamic interface selection
	Selector *metav1.LabelSelector `json:"selector,omitempty" yaml:"selector,omitempty" protobuf:"bytes,6,opt,name=selector"`
	// VLANTagging defines if the interface is vlanTagged or not
	// Used for dynamic interface selection
	VLANTagging bool `json:"vlanTagging,omitempty" yaml:"vlanTagging,,omitempty" protobuf:"bytes,7,opt,name=vlanTagging"`
	// Protocols define the protocols parameters for this interface
	Protocols *NetworkInterfaceProtocols `json:"protocols,omitempty" yaml:"protocols,,omitempty" protobuf:"bytes,8,opt,name=protocols"`
}

NetworkInterface defines the interface parameters An interface can be attached to a Router and/or a Bridge. Dynamic or static assignments are possible

func (*NetworkInterface) DeepCopy

func (in *NetworkInterface) DeepCopy() *NetworkInterface

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterface.

func (*NetworkInterface) DeepCopyInto

func (in *NetworkInterface) DeepCopyInto(out *NetworkInterface)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NetworkInterface) IsDynamic

func (r *NetworkInterface) IsDynamic() bool

type NetworkInterfaceAddress

type NetworkInterfaceAddress struct {
	Address   string  `json:"address" yaml:"address" protobuf:"bytes,1,opt,name=address"`
	Attribute *string `json:"attribute,omitempty" yaml:"address,omitempty" protobuf:"bytes,2,opt,name=attribute"`
}

func (*NetworkInterfaceAddress) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceAddress.

func (*NetworkInterfaceAddress) DeepCopyInto

func (in *NetworkInterfaceAddress) DeepCopyInto(out *NetworkInterfaceAddress)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkInterfaceProtocols

type NetworkInterfaceProtocols struct {
	BGP *NetworkConfigProtocolsBGP `json:"bgp,omitempty" yaml:"bgp,omitempty" protobuf:"bytes,4,opt,name=bgp"`
}

func (*NetworkInterfaceProtocols) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterfaceProtocols.

func (*NetworkInterfaceProtocols) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkList

type NetworkList struct {
	metav1.TypeMeta `json:",inline" yaml:",inline"`
	metav1.ListMeta `json:"metadata,omitempty" yaml:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Items           []Network `json:"items" yaml:"items" protobuf:"bytes,2,rep,name=items"`
}

+kubebuilder:object:root=true NetworkClabList contains a list of NetworkClabs +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*NetworkList) DeepCopy

func (in *NetworkList) DeepCopy() *NetworkList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkList.

func (*NetworkList) DeepCopyInto

func (in *NetworkList) DeepCopyInto(out *NetworkList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NetworkList) DeepCopyObject

func (in *NetworkList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NetworkRouter added in v0.0.8

type NetworkRouter struct {
	// Name defines the name of the routing table
	Name string `json:"name" yaml:"name" protobuf:"bytes,1,opt,name=name"`
	// NetworkID defines the id of router
	NetworkID int `json:"networkID,omitempty" yaml:"networkID,omitempty" protobuf:"bytes,2,opt,name=networkID"`
	// Interfaces defines the interfaces belonging to the routing table
	Interfaces []*NetworkInterface `json:"interfaces,omitempty" yaml:"interfaces,omitempty" protobuf:"bytes,3,opt,name=interfaces"`
}

func (*NetworkRouter) DeepCopy added in v0.0.8

func (in *NetworkRouter) DeepCopy() *NetworkRouter

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkRouter.

func (*NetworkRouter) DeepCopyInto added in v0.0.8

func (in *NetworkRouter) DeepCopyInto(out *NetworkRouter)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkSpec

type NetworkSpec struct {
	Topology string `json:"topology" yaml:"topology" protobuf:"bytes,1,opt,name=topology"`
	// Bridges define a set of logical ports that share the same
	// flooding or broadcast characteristics. Like a virtual LAN (VLAN),
	// a bridge can span one or more ports of multiple devices.
	Bridges []*NetworkBridge `json:"bridges,omitempty" yaml:"bridges,omitempty" protobuf:"bytes,2,rep,name=bridges"`
	// Routers defines a set of routes belonging to a given routing instance
	// A Router can also be called a virtual routing instances. Each virtual
	// routing instance can hold overlapping IP information
	// A router supports both ipv4 and ipv6
	Routers []*NetworkRouter `json:"routers,omitempty" yaml:"routers,omitempty" protobuf:"bytes,3,rep,name=routers"`
}

NetworkSpec defines the desired state of Network

func (*NetworkSpec) DeepCopy

func (in *NetworkSpec) DeepCopy() *NetworkSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkSpec.

func (*NetworkSpec) DeepCopyInto

func (in *NetworkSpec) DeepCopyInto(out *NetworkSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkStatus

type NetworkStatus struct {
	// ConditionedStatus provides the status of the Network using conditions
	// - a ready condition indicates the overall status of the resource
	conditionv1alpha1.ConditionedStatus `json:",inline" yaml:",inline" protobuf:"bytes,1,opt,name=conditionedStatus"`

	DevicesConfigStatus []*NetworkStatusDeviceStatus `json:"devicesConfigStatus,omitempty" yaml:"devicesConfigStatus,omitempty" protobuf:"bytes,2,opt,name=devicesConfigStatus"`
	DevicesDeployStatus []*NetworkStatusDeviceStatus `json:"devicesDeployStatus,omitempty" yaml:"devicesDeployStatus,omitempty" protobuf:"bytes,3,opt,name=devicesDeployStatus"`

	// UsedReferences track the resource used to determine if a change to the resources was identified
	// If a change is detected a reconcile will be triggered and the child status will be reset
	UsedReferences *NetworkStatusUsedReferences `json:"usedReferences,omitempty" yaml:"usedReferences,omitempty" protobuf:"bytes,4,opt,name=usedReferences"`
}

NetworkStatus defines the observed state of Network

func (*NetworkStatus) DeepCopy

func (in *NetworkStatus) DeepCopy() *NetworkStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkStatus.

func (*NetworkStatus) DeepCopyInto

func (in *NetworkStatus) DeepCopyInto(out *NetworkStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkStatusDeviceStatus added in v0.0.4

type NetworkStatusDeviceStatus struct {
	Node   string  `json:"node" yaml:"node" protobuf:"bytes,1,opt,name=node"`
	Ready  bool    `json:"ready" yaml:"ready" protobuf:"bytes,2,opt,name=ready"`
	Reason *string `json:"reason,omitempty" yaml:"reason,omitempty" protobuf:"bytes,3,opt,name=reason"`
}

func (*NetworkStatusDeviceStatus) DeepCopy added in v0.0.4

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkStatusDeviceStatus.

func (*NetworkStatusDeviceStatus) DeepCopyInto added in v0.0.4

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkStatusUsedReferences added in v0.0.29

type NetworkStatusUsedReferences struct {
	NetworkSpecHash              string `json:"networkSpecHash" yaml:"networkSpecHash" protobuf:"bytes,1,opt,name=networkSpecHash"`
	NetworkDesignResourceVersion string `` /* 128-byte string literal not displayed */
}

func (*NetworkStatusUsedReferences) DeepCopy added in v0.0.29

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkStatusUsedReferences.

func (*NetworkStatusUsedReferences) DeepCopyInto added in v0.0.29

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SubInterfaceType

type SubInterfaceType string
const (
	SubInterfaceType_Routed  SubInterfaceType = "routed"
	SubInterfaceType_Bridged SubInterfaceType = "bridged"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL