// Module included in the following assemblies:
//
// *

:_mod-docs-content-type: REFERENCE
[id="networking-crs_{context}"]
= Networking reference CRs

[role="_abstract"]
Use the following custom resources (CRs) to configure networking components for the telco core profile.

.Networking CRs
[cols="4*", options="header", format=csv]
|====
Component,Reference CR,Description,Optional
Baseline,`Network.yaml`,"Configures the default cluster network, specifying OVN Kubernetes settings like routing via the host. It also allows the definition of additional networks, including custom CNI configurations, and enables the use of MultiNetworkPolicy CRs for network policies across multiple networks.",No
Baseline,`networkAttachmentDefinition.yaml`,Optional. Defines a NetworkAttachmentDefinition resource specifying network configuration details such as node selector and CNI configuration.,No
Load Balancer,`addr-pool.yaml`,Configures MetalLB to manage a pool of IP addresses with auto-assign enabled for dynamic allocation of IPs from the specified range.,No
Load Balancer,`bfd-profile.yaml`,"Configures bidirectional forwarding detection (BFD) with customized intervals, detection multiplier, and modes for quicker network fault detection and load balancing failover.",No
Load Balancer,`bgp-advr.yaml`,"Defines a BGP advertisement resource for MetalLB, specifying how an IP address pool is advertised to BGP peers. This enables fine-grained control over traffic routing and announcements.",No
Load Balancer,`bgp-peer.yaml`,"Defines a BGP peer in MetalLB, representing a BGP neighbor for dynamic routing.",No
Load Balancer,`community.yaml`,"Defines a MetalLB community, which groups one or more BGP communities under a named resource. Communities can be applied to BGP advertisements to control routing policies and change traffic routing.",No
Load Balancer,`metallb.yaml`,Defines the MetalLB resource in the cluster.,No
Load Balancer,`metallbNS.yaml`,Defines the metallb-system namespace in the cluster.,No
Load Balancer,`metallbOperGroup.yaml`,Defines the Operator group for the MetalLB Operator.,No
Load Balancer,`metallbSubscription.yaml`,Creates a subscription resource for the MetalLB Operator with manual approval for install plans.,No
Multus - Tap CNI for rootless DPDK pods,`mc_rootless_pods_selinux.yaml`,Configures a MachineConfig resource which sets an SELinux boolean for the tap CNI plugin on worker nodes.,Yes
NMState Operator,`NMState.yaml`,Defines an NMState resource that is used by the NMState Operator to manage node network configurations.,No
NMState Operator,`NMStateNS.yaml`,Creates the NMState Operator namespace.,No
NMState Operator,`NMStateOperGroup.yaml`,"Creates the Operator group in the openshift-nmstate namespace, allowing the NMState Operator to watch and manage resources.",No
NMState Operator,`NMStateSubscription.yaml`,"Creates a subscription for the NMState Operator, managed through OLM.",No
SR-IOV Network Operator,`sriovNetwork.yaml`,"Defines an SR-IOV network specifying network capabilities, IP address management (ipam), and the associated network namespace and resource.",No
SR-IOV Network Operator,`sriovNetworkNodePolicy.yaml`,"Configures network policies for SR-IOV devices on specific nodes, including customization of device selection, VF allocation (numVfs), node-specific settings (nodeSelector), and priorities.",No
SR-IOV Network Operator,`SriovOperatorConfig.yaml`,"Configures various settings for the SR-IOV Operator, including enabling the injector and Operator webhook, disabling pod draining, and defining the node selector for the configuration daemon.",No
SR-IOV Network Operator,`SriovSubscription.yaml`,"Creates a subscription for the SR-IOV Network Operator, managed through OLM.",No
SR-IOV Network Operator,`SriovSubscriptionNS.yaml`,Creates the SR-IOV Network Operator subscription namespace.,No
SR-IOV Network Operator,`SriovSubscriptionOperGroup.yaml`,"Creates the Operator group for the SR-IOV Network Operator, allowing it to watch and manage resources in the target namespace.",No
|====
