> ## Documentation Index
> Fetch the complete documentation index at: https://docs.siderolabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

> KubeFlannelCNIConfig deploys Flannel CNI to the cluster.

# KubeFlannelCNIConfig

```yaml theme={null}
apiVersion: v1alpha1
kind: KubeFlannelCNIConfig
backendType: vxlan # Type of the Flannel backend to use.
backendPort: 4789 # UDP port used by Flannel for encapsulating traffic (if the backend type requires encapsulation).
backendMTU: 1420 # Transport MTU to be used for the pod network.
# Extra arguments for 'flanneld'.
extraArgs:
    - --iface-can-reach=192.168.1.1
kubeNetworkPoliciesEnabled: true # Deploys kube-network-policies along with Flannel.
```

<table>
  <thead>
    <tr>
      <th>Field</th>
      <th>Type</th>
      <th>Description</th>
      <th>Value(s)</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>`backendType`</td>
      <td>string</td>
      <td>Type of the Flannel backend to use.<br /><br />See Flannel documentation for supported backend types.<br />The default value in generated machine configuration is "vxlan".</td>

      <td />
    </tr>

    <tr>
      <td>`backendPort`</td>
      <td>uint16</td>
      <td>UDP port used by Flannel for encapsulating traffic (if the backend type requires encapsulation).<br /><br />The default value in generated machine configuration is 4789.</td>

      <td />
    </tr>

    <tr>
      <td>`backendMTU`</td>
      <td>uint32</td>
      <td>Transport MTU to be used for the pod network.<br /><br />Flannel will subtract encapsulation overhead from this MTU to calculate<br />the MTU of the pod interface.<br />If not set, the default is auto-detection of MTU by Flannel.<br />If KubeSpan is enabled, and the value is not set, defaults to KubeSpan MTU.</td>

      <td />
    </tr>

    <tr>
      <td>`backendExtraConfig`</td>
      <td>Unstructured</td>
      <td>Extra configuration for Flannel backend.<br /><br />The content of this field depends on the backend type used.<br />The value of this field will be patched into Flannel configuration 'Backend' section as-is.</td>

      <td />
    </tr>

    <tr>
      <td>`resources`</td>
      <td><a href="#resources">ResourcesConfig</a></td>
      <td>Resources configuration for Flannel main container.</td>

      <td />
    </tr>

    <tr>
      <td>`extraArgs`</td>
      <td>\[]string</td>
      <td>Extra arguments for 'flanneld'.</td>

      <td />
    </tr>

    <tr>
      <td>`kubeNetworkPoliciesEnabled`</td>
      <td>bool</td>
      <td>Deploys kube-network-policies along with Flannel.<br /><br />This enables Kubernetes Network Policies support in the cluster.</td>

      <td />
    </tr>
  </tbody>
</table>

## resources

ResourcesConfig represents the pod resources.

<table>
  <thead>
    <tr>
      <th>Field</th>
      <th>Type</th>
      <th>Description</th>
      <th>Value(s)</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>`requests`</td>
      <td>Unstructured</td>
      <td>Requests configures the reserved cpu/memory resources.</td>

      <td />
    </tr>

    <tr>
      <td>`limits`</td>
      <td>Unstructured</td>
      <td>Limits configures the maximum cpu/memory limits a pod can use.</td>

      <td />
    </tr>
  </tbody>
</table>
