public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH-SERIE ifupdown2/common] disable rx-vlan-filter on iface in vlan-aware-bridge
@ 2023-06-23  9:02 Alexandre Derumier
  2023-06-23  9:02 ` [pve-devel] [PATCH ifupdown2 1/2] add ethtool as depend Alexandre Derumier
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Alexandre Derumier @ 2023-06-23  9:02 UTC (permalink / raw)
  To: pve-devel

Hi,

Some nics like mellanox connect-x  or intel i40e don't work with vlan-aware-bridge
when too many vlans are defined.
Depend of the model, connectx-3 is limited to 64 vlans, connect-x4 to 128vlans
https://forum.proxmox.com/threads/proxmox-7-and-mellanox-connectx4-and-vlan-aware-bridge.104926/#post-555269

i40e seem to throw errors like
Jan 18 14:44:27 jupiter kernel: [ 145.060365] i40e 0000:3d:00.0: Error I40E_AQ_RC_ENOSPC, forcing overflow promiscuous on PF
https://forum.proxmox.com/threads/error-i40e_aq_rc_enospc-forcing-overflow-promiscuous-on-pf.62875/
https://forum.proxmox.com/threads/proxmox-8-and-i40e-driver-kernel-6-2.129364/

rx-vlan-filter is only a protection to drop packets with unknown vlan at nic level.
(not related to vlan offloading, where nic can support any number of vlan)

When vlan-aware is enabled, bridge is already doing the vlan filtering, so it's pretty safe to disable it.
(AFAIK, it was not enabled on proxmox 5, as I didn't have mellanox problem at this time)

This patch serie add support to ifupdown2 to "rx-vlan-filter" and add ethtool as depend
and rx-vlan-filter is added to /etc/network/interfaces on phys nic if the nic is port of vlan aware bridge.
(or slave of bond port of vlan-aware-bridge)

fix:
https://bugzilla.proxmox.com/show_bug.cgi?id=2329
https://bugzilla.proxmox.com/show_bug.cgi?id=3893

(maybe they are other related bug reports)


ifupdown2:

Alexandre Derumier (2):
  add ethtool as depend
  patch: ethtool: add rx-vlan-filter support

 debian/control                                |  4 +-
 debian/patches/series                         |  1 +
 ...01-addons-ethtool-add-rx-vlan-filter.patch | 43 +++++++++++++++++++
 ifupdown2                                     |  2 +-
 4 files changed, 47 insertions(+), 3 deletions(-)
 create mode 100644 debian/patches/upstream/0001-addons-ethtool-add-rx-vlan-filter.patch

pve-common:

Alexandre Derumier (1):
  network_interfaces: disable rx-vlan-filter for physical interfaces
    ports of a vlan-aware bridge

 src/PVE/INotify.pm | 2 ++
 1 file changed, 2 insertions(+)


-- 
2.39.2




^ permalink raw reply	[flat|nested] 7+ messages in thread

* [pve-devel] [PATCH ifupdown2 1/2] add ethtool as depend
  2023-06-23  9:02 [pve-devel] [PATCH-SERIE ifupdown2/common] disable rx-vlan-filter on iface in vlan-aware-bridge Alexandre Derumier
@ 2023-06-23  9:02 ` Alexandre Derumier
  2023-06-26 18:43   ` [pve-devel] applied: " Thomas Lamprecht
  2023-06-23  9:02 ` [pve-devel] [PATCH pve-common 1/1] network_interfaces: disable rx-vlan-filter for physical interfaces ports of a vlan-aware bridge Alexandre Derumier
  2023-06-23  9:02 ` [pve-devel] [PATCH ifupdown2 2/2] patch: ethtool: add rx-vlan-filter support Alexandre Derumier
  2 siblings, 1 reply; 7+ messages in thread
From: Alexandre Derumier @ 2023-06-23  9:02 UTC (permalink / raw)
  To: pve-devel

some users need to disable some buggy features for their nic,
install ethtool by default

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
---
 debian/control | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/debian/control b/debian/control
index 4eea122..29eef2e 100644
--- a/debian/control
+++ b/debian/control
@@ -17,8 +17,8 @@ Architecture: all
 Provides: ifupdown
 Conflicts: ifupdown
 Replaces: ifupdown
-Depends: ${python3:Depends}, ${misc:Depends}, iproute2, python3-six, python3-setuptools, python3-systemd
-Suggests: isc-dhcp-client, bridge-utils, ethtool, python3-gvgen, python3-mako
+Depends: ${python3:Depends}, ${misc:Depends}, iproute2, python3-six, python3-setuptools, python3-systemd, ethtool
+Suggests: isc-dhcp-client, bridge-utils, python3-gvgen, python3-mako
 Description: Network Interface Management tool similar to ifupdown
  ifupdown2 is ifupdown re-written in Python. It replaces ifupdown and provides
  the same user interface as ifupdown for network interface configuration.
-- 
2.39.2




^ permalink raw reply	[flat|nested] 7+ messages in thread

* [pve-devel] [PATCH pve-common 1/1] network_interfaces: disable rx-vlan-filter for physical interfaces ports of a vlan-aware bridge
  2023-06-23  9:02 [pve-devel] [PATCH-SERIE ifupdown2/common] disable rx-vlan-filter on iface in vlan-aware-bridge Alexandre Derumier
  2023-06-23  9:02 ` [pve-devel] [PATCH ifupdown2 1/2] add ethtool as depend Alexandre Derumier
