Page MenuHomeVyOS Platform

MTU less then 1280 bytes and IPv6 will raise FileNotFoundError
Closed, ResolvedPublicBUG

Description

VyOS 1.2 (crux)

On VyOS 1.2 (crux) MTU and IPv6 address is not configured in one-shot mode leading to a weird configuration where the IPv6 address is present on the CLI but not on the interface and the MTU will win.

VyOS 1.3 (equuleus/current)

 ethernet eth1 {
     duplex auto
     hw-id 00:50:56:bf:ef:aa
+    mtu 1279
     smp-affinity auto
     speed auto
 }

Using an MTU less then the required 1280 bytes on an interface where IPv6 is not explicitly disabled by

  • set interfaces ethernet eth1 ipv6 address no-default-link-local
  • not having any other IPv6 address configured

Will trigger the error

vyos@vyos# commit
[ interfaces ethernet eth1 ]
VyOS had an issue completing a command.

We are sorry that you encountered a problem while using VyOS.
There are a few things you can do to help us (and yourself):
- Make sure you are running the latest version of the code available at
  https://downloads.vyos.io/rolling/current/amd64/vyos-rolling-latest.iso
- Consult the forum to see how to handle this issue
  https://forum.vyos.io
- Join our community on slack where our users exchange help and advice
  https://vyos.slack.com

When reporting problems, please include as much information as possible:
- do not obfuscate any data (feel free to contact us privately if your
  business policy requires it)
- and include all the information presented below

Report Time:      2020-09-26 11:29:48
Image Version:    VyOS 1.3-rolling-202009201335
Release Train:    equuleus

Built by:         autobuild@vyos.net
Built on:         Sun 20 Sep 2020 13:35 UTC
Build UUID:       187fd1d5-d402-42f0-b751-404d695196a7
Build Commit ID:  d571b383797719

Architecture:     x86_64
Boot via:         installed image
System type:      VMware guest

Hardware vendor:  VMware, Inc.
Hardware model:   VMware Virtual Platform
Hardware S/N:     VMware-42 3f 67 73 77 df c4 80-42 c9 42 af ff 15 de 0b
Hardware UUID:    73673f42-df77-80c4-42c9-42afff15de0b

Traceback (most recent call last):
  File "/usr/libexec/vyos/conf_mode/interfaces-ethernet.py", line 91, in <module>
    apply(c)
  File "/usr/libexec/vyos/conf_mode/interfaces-ethernet.py", line 83, in apply
    e.update(ethernet)
  File "/usr/lib/python3/dist-packages/vyos/ifconfig/ethernet.py", line 278, in update
    super().update(config)
  File "/usr/lib/python3/dist-packages/vyos/ifconfig/interface.py", line 1025, in update
    self.add_ipv6_eui64_address('fe80::/64')
  File "/usr/lib/python3/dist-packages/vyos/ifconfig/interface.py", line 500, in add_ipv6_eui64_address
    self.add_addr(f'{eui64}/{prefixlen}')
  File "/usr/lib/python3/dist-packages/vyos/ifconfig/interface.py", line 738, in add_addr
    self._cmd(f'ip addr add "{addr}" '
  File "/usr/lib/python3/dist-packages/vyos/ifconfig/control.py", line 51, in _cmd
    return cmd(command, self.debug)
  File "/usr/lib/python3/dist-packages/vyos/util.py", line 179, in cmd
    raise OSError(code, feedback)
FileNotFoundError: [Errno 2] failed to run command: ip addr add "fe80::250:56ff:febf:efaa/64" dev "eth1"
returned:
exit code: 2

noteworthy:
cmd 'ip addr add "fe80::250:56ff:febf:efaa/64" dev "eth1"'
returned (out):

returned (err):
RTNETLINK answers: No buffer space available

[[interfaces ethernet eth1]] failed
Commit failed

Details

Difficulty level
Normal (likely a few hours)
Version
1.3-rolling-202009201335
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Stricter validation
Issue type
Bug (incorrect behavior)