diff options
author | Christian Breunig <christian@breunig.cc> | 2023-05-12 21:42:32 +0200 |
---|---|---|
committer | Christian Breunig <christian@breunig.cc> | 2023-05-12 21:42:32 +0200 |
commit | aea89228d8c14ae0a11c5506a9c636200be97cfb (patch) | |
tree | a7acb7c7a83632a1bcd25fb3e25fed34851264dc /python/vyos | |
parent | ace81a498fe6b846b07ff2b3cb83cc5dea42b263 (diff) | |
download | vyos-1x-aea89228d8c14ae0a11c5506a9c636200be97cfb.tar.gz vyos-1x-aea89228d8c14ae0a11c5506a9c636200be97cfb.zip |
ethernet: T3891: add conditional code-path when doing speed/duplex changes
There is no need for the backend code to call ethtool and try to change speed or
duplex settings every time there is a change in the interface configuration,
but no change for the speed/duplex subnodes. This also makes the commit itself
faster when working with ethernet interfaces.
Bonus: no repeating CLI messages that the driver does not support speed/duplex
changes, as we do not change anything here.
Extension to commit f2ecc9710 ("ethernet: T3891: honor auto-negotiation support
per NIC")
Diffstat (limited to 'python/vyos')
-rw-r--r-- | python/vyos/ifconfig/ethernet.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/python/vyos/ifconfig/ethernet.py b/python/vyos/ifconfig/ethernet.py index 6a49c022a..30bea3b86 100644 --- a/python/vyos/ifconfig/ethernet.py +++ b/python/vyos/ifconfig/ethernet.py @@ -374,10 +374,11 @@ class EthernetIf(Interface): self.set_tso(dict_search('offload.tso', config) != None) # Set physical interface speed and duplex - if {'speed', 'duplex'} <= set(config): - speed = config.get('speed') - duplex = config.get('duplex') - self.set_speed_duplex(speed, duplex) + if 'speed_duplex_changed' in config: + if {'speed', 'duplex'} <= set(config): + speed = config.get('speed') + duplex = config.get('duplex') + self.set_speed_duplex(speed, duplex) # Set interface ring buffer if 'ring_buffer' in config: |