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

Minimum MTU verification for IPv6 #471

Open
LionelJouin opened this issue May 12, 2022 · 1 comment
Open

Minimum MTU verification for IPv6 #471

LionelJouin opened this issue May 12, 2022 · 1 comment

Comments

@LionelJouin
Copy link
Member

The minimum MTU allowed with IPv6 is 1280. If the MTU is set to a lower value, issues will happen with the connection, no error will be returned to the NSC and this error will be in the forwarder logs:

failed to set /proc/sys/net/ipv6/conf/proxy.load-fe75/disable_ipv6 = 0: open /proc/sys/net/ipv6/conf/proxy.load-fe75/disable_ipv6: no such file or directory

Raised here:

return errors.Wrapf(err, "failed to set %s = 0", disableIPv6Filename)

I think there should be some checks somewhere in the chain to verify the connection this MTU property is valid.

@LionelJouin LionelJouin changed the title minimum MTU verification for IPv6 Minimum MTU verification for IPv6 May 12, 2022
@zolug
Copy link

zolug commented May 12, 2022

It seems when requesting a lower than 1280 bytes mtu, the network stack "realizes" that the interface can't support ipv6.
So the interface won't be included under /proc/sys/net/ipv6/conf/, therefore disable_ipv6 fails (https://github.com/networkservicemesh/sdk-kernel/blob/release/v1.3.1/pkg/kernel/networkservice/connectioncontextkernel/ipcontext/ipaddress/common.go#L88)
If using a lower mtu should be supported, then probably the code would need to check if the interface was already running "without ipv6".

@LionelJouin LionelJouin moved this to 📋 To Do in Meridio Aug 29, 2022
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