API Reference #
Packages #
openpe.openperouter.github.io/v1alpha1 #
Package v1alpha1 contains API Schema definitions for the openpe v1alpha1 API group.
Resource Types #
HostMaster #
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
name string | Name of the host interface. Must match VRF name validation if set. | MaxLength: 15 Pattern: ^[a-zA-Z][a-zA-Z0-9_-]*$ | |
type string | Type of the host interface. Currently only “bridge” is supported. | Enum: [bridge] | |
autocreate boolean | If true, the interface will be created automatically if not present.The name of the bridge is of the form br-hs-. | false |
L2VNI #
L2VNI represents a VXLan VNI to receive EVPN type 2 routes from.
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string | openpe.openperouter.github.io/v1alpha1 | ||
kind string | L2VNI | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . | ||
spec L2VNISpec | |||
status L2VNIStatus |
L2VNISpec #
L2VNISpec defines the desired state of VNI.
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
vrf string | VRF is the name of the linux VRF to be used inside the PERouter namespace.The field is optional, if not set it the name of the VNI instance will be used. | MaxLength: 15 Pattern: ^[a-zA-Z][a-zA-Z0-9_-]*$ | |
vni integer | VNI is the VXLan VNI to be used | Maximum: 4.294967295e+09 Minimum: 0 | |
vxlanport integer | VXLanPort is the port to be used for VXLan encapsulation. | 4789 | |
hostmaster HostMaster | HostMaster is the interface on the host the veth should be enslaved to.If not set, the host veth will not be enslaved to any interface and it must beenslaved manually (or by some other means). This is useful if another controlleris leveraging the host interface for the VNI. | ||
l2gatewayip string | L2GatewayIP is the IP address to be used for the L2 gateway. When this is set, thebridge the veths are enslaved to will be configured with this IP address, effectivelyacting as a distributed gateway for the VNI. |
L2VNIStatus #
VNIStatus defines the observed state of VNI.
Appears in:
L3VNI #
L3VNI represents a VXLan L3VNI to receive EVPN type 5 routes from.
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string | openpe.openperouter.github.io/v1alpha1 | ||
kind string | L3VNI | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . | ||
spec L3VNISpec | |||
status L3VNIStatus |
L3VNISpec #
L3VNISpec defines the desired state of VNI.
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
asn integer | ASN is the local AS number to use to establish a BGP session withthe default namespace. | Maximum: 4.294967295e+09 Minimum: 1 | |
vrf string | VRF is the name of the linux VRF to be used inside the PERouter namespace.The field is optional, if not set it the name of the VNI instance will be used. | MaxLength: 15 Pattern: ^[a-zA-Z][a-zA-Z0-9_-]*$ | |
hostasn integer | ASN is the expected AS number for a BGP speaking component running inthe default network namespace. If not set, the ASN field is going to be used. | Maximum: 4.294967295e+09 Minimum: 0 | |
vni integer | VNI is the VXLan VNI to be used | Maximum: 4.294967295e+09 Minimum: 0 | |
localcidr LocalCIDRConfig | LocalCIDR is the CIDR configuration for the veth pairto connect with the default namespace. The interface underthe PERouter side is going to use the first IP of the cidr on all the nodes.At least one of IPv4 or IPv6 must be provided. | ||
vxlanport integer | VXLanPort is the port to be used for VXLan encapsulation. | 4789 |
L3VNIStatus #
L3VNIStatus defines the observed state of L3VNI.
Appears in:
LocalCIDRConfig #
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
ipv4 string | IPv4 is the IPv4 CIDR to be used for the veth pairto connect with the default namespace. The interface underthe PERouter side is going to use the first IP of the cidr on all the nodes. | ||
ipv6 string | IPv6 is the IPv6 CIDR to be used for the veth pairto connect with the default namespace. The interface underthe PERouter side is going to use the first IP of the cidr on all the nodes. |
Neighbor #
Neighbor represents a BGP Neighbor we want FRR to connect to.
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
asn integer | ASN is the AS number to use for the local end of the session. | Maximum: 4.294967295e+09 Minimum: 1 | |
address string | Address is the IP address to establish the session with. | ||
port integer | Port is the port to dial when establishing the session.Defaults to 179. | Maximum: 16384 Minimum: 0 | |
password string | Password to be used for establishing the BGP session.Password and PasswordSecret are mutually exclusive. | ||
passwordSecret string | PasswordSecret is name of the authentication secret for the neighbor.the secret must be of type “kubernetes.io/basic-auth”, and created in thesame namespace as the perouter daemon. The password is stored in thesecret as the key “password”.Password and PasswordSecret are mutually exclusive. | ||
holdTime Duration | HoldTime is the requested BGP hold time, per RFC4271.Defaults to 180s. | ||
keepaliveTime Duration | KeepaliveTime is the requested BGP keepalive time, per RFC4271.Defaults to 60s. | ||
connectTime Duration | Requested BGP connect time, controls how long BGP waits between connection attempts to a neighbor. | ||
ebgpMultiHop boolean | EBGPMultiHop indicates if the BGPPeer is multi-hops away. |
Underlay #
Underlay is the Schema for the underlays API.
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string | openpe.openperouter.github.io/v1alpha1 | ||
kind string | Underlay | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata . | ||
spec UnderlaySpec | |||
status UnderlayStatus |
UnderlaySpec #
UnderlaySpec defines the desired state of Underlay.
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
asn integer | ASN is the local AS number to use for the session with the TOR switch. | Maximum: 4.294967295e+09 Minimum: 1 | |
vtepcidr string | VTEPCIDR is CIDR to be used to assign IPs to the local VTEP on each node. | ||
neighbors Neighbor array | Neighbors is the list of external neighbors to peer with. | MinItems: 1 | |
nics string array | Nics is the list of physical nics to move under the PERouter namespace to connectto external routers. This field is optional when using Multus networks for TOR connectivity. |
UnderlayStatus #
UnderlayStatus defines the observed state of Underlay.
Appears in: