* [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