summaryrefslogtreecommitdiff
path: root/interface-definitions/include/interface-source-validation.xml.i
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2026-07-19 18:57:59 +0000
committerChristian Breunig <christian@breunig.cc>2026-07-19 18:57:59 +0000
commitba396133c4342068881d3e98c71a7dd9e6afd75b (patch)
treea0346b698b4c4325ae0bc0abf2aee957d127bb16 /interface-definitions/include/interface-source-validation.xml.i
parent43093ec740b6350492e4d4d16617ddf638ee4b94 (diff)
downloadvyos-1x-ba396133c4342068881d3e98c71a7dd9e6afd75b.tar.gz
vyos-1x-ba396133c4342068881d3e98c71a7dd9e6afd75b.zip
wireless: T9104: fix CLI/OS race on interface removal
A classical race condition detected depending on host system CPU load while executing smoketests. Removal of the Wireless/Wifi interfaces can cause a KeyError. Traceback (most recent call last): File "/usr/libexec/vyos/conf_mode/interfaces_wireless.py", line 414, in <module> apply(c) File "/usr/libexec/vyos/conf_mode/interfaces_wireless.py", line 325, in apply WiFiIf(**wifi).remove() ^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/vyos/ifconfig/interface.py", line 358, in __init__ self._create() File "/usr/lib/python3/dist-packages/vyos/ifconfig/wireless.py", line 33, in _create cmd = ['iw', 'phy', self.config['physical_device'], 'interface', 'add', ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^ KeyError: 'physical_device' In src/conf_mode/interfaces_wireless.py:apply(), the delete path unconditionally does WiFiIf(**wifi).remove(). Since the wifi dict for a deleted node never contains physical_device, and Interface.__init__ calls self._create() whenever the kernel interface doesn't already exist, WiFiIf._create() crashes with KeyError: 'physical_device' when the interface never actually got created (or already vanished) before deletion.
Diffstat (limited to 'interface-definitions/include/interface-source-validation.xml.i')
0 files changed, 0 insertions, 0 deletions