summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKyle McClammy <kylem@serverforge.org>2026-08-03 17:08:40 -0400
committerKyle McClammy <kylem@serverforge.org>2026-08-11 18:49:17 -0400
commit47ce1c8e1df6382f6aa400d2bc55038adc63dfa0 (patch)
treef5d7197727521a07f490845c77bcfbd725a253ab /src
parentdd2673bf9ad36ea7ecb6998b71f318516b95e8d8 (diff)
downloadvyos-1x-47ce1c8e1df6382f6aa400d2bc55038adc63dfa0.tar.gz
vyos-1x-47ce1c8e1df6382f6aa400d2bc55038adc63dfa0.zip
interfaces: T9158: add rx offload option
Add support for receive checksum offload on ethernet interfaces.
Diffstat (limited to 'src')
-rw-r--r--src/activation-scripts/20-ethernet-offload.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/activation-scripts/20-ethernet-offload.py b/src/activation-scripts/20-ethernet-offload.py
index 9f61f6d8f..b0dab5605 100644
--- a/src/activation-scripts/20-ethernet-offload.py
+++ b/src/activation-scripts/20-ethernet-offload.py
@@ -63,6 +63,15 @@ def activate(config: ConfigTree):
elif enabled and not fixed:
config.set(base + [ifname, 'offload', 'lro'])
+ # If RX is enabled by the Kernel - we reflect this on the CLI. If RX is
+ # enabled via CLI but not supported by the NIC - we remove it from the CLI
+ configured = config.exists(base + [ifname, 'offload', 'rx'])
+ enabled, fixed = eth.get_rx_checksumming()
+ if configured and fixed:
+ config.delete(base + [ifname, 'offload', 'rx'])
+ elif enabled and not fixed:
+ config.set(base + [ifname, 'offload', 'rx'])
+
# If SG is enabled by the Kernel - we reflect this on the CLI. If SG is
# enabled via CLI but not supported by the NIC - we remove it from the CLI
configured = config.exists(base + [ifname, 'offload', 'sg'])