diff options
author | Viacheslav Hletenko <v.gletenko@vyos.io> | 2024-11-05 20:25:18 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-05 20:25:18 +0200 |
commit | 09ca8e2a01fcef509d6f39e0abbe7a65fa1eb5b8 (patch) | |
tree | 7d0aca6b334360505b7dc810d3dd5eeb69bc9670 | |
parent | 47aa697fd646accc2f333f6409885640a9631e2e (diff) | |
download | vyos-1x-09ca8e2a01fcef509d6f39e0abbe7a65fa1eb5b8.tar.gz vyos-1x-09ca8e2a01fcef509d6f39e0abbe7a65fa1eb5b8.zip |
T6764: Fix unhandled exception on ethtool output parsing for Xen NICs (#4182)
Not all NICs could provide ring-buffers info requested by ethtool
in JSON format
For example 'vif' Xen/XCP-NG interfaces
Fix it
-rw-r--r-- | python/vyos/ethtool.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/python/vyos/ethtool.py b/python/vyos/ethtool.py index 21272cc5b..4710a5d40 100644 --- a/python/vyos/ethtool.py +++ b/python/vyos/ethtool.py @@ -23,7 +23,7 @@ from vyos.utils.process import popen # flow control settings _drivers_without_speed_duplex_flow = ['vmxnet3', 'virtio_net', 'xen_netfront', 'iavf', 'ice', 'i40e', 'hv_netvsc', 'veth', 'ixgbevf', - 'tun'] + 'tun', 'vif'] class Ethtool: """ @@ -101,8 +101,9 @@ class Ethtool: self._features = loads(out)[0] # Get information about NIC ring buffers - out, _ = popen(f'ethtool --json --show-ring {ifname}') - self._ring_buffer = loads(out)[0] + out, err = popen(f'ethtool --json --show-ring {ifname}') + if not bool(err): + self._ring_buffer = loads(out)[0] # Get current flow control settings, but this is not supported by # all NICs (e.g. vmxnet3 does not support is) |