Page MenuHomeVyOS Platform

Having "duplex" or "speed" gives a Traceback when commiting ethernet config
Open, NormalPublicBUG

Description

After upgrading from 1.5-rolling-202409010615 to 1.5-rolling-202410180006 the router could not commit its config for eth0 and it also dropped also configuration blocks involving eth0 making it unreachable to fix remotely.

When loading the old config and committing I get the following error:

[ interfaces ethernet eth0 ]
Traceback (most recent call last):
  File "/usr/libexec/vyos/services/vyos-configd", line 136, in run_script
    script.apply(c)
  File "/usr/libexec/vyos//conf_mode/interfaces_ethernet.py", line 338, in apply
    e.update(ethernet)
  File "/usr/lib/python3/dist-packages/vyos/ifconfig/ethernet.py", line 446, in update
    self.set_speed_duplex(speed, duplex)
  File "/usr/lib/python3/dist-packages/vyos/ifconfig/ethernet.py", line 194, in set_speed_duplex
    if not self.ethtool.check_auto_negotiation_supported():
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/vyos/ethtool.py", line 115, in check_auto_negotiation_supported
    return self._base_settings['supports-auto-negotiation']
           ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'supports-auto-negotiation'

After dropping "duplex" and "speed" settings from the config (both on auto) it worked again.

Hardware is an APU1 with r8169 NICs.

Details

Difficulty level
Unknown (require assessment)
Version
1.5-rolling-202410180006
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Unspecified (possibly destroys the router)
Issue type
Bug (incorrect behavior)

Event Timeline

vyosbot added a project: Restricted Project.Sat, Oct 19, 6:07 AM
Viacheslav triaged this task as Normal priority.Mon, Oct 21, 9:03 AM

I am not sure if this a driver problem.

Because "ethtool --json eth0" shows that "supports-auto-negotiation" is set to true so it should not fail, so I am not sure how it is possible for the key to be missing in _base_settings.