* [PATCH net-next] i40e: Avoid repeating RX filter warning
@ 2026-05-14 0:37 Chris Packham
2026-05-14 9:06 ` [Intel-wired-lan] " Loktionov, Aleksandr
` (4 more replies)
0 siblings, 5 replies; 8+ messages in thread
From: Chris Packham @ 2026-05-14 0:37 UTC (permalink / raw)
To: anthony.l.nguyen, przemyslaw.kitszel, andrew+netdev, davem,
edumazet, kuba, pabeni, aleksander.lobakin
Cc: intel-wired-lan, netdev, linux-kernel, Blair Steven, Carl Smith,
Chris Packham
When the i40e runs out of space for RX filters the driver switches to
promiscuous mode and warns that it has done so. In scenarios with a
large number of these filters this can generate a lot of warnings. For
example:
$ dmesg -c > /dev/null
$ ip link add dev br0 type bridge vlan_filtering 1 vlan_default_pvid 1
$ ip link set dev eth7 master br0
$ bridge vlan add vid 1 dev eth7 pvid untagged self
$ bridge vlan add vid 2-4094 dev eth7 tagged
$ dmesg
[ 25.601705] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing overflow promiscuous on PF
[ 25.601833] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing overflow promiscuous on PF
[ 25.601961] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing overflow promiscuous on PF
[ 25.602088] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing overflow promiscuous on PF
[ 25.602216] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing overflow promiscuous on PF
[ 25.602344] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing overflow promiscuous on PF
...
Use test_and_set_bit() so that the warning is only issued when the
driver enables promiscuous mode and not on the addition of subsequent RX
filters.
Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
---
Resend with net-next tag
drivers/net/ethernet/intel/i40e/i40e_main.c | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 926d001b2150..8741990b5a5e 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -2408,10 +2408,11 @@ void i40e_aqc_add_filters(struct i40e_vsi *vsi, const char *vsi_name,
if (fcnt != num_add) {
if (vsi->type == I40E_VSI_MAIN) {
- set_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state);
- dev_warn(&vsi->back->pdev->dev,
- "Error %s adding RX filters on %s, promiscuous mode forced on\n",
- libie_aq_str(aq_status), vsi_name);
+ if (!test_and_set_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state)) {
+ dev_warn(&vsi->back->pdev->dev,
+ "Error %s adding RX filters on %s, promiscuous mode forced on\n",
+ libie_aq_str(aq_status), vsi_name);
+ }
} else if (vsi->type == I40E_VSI_SRIOV ||
vsi->type == I40E_VSI_VMDQ1 ||
vsi->type == I40E_VSI_VMDQ2) {
@@ -2461,10 +2462,11 @@ i40e_aqc_broadcast_filter(struct i40e_vsi *vsi, const char *vsi_name,
}
if (aq_ret) {
- set_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state);
- dev_warn(&vsi->back->pdev->dev,
- "Error %s, forcing overflow promiscuous on %s\n",
- libie_aq_str(hw->aq.asq_last_status), vsi_name);
+ if (!test_and_set_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state)) {
+ dev_warn(&vsi->back->pdev->dev,
+ "Error %s, forcing overflow promiscuous on %s\n",
+ libie_aq_str(hw->aq.asq_last_status), vsi_name);
+ }
}
return aq_ret;
--
2.54.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* RE: [Intel-wired-lan] [PATCH net-next] i40e: Avoid repeating RX filter warning
2026-05-14 0:37 [PATCH net-next] i40e: Avoid repeating RX filter warning Chris Packham
@ 2026-05-14 9:06 ` Loktionov, Aleksandr
2026-05-18 18:32 ` Simon Horman
` (3 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: Loktionov, Aleksandr @ 2026-05-14 9:06 UTC (permalink / raw)
To: Chris Packham, Nguyen, Anthony L, Kitszel, Przemyslaw,
andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com,
kuba@kernel.org, pabeni@redhat.com, Lobakin, Aleksander
Cc: intel-wired-lan@lists.osuosl.org, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, Blair Steven, Carl Smith
> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf
> Of Chris Packham
> Sent: Thursday, May 14, 2026 2:38 AM
> To: Nguyen, Anthony L <anthony.l.nguyen@intel.com>; Kitszel,
> Przemyslaw <przemyslaw.kitszel@intel.com>; andrew+netdev@lunn.ch;
> davem@davemloft.net; edumazet@google.com; kuba@kernel.org;
> pabeni@redhat.com; Lobakin, Aleksander <aleksander.lobakin@intel.com>
> Cc: intel-wired-lan@lists.osuosl.org; netdev@vger.kernel.org; linux-
> kernel@vger.kernel.org; Blair Steven
> <blair.steven@alliedtelesis.co.nz>; Carl Smith
> <carl.smith@alliedtelesis.co.nz>; Chris Packham
> <chris.packham@alliedtelesis.co.nz>
> Subject: [Intel-wired-lan] [PATCH net-next] i40e: Avoid repeating RX
> filter warning
>
> When the i40e runs out of space for RX filters the driver switches to
> promiscuous mode and warns that it has done so. In scenarios with a
> large number of these filters this can generate a lot of warnings. For
> example:
>
> $ dmesg -c > /dev/null
> $ ip link add dev br0 type bridge vlan_filtering 1 vlan_default_pvid
> 1
> $ ip link set dev eth7 master br0
> $ bridge vlan add vid 1 dev eth7 pvid untagged self
> $ bridge vlan add vid 2-4094 dev eth7 tagged
> $ dmesg
> [ 25.601705] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing
> overflow promiscuous on PF
> [ 25.601833] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing
> overflow promiscuous on PF
> [ 25.601961] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing
> overflow promiscuous on PF
> [ 25.602088] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing
> overflow promiscuous on PF
> [ 25.602216] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing
> overflow promiscuous on PF
> [ 25.602344] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing
> overflow promiscuous on PF
> ...
>
> Use test_and_set_bit() so that the warning is only issued when the
> driver enables promiscuous mode and not on the addition of subsequent
> RX filters.
>
> Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
> ---
>
> Resend with net-next tag
>
> drivers/net/ethernet/intel/i40e/i40e_main.c | 18 ++++++++++--------
> 1 file changed, 10 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c
> b/drivers/net/ethernet/intel/i40e/i40e_main.c
> index 926d001b2150..8741990b5a5e 100644
> --- a/drivers/net/ethernet/intel/i40e/i40e_main.c
> +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
> @@ -2408,10 +2408,11 @@ void i40e_aqc_add_filters(struct i40e_vsi
> *vsi, const char *vsi_name,
>
> if (fcnt != num_add) {
> if (vsi->type == I40E_VSI_MAIN) {
> - set_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state);
> - dev_warn(&vsi->back->pdev->dev,
> - "Error %s adding RX filters on %s,
> promiscuous mode forced on\n",
> - libie_aq_str(aq_status), vsi_name);
> + if
> (!test_and_set_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state)) {
> + dev_warn(&vsi->back->pdev->dev,
> + "Error %s adding RX filters on %s,
> promiscuous mode forced on\n",
> + libie_aq_str(aq_status), vsi_name);
> + }
> } else if (vsi->type == I40E_VSI_SRIOV ||
> vsi->type == I40E_VSI_VMDQ1 ||
> vsi->type == I40E_VSI_VMDQ2) {
> @@ -2461,10 +2462,11 @@ i40e_aqc_broadcast_filter(struct i40e_vsi
> *vsi, const char *vsi_name,
> }
>
> if (aq_ret) {
> - set_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state);
> - dev_warn(&vsi->back->pdev->dev,
> - "Error %s, forcing overflow promiscuous on
> %s\n",
> - libie_aq_str(hw->aq.asq_last_status), vsi_name);
> + if (!test_and_set_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi-
> >state)) {
> + dev_warn(&vsi->back->pdev->dev,
> + "Error %s, forcing overflow promiscuous on
> %s\n",
> + libie_aq_str(hw->aq.asq_last_status),
> vsi_name);
> + }
> }
>
> return aq_ret;
> --
> 2.54.0
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH net-next] i40e: Avoid repeating RX filter warning
2026-05-14 0:37 [PATCH net-next] i40e: Avoid repeating RX filter warning Chris Packham
2026-05-14 9:06 ` [Intel-wired-lan] " Loktionov, Aleksandr
@ 2026-05-18 18:32 ` Simon Horman
2026-07-01 5:23 ` [Intel-wired-lan] " Rinitha, SX
` (2 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: Simon Horman @ 2026-05-18 18:32 UTC (permalink / raw)
To: Chris Packham
Cc: anthony.l.nguyen, przemyslaw.kitszel, andrew+netdev, davem,
edumazet, kuba, pabeni, aleksander.lobakin, intel-wired-lan,
netdev, linux-kernel, Blair Steven, Carl Smith
On Thu, May 14, 2026 at 12:37:33PM +1200, Chris Packham wrote:
> When the i40e runs out of space for RX filters the driver switches to
> promiscuous mode and warns that it has done so. In scenarios with a
> large number of these filters this can generate a lot of warnings. For
> example:
>
> $ dmesg -c > /dev/null
> $ ip link add dev br0 type bridge vlan_filtering 1 vlan_default_pvid 1
> $ ip link set dev eth7 master br0
> $ bridge vlan add vid 1 dev eth7 pvid untagged self
> $ bridge vlan add vid 2-4094 dev eth7 tagged
> $ dmesg
> [ 25.601705] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing overflow promiscuous on PF
> [ 25.601833] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing overflow promiscuous on PF
> [ 25.601961] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing overflow promiscuous on PF
> [ 25.602088] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing overflow promiscuous on PF
> [ 25.602216] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing overflow promiscuous on PF
> [ 25.602344] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing overflow promiscuous on PF
> ...
>
> Use test_and_set_bit() so that the warning is only issued when the
> driver enables promiscuous mode and not on the addition of subsequent RX
> filters.
>
> Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
> ---
>
> Resend with net-next tag
Reviewed-by: Simon Horman <horms@kernel.org>
^ permalink raw reply [flat|nested] 8+ messages in thread
* RE: [Intel-wired-lan] [PATCH net-next] i40e: Avoid repeating RX filter warning
2026-05-14 0:37 [PATCH net-next] i40e: Avoid repeating RX filter warning Chris Packham
2026-05-14 9:06 ` [Intel-wired-lan] " Loktionov, Aleksandr
2026-05-18 18:32 ` Simon Horman
@ 2026-07-01 5:23 ` Rinitha, SX
2026-07-29 23:53 ` Chris Packham
2026-07-30 13:52 ` [Intel-wired-lan] " Loktionov, Aleksandr
4 siblings, 0 replies; 8+ messages in thread
From: Rinitha, SX @ 2026-07-01 5:23 UTC (permalink / raw)
To: Chris Packham, Nguyen, Anthony L, Kitszel, Przemyslaw,
andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com,
kuba@kernel.org, pabeni@redhat.com, Lobakin, Aleksander
Cc: intel-wired-lan@lists.osuosl.org, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, Blair Steven, Carl Smith
> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of Chris Packham
> Sent: 14 May 2026 06:08
> To: Nguyen, Anthony L <anthony.l.nguyen@intel.com>; Kitszel, Przemyslaw <przemyslaw.kitszel@intel.com>; andrew+netdev@lunn.ch; davem@davemloft.net; edumazet@google.com; kuba@kernel.org; pabeni@redhat.com; Lobakin, Aleksander <aleksander.lobakin@intel.com>
> Cc: intel-wired-lan@lists.osuosl.org; netdev@vger.kernel.org; linux-kernel@vger.kernel.org; Blair Steven <blair.steven@alliedtelesis.co.nz>; Carl Smith <carl.smith@alliedtelesis.co.nz>; Chris Packham <chris.packham@alliedtelesis.co.nz>
> Subject: [Intel-wired-lan] [PATCH net-next] i40e: Avoid repeating RX filter warning
>
> When the i40e runs out of space for RX filters the driver switches to promiscuous mode and warns that it has done so. In scenarios with a large number of these filters this can generate a lot of warnings. For
example:
>
> $ dmesg -c > /dev/null
> $ ip link add dev br0 type bridge vlan_filtering 1 vlan_default_pvid 1
> $ ip link set dev eth7 master br0
> $ bridge vlan add vid 1 dev eth7 pvid untagged self
> $ bridge vlan add vid 2-4094 dev eth7 tagged
> $ dmesg
> [ 25.601705] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing overflow promiscuous on PF
> [ 25.601833] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing overflow promiscuous on PF
> [ 25.601961] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing overflow promiscuous on PF
> [ 25.602088] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing overflow promiscuous on PF
> [ 25.602216] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing overflow promiscuous on PF
> [ 25.602344] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing overflow promiscuous on PF
> ...
>
> Use test_and_set_bit() so that the warning is only issued when the driver enables promiscuous mode and not on the addition of subsequent RX filters.
>
> Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
> ---
>
> Resend with net-next tag
>
> drivers/net/ethernet/intel/i40e/i40e_main.c | 18 ++++++++++--------
> 1 file changed, 10 insertions(+), 8 deletions(-)
>
Tested-by: Rinitha S <sx.rinitha@intel.com> (A Contingent worker at Intel)
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH net-next] i40e: Avoid repeating RX filter warning
2026-05-14 0:37 [PATCH net-next] i40e: Avoid repeating RX filter warning Chris Packham
` (2 preceding siblings ...)
2026-07-01 5:23 ` [Intel-wired-lan] " Rinitha, SX
@ 2026-07-29 23:53 ` Chris Packham
2026-07-30 20:13 ` Tony Nguyen
2026-07-30 13:52 ` [Intel-wired-lan] " Loktionov, Aleksandr
4 siblings, 1 reply; 8+ messages in thread
From: Chris Packham @ 2026-07-29 23:53 UTC (permalink / raw)
To: anthony.l.nguyen@intel.com, przemyslaw.kitszel@intel.com,
andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com,
kuba@kernel.org, pabeni@redhat.com, aleksander.lobakin@intel.com
Cc: intel-wired-lan@lists.osuosl.org, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, Blair Steven, Carl Smith
Hi All,
On 14/05/2026 12:37, Chris Packham wrote:
> When the i40e runs out of space for RX filters the driver switches to
> promiscuous mode and warns that it has done so. In scenarios with a
> large number of these filters this can generate a lot of warnings. For
> example:
>
> $ dmesg -c > /dev/null
> $ ip link add dev br0 type bridge vlan_filtering 1 vlan_default_pvid 1
> $ ip link set dev eth7 master br0
> $ bridge vlan add vid 1 dev eth7 pvid untagged self
> $ bridge vlan add vid 2-4094 dev eth7 tagged
> $ dmesg
> [ 25.601705] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing overflow promiscuous on PF
> [ 25.601833] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing overflow promiscuous on PF
> [ 25.601961] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing overflow promiscuous on PF
> [ 25.602088] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing overflow promiscuous on PF
> [ 25.602216] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing overflow promiscuous on PF
> [ 25.602344] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing overflow promiscuous on PF
> ...
>
> Use test_and_set_bit() so that the warning is only issued when the
> driver enables promiscuous mode and not on the addition of subsequent RX
> filters.
>
> Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
> ---
>
> Resend with net-next tag
Has this fallen through the cracks? I've seen some Reviewed-bys but it
doesn't seem to have been picked up.
>
> drivers/net/ethernet/intel/i40e/i40e_main.c | 18 ++++++++++--------
> 1 file changed, 10 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
> index 926d001b2150..8741990b5a5e 100644
> --- a/drivers/net/ethernet/intel/i40e/i40e_main.c
> +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
> @@ -2408,10 +2408,11 @@ void i40e_aqc_add_filters(struct i40e_vsi *vsi, const char *vsi_name,
>
> if (fcnt != num_add) {
> if (vsi->type == I40E_VSI_MAIN) {
> - set_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state);
> - dev_warn(&vsi->back->pdev->dev,
> - "Error %s adding RX filters on %s, promiscuous mode forced on\n",
> - libie_aq_str(aq_status), vsi_name);
> + if (!test_and_set_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state)) {
> + dev_warn(&vsi->back->pdev->dev,
> + "Error %s adding RX filters on %s, promiscuous mode forced on\n",
> + libie_aq_str(aq_status), vsi_name);
> + }
> } else if (vsi->type == I40E_VSI_SRIOV ||
> vsi->type == I40E_VSI_VMDQ1 ||
> vsi->type == I40E_VSI_VMDQ2) {
> @@ -2461,10 +2462,11 @@ i40e_aqc_broadcast_filter(struct i40e_vsi *vsi, const char *vsi_name,
> }
>
> if (aq_ret) {
> - set_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state);
> - dev_warn(&vsi->back->pdev->dev,
> - "Error %s, forcing overflow promiscuous on %s\n",
> - libie_aq_str(hw->aq.asq_last_status), vsi_name);
> + if (!test_and_set_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state)) {
> + dev_warn(&vsi->back->pdev->dev,
> + "Error %s, forcing overflow promiscuous on %s\n",
> + libie_aq_str(hw->aq.asq_last_status), vsi_name);
> + }
> }
>
> return aq_ret;
^ permalink raw reply [flat|nested] 8+ messages in thread
* RE: [Intel-wired-lan] [PATCH net-next] i40e: Avoid repeating RX filter warning
2026-05-14 0:37 [PATCH net-next] i40e: Avoid repeating RX filter warning Chris Packham
` (3 preceding siblings ...)
2026-07-29 23:53 ` Chris Packham
@ 2026-07-30 13:52 ` Loktionov, Aleksandr
4 siblings, 0 replies; 8+ messages in thread
From: Loktionov, Aleksandr @ 2026-07-30 13:52 UTC (permalink / raw)
To: Chris Packham, Nguyen, Anthony L, Kitszel, Przemyslaw,
andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com,
kuba@kernel.org, pabeni@redhat.com, Lobakin, Aleksander
Cc: intel-wired-lan@lists.osuosl.org, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, Blair Steven, Carl Smith
> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf
> Of Chris Packham
> Sent: Thursday, May 14, 2026 2:38 AM
> To: Nguyen, Anthony L <anthony.l.nguyen@intel.com>; Kitszel,
> Przemyslaw <przemyslaw.kitszel@intel.com>; andrew+netdev@lunn.ch;
> davem@davemloft.net; edumazet@google.com; kuba@kernel.org;
> pabeni@redhat.com; Lobakin, Aleksander <aleksander.lobakin@intel.com>
> Cc: intel-wired-lan@lists.osuosl.org; netdev@vger.kernel.org; linux-
> kernel@vger.kernel.org; Blair Steven
> <blair.steven@alliedtelesis.co.nz>; Carl Smith
> <carl.smith@alliedtelesis.co.nz>; Chris Packham
> <chris.packham@alliedtelesis.co.nz>
> Subject: [Intel-wired-lan] [PATCH net-next] i40e: Avoid repeating RX
> filter warning
>
> When the i40e runs out of space for RX filters the driver switches to
> promiscuous mode and warns that it has done so. In scenarios with a
> large number of these filters this can generate a lot of warnings. For
> example:
>
> $ dmesg -c > /dev/null
> $ ip link add dev br0 type bridge vlan_filtering 1 vlan_default_pvid
> 1
> $ ip link set dev eth7 master br0
> $ bridge vlan add vid 1 dev eth7 pvid untagged self
> $ bridge vlan add vid 2-4094 dev eth7 tagged
> $ dmesg
> [ 25.601705] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing
> overflow promiscuous on PF
> [ 25.601833] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing
> overflow promiscuous on PF
> [ 25.601961] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing
> overflow promiscuous on PF
> [ 25.602088] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing
> overflow promiscuous on PF
> [ 25.602216] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing
> overflow promiscuous on PF
> [ 25.602344] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing
> overflow promiscuous on PF
> ...
>
> Use test_and_set_bit() so that the warning is only issued when the
> driver enables promiscuous mode and not on the addition of subsequent
> RX filters.
>
> Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
> ---
>
> Resend with net-next tag
>
> drivers/net/ethernet/intel/i40e/i40e_main.c | 18 ++++++++++--------
> 1 file changed, 10 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c
> b/drivers/net/ethernet/intel/i40e/i40e_main.c
> index 926d001b2150..8741990b5a5e 100644
> --- a/drivers/net/ethernet/intel/i40e/i40e_main.c
> +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
> @@ -2408,10 +2408,11 @@ void i40e_aqc_add_filters(struct i40e_vsi
> *vsi, const char *vsi_name,
>
> if (fcnt != num_add) {
> if (vsi->type == I40E_VSI_MAIN) {
> - set_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state);
> - dev_warn(&vsi->back->pdev->dev,
> - "Error %s adding RX filters on %s,
> promiscuous mode forced on\n",
> - libie_aq_str(aq_status), vsi_name);
> + if
> (!test_and_set_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state)) {
> + dev_warn(&vsi->back->pdev->dev,
> + "Error %s adding RX filters on %s,
> promiscuous mode forced on\n",
> + libie_aq_str(aq_status), vsi_name);
> + }
> } else if (vsi->type == I40E_VSI_SRIOV ||
> vsi->type == I40E_VSI_VMDQ1 ||
> vsi->type == I40E_VSI_VMDQ2) {
> @@ -2461,10 +2462,11 @@ i40e_aqc_broadcast_filter(struct i40e_vsi
> *vsi, const char *vsi_name,
> }
>
> if (aq_ret) {
> - set_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state);
> - dev_warn(&vsi->back->pdev->dev,
> - "Error %s, forcing overflow promiscuous on
> %s\n",
> - libie_aq_str(hw->aq.asq_last_status), vsi_name);
> + if (!test_and_set_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi-
> >state)) {
> + dev_warn(&vsi->back->pdev->dev,
> + "Error %s, forcing overflow promiscuous on
> %s\n",
> + libie_aq_str(hw->aq.asq_last_status),
> vsi_name);
> + }
> }
>
> return aq_ret;
> --
> 2.54.0
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH net-next] i40e: Avoid repeating RX filter warning
2026-07-29 23:53 ` Chris Packham
@ 2026-07-30 20:13 ` Tony Nguyen
2026-07-30 20:48 ` Chris Packham
0 siblings, 1 reply; 8+ messages in thread
From: Tony Nguyen @ 2026-07-30 20:13 UTC (permalink / raw)
To: Chris Packham, przemyslaw.kitszel@intel.com,
andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com,
kuba@kernel.org, pabeni@redhat.com, aleksander.lobakin@intel.com
Cc: intel-wired-lan@lists.osuosl.org, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, Blair Steven, Carl Smith
On 7/29/2026 4:53 PM, Chris Packham wrote:
> Hi All,
>
> On 14/05/2026 12:37, Chris Packham wrote:
>> When the i40e runs out of space for RX filters the driver switches to
>> promiscuous mode and warns that it has done so. In scenarios with a
>> large number of these filters this can generate a lot of warnings. For
>> example:
>>
>> $ dmesg -c > /dev/null
>> $ ip link add dev br0 type bridge vlan_filtering 1 vlan_default_pvid 1
>> $ ip link set dev eth7 master br0
>> $ bridge vlan add vid 1 dev eth7 pvid untagged self
>> $ bridge vlan add vid 2-4094 dev eth7 tagged
>> $ dmesg
>> [ 25.601705] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing overflow promiscuous on PF
>> [ 25.601833] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing overflow promiscuous on PF
>> [ 25.601961] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing overflow promiscuous on PF
>> [ 25.602088] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing overflow promiscuous on PF
>> [ 25.602216] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing overflow promiscuous on PF
>> [ 25.602344] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC, forcing overflow promiscuous on PF
>> ...
>>
>> Use test_and_set_bit() so that the warning is only issued when the
>> driver enables promiscuous mode and not on the addition of subsequent RX
>> filters.
>>
>> Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
>> ---
>>
>> Resend with net-next tag
>
> Has this fallen through the cracks? I've seen some Reviewed-bys but it
> doesn't seem to have been picked up.
Hi Chris,
I have it in my queue of patches to send out but I'm working my way to
it. I do hope to have it sent on soon.
Thanks,
Tony
>>
>> drivers/net/ethernet/intel/i40e/i40e_main.c | 18 ++++++++++--------
>> 1 file changed, 10 insertions(+), 8 deletions(-)
>>
>> diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
>> index 926d001b2150..8741990b5a5e 100644
>> --- a/drivers/net/ethernet/intel/i40e/i40e_main.c
>> +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
>> @@ -2408,10 +2408,11 @@ void i40e_aqc_add_filters(struct i40e_vsi *vsi, const char *vsi_name,
>>
>> if (fcnt != num_add) {
>> if (vsi->type == I40E_VSI_MAIN) {
>> - set_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state);
>> - dev_warn(&vsi->back->pdev->dev,
>> - "Error %s adding RX filters on %s, promiscuous mode forced on\n",
>> - libie_aq_str(aq_status), vsi_name);
>> + if (!test_and_set_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state)) {
>> + dev_warn(&vsi->back->pdev->dev,
>> + "Error %s adding RX filters on %s, promiscuous mode forced on\n",
>> + libie_aq_str(aq_status), vsi_name);
>> + }
>> } else if (vsi->type == I40E_VSI_SRIOV ||
>> vsi->type == I40E_VSI_VMDQ1 ||
>> vsi->type == I40E_VSI_VMDQ2) {
>> @@ -2461,10 +2462,11 @@ i40e_aqc_broadcast_filter(struct i40e_vsi *vsi, const char *vsi_name,
>> }
>>
>> if (aq_ret) {
>> - set_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state);
>> - dev_warn(&vsi->back->pdev->dev,
>> - "Error %s, forcing overflow promiscuous on %s\n",
>> - libie_aq_str(hw->aq.asq_last_status), vsi_name);
>> + if (!test_and_set_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state)) {
>> + dev_warn(&vsi->back->pdev->dev,
>> + "Error %s, forcing overflow promiscuous on %s\n",
>> + libie_aq_str(hw->aq.asq_last_status), vsi_name);
>> + }
>> }
>>
>> return aq_ret;
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH net-next] i40e: Avoid repeating RX filter warning
2026-07-30 20:13 ` Tony Nguyen
@ 2026-07-30 20:48 ` Chris Packham
0 siblings, 0 replies; 8+ messages in thread
From: Chris Packham @ 2026-07-30 20:48 UTC (permalink / raw)
To: Tony Nguyen, przemyslaw.kitszel@intel.com, andrew+netdev@lunn.ch,
davem@davemloft.net, edumazet@google.com, kuba@kernel.org,
pabeni@redhat.com, aleksander.lobakin@intel.com
Cc: intel-wired-lan@lists.osuosl.org, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, Blair Steven, Carl Smith
On 31/07/2026 08:13, Tony Nguyen wrote:
>
>
> On 7/29/2026 4:53 PM, Chris Packham wrote:
>> Hi All,
>>
>> On 14/05/2026 12:37, Chris Packham wrote:
>>> When the i40e runs out of space for RX filters the driver switches to
>>> promiscuous mode and warns that it has done so. In scenarios with a
>>> large number of these filters this can generate a lot of warnings. For
>>> example:
>>>
>>> $ dmesg -c > /dev/null
>>> $ ip link add dev br0 type bridge vlan_filtering 1
>>> vlan_default_pvid 1
>>> $ ip link set dev eth7 master br0
>>> $ bridge vlan add vid 1 dev eth7 pvid untagged self
>>> $ bridge vlan add vid 2-4094 dev eth7 tagged
>>> $ dmesg
>>> [ 25.601705] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC,
>>> forcing overflow promiscuous on PF
>>> [ 25.601833] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC,
>>> forcing overflow promiscuous on PF
>>> [ 25.601961] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC,
>>> forcing overflow promiscuous on PF
>>> [ 25.602088] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC,
>>> forcing overflow promiscuous on PF
>>> [ 25.602216] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC,
>>> forcing overflow promiscuous on PF
>>> [ 25.602344] i40e 0000:01:00.1: Error LIBIE_AQ_RC_ENOSPC,
>>> forcing overflow promiscuous on PF
>>> ...
>>>
>>> Use test_and_set_bit() so that the warning is only issued when the
>>> driver enables promiscuous mode and not on the addition of
>>> subsequent RX
>>> filters.
>>>
>>> Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
>>> ---
>>>
>>> Resend with net-next tag
>>
>> Has this fallen through the cracks? I've seen some Reviewed-bys but it
>> doesn't seem to have been picked up.
>
> Hi Chris,
>
> I have it in my queue of patches to send out but I'm working my way to
> it. I do hope to have it sent on soon.
>
> Thanks,
> Tony
Hi Tony,
Thanks for confirming that. No hurry just through this might be so small
it'd be easily lost in the swarm of AI that we're all getting caught up in.
>>>
>>> drivers/net/ethernet/intel/i40e/i40e_main.c | 18 ++++++++++--------
>>> 1 file changed, 10 insertions(+), 8 deletions(-)
>>>
>>> diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c
>>> b/drivers/net/ethernet/intel/i40e/i40e_main.c
>>> index 926d001b2150..8741990b5a5e 100644
>>> --- a/drivers/net/ethernet/intel/i40e/i40e_main.c
>>> +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
>>> @@ -2408,10 +2408,11 @@ void i40e_aqc_add_filters(struct i40e_vsi
>>> *vsi, const char *vsi_name,
>>> if (fcnt != num_add) {
>>> if (vsi->type == I40E_VSI_MAIN) {
>>> - set_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state);
>>> - dev_warn(&vsi->back->pdev->dev,
>>> - "Error %s adding RX filters on %s, promiscuous
>>> mode forced on\n",
>>> - libie_aq_str(aq_status), vsi_name);
>>> + if (!test_and_set_bit(__I40E_VSI_OVERFLOW_PROMISC,
>>> vsi->state)) {
>>> + dev_warn(&vsi->back->pdev->dev,
>>> + "Error %s adding RX filters on %s, promiscuous
>>> mode forced on\n",
>>> + libie_aq_str(aq_status), vsi_name);
>>> + }
>>> } else if (vsi->type == I40E_VSI_SRIOV ||
>>> vsi->type == I40E_VSI_VMDQ1 ||
>>> vsi->type == I40E_VSI_VMDQ2) {
>>> @@ -2461,10 +2462,11 @@ i40e_aqc_broadcast_filter(struct i40e_vsi
>>> *vsi, const char *vsi_name,
>>> }
>>> if (aq_ret) {
>>> - set_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state);
>>> - dev_warn(&vsi->back->pdev->dev,
>>> - "Error %s, forcing overflow promiscuous on %s\n",
>>> - libie_aq_str(hw->aq.asq_last_status), vsi_name);
>>> + if (!test_and_set_bit(__I40E_VSI_OVERFLOW_PROMISC,
>>> vsi->state)) {
>>> + dev_warn(&vsi->back->pdev->dev,
>>> + "Error %s, forcing overflow promiscuous on %s\n",
>>> + libie_aq_str(hw->aq.asq_last_status), vsi_name);
>>> + }
>>> }
>>> return aq_ret;
>
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2026-07-30 20:48 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-14 0:37 [PATCH net-next] i40e: Avoid repeating RX filter warning Chris Packham
2026-05-14 9:06 ` [Intel-wired-lan] " Loktionov, Aleksandr
2026-05-18 18:32 ` Simon Horman
2026-07-01 5:23 ` [Intel-wired-lan] " Rinitha, SX
2026-07-29 23:53 ` Chris Packham
2026-07-30 20:13 ` Tony Nguyen
2026-07-30 20:48 ` Chris Packham
2026-07-30 13:52 ` [Intel-wired-lan] " Loktionov, Aleksandr
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox