patch: ethtool: add rx-vlan-filter support

to fix nic like mellanox && vlan-aware-bridge

upstream pull request:
https://github.com/CumulusNetworks/ifupdown2/pull/266

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
Alexandre Derumier 2023-06-23 11:02:58 +02:00 committed by Thomas Lamprecht
parent f82f684a21
commit 254c66ce10
2 changed files with 44 additions and 0 deletions

View File

@ -8,3 +8,4 @@ pve/0007-allow-vlan-tag-inside-vxlan-tunnel.patch
pve/0008-lacp-bond-remove-bond-min-links-0-warning.patch
pve/0009-gvgeb-fix-python-interpreter-shebang.patch
upstream/0001-add-ipv6-slaac-support-inet6-auto-accept_ra.patch
upstream/0001-addons-ethtool-add-rx-vlan-filter.patch

View File

@ -0,0 +1,43 @@
From a087295ba496680b81ecafe72f999d4e9076e737 Mon Sep 17 00:00:00 2001
From: Alexandre Derumier <aderumier@odiso.com>
Date: Fri, 23 Jun 2023 09:13:39 +0200
Subject: [PATCH] addons: ethtool: add rx-vlan-filter
some nic like mellanox connectx don't work well with
vlan aware bridge && rx-vlan-filter.
(They are limited in number of vlans in hardware filtering,
and break with big number of vlans like bridge-vids 2-4096)
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
---
ifupdown2/addons/ethtool.py | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/ifupdown2/addons/ethtool.py b/ifupdown2/addons/ethtool.py
index 2134329..8a79472 100644
--- a/ifupdown2/addons/ethtool.py
+++ b/ifupdown2/addons/ethtool.py
@@ -117,6 +117,12 @@ class ethtool(Addon, moduleBase):
'validvals': ['on', 'off'],
'default': 'varies by interface'
},
+ 'rx-vlan-filter': {
+ 'help': 'RX Vlan Filter',
+ 'example': ['rx-vlan-filter off'],
+ 'validvals': ['on', 'off'],
+ 'default': 'varies by interface'
+ },
'ring-rx': {
'help': 'Ring RX Parameter',
'example': ['ring-rx 512'],
@@ -384,6 +390,7 @@ class ethtool(Addon, moduleBase):
self.do_offload_settings(ifaceobj, 'ufo-offload', 'ufo')
self.do_offload_settings(ifaceobj, 'tx-offload', 'tx')
self.do_offload_settings(ifaceobj, 'rx-offload', 'rx')
+ self.do_offload_settings(ifaceobj, 'rx-vlan-filter', 'rx-vlan-filter')
def _pre_down(self, ifaceobj):
pass #self._post_up(ifaceobj,operation="_pre_down")
--
2.39.2