@ 2023-06-23  9:02 ` Alexandre Derumier
  2023-06-26 18:46   ` Thomas Lamprecht
  2023-06-23  9:02 ` [pve-devel] [PATCH ifupdown2 2/2] patch: ethtool: add rx-vlan-filter support Alexandre Derumier
  2 siblings, 1 reply; 7+ messages in thread
From: Alexandre Derumier @ 2023-06-23  9:02 UTC (permalink / raw)
  To: pve-devel

some nic like mellanox connectx or intel i40e don't work well vlan-aware bridge
because they are limited in number of vlan filtering in hardware

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
---
 src/PVE/INotify.pm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/PVE/INotify.pm b/src/PVE/INotify.pm
index c86c2de..c4dd85d 100644
--- a/src/PVE/INotify.pm
+++ b/src/PVE/INotify.pm
@@ -1668,6 +1668,8 @@ sub __write_etc_network_interfaces {
 	$iface = $bondslaves->{$iface} if $bondslaves->{$iface};
 	if ($bridgeports->{$iface} && $bridges->{$bridgeports->{$iface}}->{bridge_vlan_aware}) {
 	    $ifaces->{$phys_iface}->{'rx-vlan-filter'} = 'off' if !defined($ifaces->{$phys_iface}->{'rx-vlan-filter'});
+	} else {
+	    delete $ifaces->{$phys_iface}->{'rx-vlan-filter'};
 	}
     }
 
-- 
2.39.2




^ permalink raw reply	[flat|nested] 7+ messages in thread

* [pve-devel] [PATCH ifupdown2 2/2] patch: ethtool: add rx-vlan-filter support
  2023-06-23  9:02 [pve-devel] [PATCH-SERIE ifupdown2/common] disable rx-vlan-filter on iface in vlan-aware-bridge Alexandre Derumier
  2023-06-23  9:02 ` [pve-devel] [PATCH ifupdown2 1/2] add ethtool as depend Alexandre Derumier
  2023-06-23  9:02 ` [pve-devel] [PATCH pve-common 1/1] network_interfaces: disable rx-vlan-filter for physical interfaces ports of a vlan-aware bridge Alexandre Derumier
@ 2023-06-23  9:02 ` Alexandre Derumier
  2023-06-26 18:42   ` Thomas Lamprecht
  2 siblings, 1 reply; 7+ messages in thread
From: Alexandre Derumier @ 2023-06-23  9:02 UTC (permalink / raw)
  To: pve-devel

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>
---
 debian/patches/series                         |  1 +
 ...01-addons-ethtool-add-rx-vlan-filter.patch | 43 +++++++++++++++++++
 ifupdown2                                     |  2 +-
 3 files changed, 45 insertions(+), 1 deletion(-)
 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 <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
+
diff --git a/ifupdown2 b/ifupdown2
index a052254..a087295 160000
--- a/ifupdown2
+++ b/ifupdown2
@@ -1 +1 @@
-Subproject commit a0522546b848435115a20eb647f87ade01761a33
+Subproject commit a087295ba496680b81ecafe72f999d4e9076e737
-- 
2.39.2




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [pve-devel] [PATCH ifupdown2 2/2] patch: ethtool: add rx-vlan-filter support
  2023-06-23  9:02 ` [pve-devel] [PATCH ifupdown2 2/2] patch: ethtool: add rx-vlan-filter support Alexandre Derumier
