> For the complete documentation index, see [llms.txt](https://platform9.com/kb/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://platform9.com/kb/pcd/networking/network-mtu-description-states-possible-values-of-1280-9000-but-mtu-can-only-be-set-up-to-1500.md).

# Network MTU Description States Possible Values of 1280-9000, But MTU can only be set up to 1500

## Problem

* In the PCD UI, the MTU description indicates that acceptable values range from **1280 to 9000.** However, when attempting to set the MTU value above **1500**, an error message is displayed in the UI, indicating that the MTU is capped at 1500. This suggests that, despite the stated range, the maximum MTU value that can be configured in the current environment is limited to 1500.

![](https://uploads.developerhub.io/prod/K9yg/a69wu4b3idsm2bqbmh67wdf3sazgkfgsjwvngr1ptchg4eq0i4bymw7m7b2phu4l.png)

## Environment

* Private Cloud Director Virtualization - till v2025.7-47
* Private Cloud Director Kubernetes – till v2025.7-47
* Self-Hosted Private Cloud Director Virtualization - till v2025.7-47
* Self-Hosted Private Cloud Director Kubernetes - till v2025.7-47
* Component: Neutron

## Cause

* Even though the MTU description states that acceptable values range from 1280 to 9000, the MTU is capped at 1500 as part of the default neutron configuration.
* This issue is tracked in PCD-3215 and a fix is available from **2025.8-92 versions and above**.

## Workaround

{% hint style="info" %}
**PCD SaaS Users:** Reach out to the [Platform9 support team](https://support.platform9.com/hc/en-us) to update the MTU value on the management plane.

**PCD Self-Hosted Users**: Please apply the steps below to update the MTU value in the Neutron configuration.

**NOTE:** The steps provided below are for a temporary workaround. It will won't persist management plane upgrade.
{% endhint %}

**1.** Backup neutron-etc secret on management plane cluster.

```ruby
$ kubectl get secret neutron-etc  -n <REGION_NAMESPACE> --kubeconfig <KUBECONFIG> -o yaml > neutron-etc-secret.yaml
```

{% hint style="info" %}
All the configuration file data in the `neutron-etc` secret is in base64 encoding. To see the actual data, decode it from base64.
{% endhint %}

**2.** Modify neutron-etc secret.

* Update `neutron.conf` and add `global_physnet_mtu = 9000` under **DEFAULT** section.

```ruby
$ kubectl get secret neutron-etc -n <REGION_NAMESPACE> --kubeconfig <KUBECONFIG> \\
  -o jsonpath="{.data.neutron\\.conf}" | base64 -d | \\
  sed '_^\\[DEFAULT\\]_a global_physnet_mtu = 9000' | \\
  base64 | tr -d '\\n' | \\
  xargs -I{} kubectl patch secret neutron-etc -n <REGION_NAMESPACE> --kubeconfig <KUBECONFIG> \\
    --type='json' -p='[{"op":"replace","path":"_data_neutron.conf","value":"{}"}]'
```

* Modify `ml2_conf.ini` and add `path_mtu = <between 1500 and 9000>` under **ml2** section.

```ruby
$ kubectl get secret neutron-etc -n <REGION_NAMESPACE> --kubeconfig <KUBECONFIG> \\
  -o jsonpath="{.data.ml2_conf\\.ini}" | \\
  base64 -d | \\
  sed '_^\\[ml2\\]_a path_mtu = <MTU_VALUE>' | \\
  base64 | tr -d '\\n' | \\
  xargs -I{} kubectl patch secret neutron-etc -n <REGION_NAMESPACE> --kubeconfig <KUBECONFIG> \\
    --type='json' -p='[{"op":"replace","path":"_data_ml2_conf.ini","value":"{}"}]'
```

**3.** Restart Neutron server.

```ruby
$ kubectl rollout restart deployment neutron-server -n <REGION_NAMESPACE> --kubeconfig <KUBECONFIG>
```

## Validation

{% hint style="info" %}
The virtual networks have an associated offset, meaning that the maximum MTU value that a virtual network can support is determined by subtracting **50** from the **path\_mtu** value.
{% endhint %}

* Update the MTU value of a network from the UI to a value greater than 1500.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://platform9.com/kb/pcd/networking/network-mtu-description-states-possible-values-of-1280-9000-but-mtu-can-only-be-set-up-to-1500.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
