Package v1alpha1 contains API Schema definitions for the frrk8s v1alpha1 API group
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
allowed AllowedOutPrefixes |
Allowed is is the list of prefixes allowed to be propagated to this neighbor. They must match the prefixes defined in the router. |
||
withLocalPref LocalPrefPrefixes array |
PrefixesWithLocalPref is a list of prefixes that are associated to a local preference when being advertised. The prefixes associated to a given local pref must be in the prefixes allowed to be advertised. |
||
withCommunity CommunityPrefixes array |
PrefixesWithCommunity is a list of prefixes that are associated to a bgp community when being advertised. The prefixes associated to a given local pref must be in the prefixes allowed to be advertised. |
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
prefixes PrefixSelector array |
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
prefixes string array |
BFDProfile is the configuration related to the BFD protocol associated to a BGP session.
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
name string |
The name of the BFD Profile to be referenced in other parts of the configuration. |
||
receiveInterval integer |
The minimum interval that this system is capable of receiving control packets in milliseconds. Defaults to 300ms. |
Maximum: 60000 Minimum: 10 |
|
transmitInterval integer |
The minimum transmission interval (less jitter) that this system wants to use to send BFD control packets in milliseconds. Defaults to 300ms |
Maximum: 60000 Minimum: 10 |
|
detectMultiplier integer |
Configures the detection multiplier to determine packet loss. The remote transmission interval will be multiplied by this value to determine the connection loss detection timer. |
Maximum: 255 Minimum: 2 |
|
echoInterval integer |
Configures the minimal echo receive transmission interval that this system is capable of handling in milliseconds. Defaults to 50ms |
Maximum: 60000 Minimum: 10 |
|
echoMode boolean |
Enables or disables the echo transmission mode. This mode is disabled by default, and not supported on multi hops setups. |
||
passiveMode boolean |
Mark session as passive: a passive session will not attempt to start the connection and will wait for control packets from peer before it begins replying. |
||
minimumTtl integer |
For multi hop sessions only: configure the minimum expected TTL for an incoming BFD control packet. |
Maximum: 254 Minimum: 1 |
BGPConfig is the configuration related to the BGP protocol.
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
routers Router array |
Routers is the list of routers we want FRR to configure (one per VRF). | ||
bfdProfiles BFDProfile array |
BFDProfiles is the list of bfd profiles to be used when configuring the neighbors. |
CommunityPrefixes is a list of prefixes associated to a community.
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
prefixes string array |
Prefixes is the list of prefixes associated to the community. | Format: cidr MinItems: 1 |
|
community string |
Community is the community associated to the prefixes. |
Underlying type: string
Appears in:
FRRConfiguration is a piece of FRR configuration.
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string |
frrk8s.metallb.io/v1beta1 |
||
kind string |
FRRConfiguration |
||
metadata ObjectMeta |
Refer to Kubernetes API documentation for fields of metadata . |
||
spec FRRConfigurationSpec |
|||
status FRRConfigurationStatus |
FRRConfigurationSpec defines the desired state of FRRConfiguration.
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
bgp BGPConfig |
BGP is the configuration related to the BGP protocol. | ||
raw RawConfig |
Raw is a snippet of raw frr configuration that gets appended to the one rendered translating the type safe API. |
||
nodeSelector LabelSelector |
NodeSelector limits the nodes that will attempt to apply this config. When specified, the configuration will be considered only on nodes whose labels match the specified selectors. When it is not specified all nodes will attempt to apply this config. |
FRRConfigurationStatus defines the observed state of FRRConfiguration.
Appears in:
FRRNodeState exposes the status of the FRR instance running on each node.
Field | Description | Default | Validation |
---|---|---|---|
apiVersion string |
frrk8s.metallb.io/v1beta1 |
||
kind string |
FRRNodeState |
||
metadata ObjectMeta |
Refer to Kubernetes API documentation for fields of metadata . |
||
spec FRRNodeStateSpec |
|||
status FRRNodeStateStatus |
FRRNodeStateSpec defines the desired state of FRRNodeState.
Appears in:
FRRNodeStateStatus defines the observed state of FRRNodeState.
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
runningConfig string |
RunningConfig represents the current FRR running config, which is the configuration the FRR instance is currently running with. | ||
lastConversionResult string |
LastConversionResult is the status of the last translation between the FRRConfiguration s resources and FRR's configuration, contains "success" or an error. |
||
lastReloadResult string |
LastReloadResult represents the status of the last configuration update operation by FRR, contains "success" or an error. |
Import represents the possible imported VRFs to a given router.
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
vrf string |
Vrf is the vrf we want to import from |
LocalPrefPrefixes is a list of prefixes associated to a local preference.
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
prefixes string array |
Prefixes is the list of prefixes associated to the local preference. | Format: cidr MinItems: 1 |
|
localPref integer |
LocalPref is the local preference associated to the prefixes. |
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. ASN and DynamicASN are mutually exclusive and one of them must be specified. |
Maximum: 4.294967295e+09 Minimum: 0 |
|
dynamicASN DynamicASNMode |
DynamicASN detects the AS number to use for the local end of the session without explicitly setting it via the ASN field. Limited to: internal - if the neighbor's ASN is different than the router's the connection is denied. external - if the neighbor's ASN is the same as the router's the connection is denied. ASN and DynamicASN are mutually exclusive and one of them must be specified. |
Enum: [internal external] |
|
sourceaddress string |
SourceAddress is the IPv4 or IPv6 source address to use for the BGP session to this neighbour, may be specified as either an IP address directly or as an interface name |
||
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 SecretReference |
PasswordSecret is name of the authentication secret for the neighbor. the secret must be of type "kubernetes.io/basic-auth", and created in the same namespace as the frr-k8s daemon. The password is stored in the secret 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. | ||
bfdProfile string |
BFDProfile is the name of the BFD Profile to be used for the BFD session associated to the BGP session. If not set, the BFD session won't be set up. |
||
enableGracefulRestart boolean |
EnableGracefulRestart allows BGP peer to continue to forward data packets along known routes while the routing protocol information is being restored. If the session is already established, the configuration will have effect after reconnecting to the peer |
||
toAdvertise Advertise |
ToAdvertise represents the list of prefixes to advertise to the given neighbor and the associated properties. |
||
toReceive Receive |
ToReceive represents the list of prefixes to receive from the given neighbor. | ||
disableMP boolean |
To set if we want to disable MP BGP that will separate IPv4 and IPv6 route exchanges into distinct BGP sessions. | false |
PrefixSelector is a filter of prefixes to receive.
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
prefix string |
Format: cidr |
||
le integer |
The prefix length modifier. This selector accepts any matching prefix with length less or equal the given value. |
Maximum: 128 Minimum: 1 |
|
ge integer |
The prefix length modifier. This selector accepts any matching prefix with length greater or equal the given value. |
Maximum: 128 Minimum: 1 |
RawConfig is a snippet of raw frr configuration that gets appended to the rendered configuration.
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
priority integer |
Priority is the order with this configuration is appended to the bottom of the rendered configuration. A higher value means the raw config is appended later in the configuration file. |
||
rawConfig string |
Config is a raw FRR configuration to be appended to the configuration rendered via the k8s api. |
Receive represents a list of prefixes to receive from the given neighbor.
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
allowed AllowedInPrefixes |
Allowed is the list of prefixes allowed to be received from this neighbor. |
Router represent a neighbor router 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: 0 |
|
id string |
ID is the BGP router ID | ||
vrf string |
VRF is the host vrf used to establish sessions from this router. | ||
neighbors Neighbor array |
Neighbors is the list of neighbors we want to establish BGP sessions with. | ||
prefixes string array |
Prefixes is the list of prefixes we want to advertise from this router instance. | ||
imports Import array |
Imports is the list of imported VRFs we want for this router / vrf. |
SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace.
Appears in:
Field | Description | Default | Validation |
---|---|---|---|
name string |
name is unique within a namespace to reference a secret resource. | ||
namespace string |
namespace defines the space within which the secret name must be unique. |