@ 2023-06-26 18:42   ` Thomas Lamprecht
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Lamprecht @ 2023-06-26 18:42 UTC (permalink / raw)
  To: Proxmox VE development discussion, Alexandre Derumier

Am 23/06/2023 um 11:02 schrieb Alexandre Derumier:
> 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>
> ---
>  debian/patches/series                         |  1 +
>  ...01-addons-ethtool-add-rx-vlan-filter.patch | 43 +++++++++++++++++++
>  ifupdown2                                     |  2 +-
>  3 files changed, 45 insertions(+), 1 deletion(-)
>  create mode 100644 debian/patches/upstream/0001-addons-ethtool-add-rx-vlan-filter.patch
> 

applied, thanks - but..

> diff --git a/ifupdown2 b/ifupdown2
> index a052254..a087295 160000
> --- a/ifupdown2
> +++ b/ifupdown2
> @@ -1 +1 @@
> -Subproject commit a0522546b848435115a20eb647f87ade01761a33
> +Subproject commit a087295ba496680b81ecafe72f999d4e9076e737

..the submodule commit change seems wrong though, you change it here to some
non-upstream commit and in the "import traceback" patch you change it back
again.

I dropped this here and ammend your patch.




^ permalink raw reply	[flat|nested] 7+ messages in thread

* [pve-devel] applied:  [PATCH ifupdown2 1/2] add ethtool as depend
  2023-06-23  9:02 ` [pve-devel] [PATCH ifupdown2 1/2] add ethtool as depend Alexandre Derumier
@ 2023-06-26 18:43   ` Thomas Lamprecht
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Lamprecht @ 2023-06-26 18:43 UTC (permalink / raw)
  To: Proxmox VE development discussion, Alexandre Derumier

Am 23/06/2023 um 11:02 schrieb Alexandre Derumier:
> some users need to disable some buggy features for their nic,
> install ethtool by default
> 
> Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
> ---
>  debian/control | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
>

applied, thanks!




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [pve-devel] [PATCH pve-common 1/1] network_interfaces: disable rx-vlan-filter for physical interfaces ports of a vlan-aware bridge
  2023-06-23  9:02 ` [pve-devel] [PATCH pve-common 1/1] network_interfaces: disable rx-vlan-filter for physical interfaces ports of a vlan-aware bridge Alexandre Derumier
@ 2023-06-26 18:46   ` Thomas Lamprecht
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Lamprecht @ 2023-06-26 18:46 UTC (permalink / raw)
  To: Proxmox VE development discussion, Alexandre Derumier

Am 23/06/2023 um 11:02 schrieb Alexandre Derumier:
> some nic like mellanox connectx or intel i40e don't work well vlan-aware bridge
> because they are limited in number of vlan filtering in hardware
> 
> Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
> ---
>  src/PVE/INotify.pm | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/src/PVE/INotify.pm b/src/PVE/INotify.pm
> index c86c2de..c4dd85d 100644
> --- a/src/PVE/INotify.pm
> +++ b/src/PVE/INotify.pm
> @@ -1668,6 +1668,8 @@ sub __write_etc_network_interfaces {
>  	$iface = $bondslaves->{$iface} if $bondslaves->{$iface};
>  	if ($bridgeports->{$iface} && $bridges->{$bridgeports->{$iface}}->{bridge_vlan_aware}) {
>  	    $ifaces->{$phys_iface}->{'rx-vlan-filter'} = 'off' if !defined($ifaces->{$phys_iface}->{'rx-vlan-filter'});
> +	} else {
> +	    delete $ifaces->{$phys_iface}->{'rx-vlan-filter'};

this doesn't apply, the diff context make it seems like you got more lines
on top - extra patches/commits?

>  	}
>      }
>  





^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-06-26 18:46 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-23  9:02 [pve-devel] [PATCH-SERIE ifupdown2/common] disable rx-vlan-filter on iface in vlan-aware-bridge Alexandre Derumier
2023-06-23  9:02 ` [pve-devel] [PATCH ifupdown2 1/2] add ethtool as depend Alexandre Derumier
2023-06-26 18:43   ` [pve-devel] applied: " Thomas Lamprecht
2023-06-23  9:02 ` [pve-devel] [PATCH pve-common 1/1] network_interfaces: disable rx-vlan-filter for physical interfaces ports of a vlan-aware bridge Alexandre Derumier
2023-06-26 18:46   ` Thomas Lamprecht
2023-06-23  9:02 ` [pve-devel] [PATCH ifupdown2 2/2] patch: ethtool: add rx-vlan-filter support Alexandre Derumier
2023-06-26 18:42   ` Thomas Lamprecht

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal