all lists on 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal