Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

why different values for MTU and GUEST_MTU in vnet #78

Open
bjoern-r opened this issue Dec 6, 2024 · 5 comments
Open

why different values for MTU and GUEST_MTU in vnet #78

bjoern-r opened this issue Dec 6, 2024 · 5 comments

Comments

@bjoern-r
Copy link
Member

bjoern-r commented Dec 6, 2024

Why are the MTU and GUEST_MTU values for vnets different?

the MTU of the created VXLAN is set to 1500 which means it can transport 1500 bytes per packet which means each packet on the underlying PHYDEV is bigger than 1500.
Configuring the GUEST_MTU means that interfaces inside the VMs are configured to have an MTU of 1450, which means VMS can only send packets with 1450 bytes where the vxlan interface can handle 1500.

I Think they have to be configured to the same value.

The MTU on the PHYDEV has to be bigger than 1500 (In Berlin this is 9000).

Also it would be nice if the actual numbers can come from the platform specific values.

one_vnet_mtu: 1500
one_vnet_guest_mtu: 1450

@alvarocurt
Copy link
Member

The reason for the different host-guest MTUs was that used to have connectivity issues when using vxlan VNets because of the extra vxlan overhead.
We solved it by roughly decreasing the guest MTU by 50 bytes, and we never investigated further.

Regarding the proposition of adding MTU values to the platform specific values... I guess we could add a 2 extra variables just like we did with site_vxlan_if, but its don't know if it might confuse people even futher.
Besides the variable, you are able to set your own custom mtu variables for each (network) component by adding them as public variables.
Remember private variables are just defaults, and public vars overwrite them. Try deploying your vxlan and vnet components with the following extra vars

one_vxlan_mtu: 9000              # or one_vnet_mtu
one_vxlan_guest_mtu: 8950  # or one_vnet_guest_mtu

Some docs I read back in the day, might be imprecise/incomplete/unprofessional
https://oswalt.dev/2014/03/mtu-considerations-for-vxlan/

@bjoern-r
Copy link
Member Author

my understanding is that both values should be the same

@alvarocurt
Copy link
Member

Marking the Issue as Completed.
The fulfillment of the MTU variables depends on each site's administrator

@bjoern-r
Copy link
Member Author

the default values of the one_vxlan_mtu and one_vxlan_guest_mtu are defined in the 6G-Library component's variables/one/private.yaml which means there is no site specific value possible.
If a site needs a specific value then this value has to be added to the TN descriptor or a site specific branch of the 6G-Library has to be used.

@alvarocurt alvarocurt reopened this Mar 18, 2025
@alvarocurt
Copy link
Member

Reopened as a feature suggestion. MTU values will be optional site-specific values in next major release

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants