From 254c66ce1073d1e4ecd9ccac03a4c1142d7bfa54 Mon Sep 17 00:00:00 2001 From: Alexandre Derumier Date: Fri, 23 Jun 2023 11:02:58 +0200 Subject: [PATCH] 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 Signed-off-by: Thomas Lamprecht --- debian/patches/series | 1 + ...01-addons-ethtool-add-rx-vlan-filter.patch | 43 +++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 debian/patches/upstream/0001-addons-ethtool-add-rx-vlan-filter.patch diff --git a/debian/patches/series b/debian/patches/series index 628fed1..9f2936f 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -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 diff --git a/debian/patches/upstream/0001-addons-ethtool-add-rx-vlan-filter.patch b/debian/patches/upstream/0001-addons-ethtool-add-rx-vlan-filter.patch new file mode 100644 index 0000000..aad6c24 --- /dev/null +++ b/debian/patches/upstream/0001-addons-ethtool-add-rx-vlan-filter.patch @@ -0,0 +1,43 @@ +From a087295ba496680b81ecafe72f999d4e9076e737 Mon Sep 17 00:00:00 2001 +From: Alexandre Derumier +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 +--- + 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 +