# Advance Configuration

This document describes advance configurations for your networking service that you can achieve by setting specific configuration parameters for your <code class="expression">space.vars.product\_name</code> setup.

## Network Service Components

The <code class="expression">space.vars.product\_name</code> networking service has it's components deployed in the <code class="expression">space.vars.product\_name</code> management plane as well as on each host that has hyperviros role assigned.

As part of host configuration for networking, you will find following services running on each hypervisor host:

```bash
pf9-neutron-ovn-metadata-agent 
ovs-vswitchd 
ovsdb-server 
ovn-controller
```

## Enable Advance Configuration

### Pre-requisites

* Root privileges on the hypervisor host
* Make sure that no other users are currently using the network service as this operation will require a service restart.

### Step 1 - Identify Service Configuration File

* Identify the networking service configuration file located on each hypervisor host, where you are looking to enable advance configuration options.
* The file is typically located at the following path on the host:

```bash
/opt/pf9/etc/pf9-neutron/neutron.conf
```

* open the file in a text editor to edit it

```bash
sudo vi /opt/pf9/etc/pf9-neutron/neutron.conf
```

### Step 2 - Make Required Changes

* Make the desired changes to this file based on what configuration option you wish to edit. Follow [#options-you-can-configure](#options-you-can-configure "mention") to identify the specific configuration you wish to tweak.

### Step 3 - Restart Service

* Once you've made the required changes to the config file, **save the file** and exit the text editor
* Now you will need to restart the networking service in order for the changes to take effect. Follow these steps to restart the service:

```bash
sudo systemctl restart pf9-neutron-ovn-metadata-agent ovn-controller
```

## Options You Can Configure

### Enable Debug Logging

Refer to [#log-files](https://docs.platform9.com/private-cloud-director/troubleshooting-and-log-files#log-files "mention") for the location of networking service log files. To enable debug logging for the service, edit the following property in the configuration file.

```bash
[DEFAULT]
debug = true  # Enable debug logging 
```

After the configuration change is done (including service restart), you can rerun the operation and tail the log file to see more information about the problem you are troubleshooting.

### MTU & Jumbo Frame Configuration

The physical network MTU value is configured by default to 1500. This defines the MTU value for all networks in your environment - flat, VLAN, and overlay. Behind the scenes, this becomes the MTU set on internal tenant network ports and what is advertised to VMs to auto-configure via DHCP.

You will only need to configure this value if you wish to use custom MTU for use cases such as jumbo frame enablement.

Note that for overlay networks, this should be the value of physical overlay layer. If left at 1500, VMs and internal ports on tunnel networks get an MTU of 1450 automatically, to account for the VXLAN header added by br-tun before egress.

#### Configure MTU

{% hint style="info" %}
Note that changing the default MTU configuration is not exposed to the end user today and must be enabled via your <code class="expression">space.vars.product\_name</code> support liaison. Please contact the Support team to facilitate this request.
{% endhint %}

After you override the global physical network MTU parameter, the following will also need to be explicitly set on each hypervisor by updating the ml2\_conf.ini file and updating the MTU value for each networks defined. Your support contact will guide you through this process.

{% code title="ml2\_conf.ini" %}

```bash
physical_network_mtus = provider:9000,provider2:9000
```

{% endcode %}

{% hint style="warning" %}
Changing the global MTU value **will not update the MTU for** **existing** **networks**, You will need to manually change it using CLI/API. Contact support for more information re this.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.platform9.com/private-cloud-director/virtualized-networking/advance-configuration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
