RoutingConfig

Overview

Function

Declares tenant-specific routing configuration for a CNE instance, linking a RoutingTemplate with VRF or VXLAN parameters, Border Gateway Protocol (BGP) neighbors, and IRB interfaces to render OcNOS CLI routing configuration.

Names

Singular name

Plural name

Short name

routingconfig

routingconfigs

—

API group and version

k8s.f5net.com/v1alpha1

Scope

Namespace

Specification

spec

Field

Required

Default

Description

templateRef
object

Yes

—

Reference to a RoutingTemplate custom resource. The referenced template provides the Go template body used to render ocNOS CLI configuration.

vxlanRef
string

No

—

Soft reference to a VxlanConfig by name. Use this field for VXLAN/EVPN overlay scenarios. The VRF configuration is read from the referenced VxlanConfig custom resource. Mutually exclusive with vrf.

vrf
string

No

—

VRF name for direct VRF assignment without VXLAN. Use this field for north-south BGP with tenant VRF scenarios where VXLAN/EVPN overlays are not required. Mutually exclusive with vxlanRef.

neighbors
array

No

[]

List of BGP neighbors for this routing configuration. Each entry defines a neighbor by IP address or interface name along with a remote autonomous system (AS) number.

neighborSecrets
array

No

[]

List of secrets used for BGP neighbor authentication. Each entry maps a neighbor address to a Kubernetes Secret.

irbInterfaces
array

No

—

List of Integrated Routing and Bridging (IRB) interfaces for this tenant.

Note

This resource is immutable after creation. To update, delete the existing resource and create a new one.

Note

You must specify either vxlanRef or vrf, but not both. These fields are mutually exclusive.

spec.templateRef

Field

Required

Description

name
string

Yes

Name of the RoutingTemplate custom resource. Must be at least one character.

spec.neighbors[]

Field

Required

Default

Description

ip
string

No

—

IPv4 or IPv6 address of the BGP neighbor. You must specify at least one of ip or interface per neighbor item.

interface
string

No

—

Interface name for the BGP neighbor. Must be at least one character. You must specify at least one of ip or interface per neighbor item.

remoteAs
integer

Yes

—

Remote autonomous system (AS) number for the BGP neighbor. Minimum: 1. Maximum: 4294967295.

families
array

No

—

List of address family identifiers for the BGP neighbor session.

spec.neighborSecrets[]

Field

Required

Description

address
string

Yes

Address of the BGP neighbor that this secret applies to.

secretRef
object

Yes

Reference to a Kubernetes Secret that contains the authentication credential for this neighbor.

spec.neighborSecrets[].secretRef

Field

Required

Description

name
string

Yes

Name of the Kubernetes Secret. Must be at least one character.

key
string

Yes

Key within the Secret that holds the authentication credential. Must be at least one character.

spec.irbInterfaces[]

Field

Required

Default

Description

id
string

Yes

—

Unique identifier for the IRB interface. Must be at least one character.

ipv4Address
string

No

—

IPv4 address for the IRB interface. Must match a valid IPv4 address pattern. When you specify ipv4Address, you must also specify ipv4Prefix.

ipv4Prefix
integer

No

—

Prefix length for the IPv4 IRB address. Minimum: 1. Maximum: 32. When you specify ipv4Prefix, you must also specify ipv4Address.

ipv6Addresses
array

No

—

List of IPv6 addresses for the IRB interface. IPv6 supports multiple addresses per interface (RFC 4291).

spec.irbInterfaces[].ipv6Addresses[]

Field

Required

Description

address
string

Yes

IPv6 address. Must match a valid IPv6 address pattern.

prefix
integer

Yes

Prefix length for the IPv6 address. Minimum: 1. Maximum: 128.