* [Intel-wired-lan] [PATCH net v1] ice: Fix disabling Rx VLAN filtering with port VLAN enabled
@ 2023-01-12 14:54 Karen Ostrowska
2023-01-13 14:48 ` Michal Swiatkowski
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Karen Ostrowska @ 2023-01-12 14:54 UTC (permalink / raw)
To: intel-wired-lan; +Cc: Karen Ostrowska, Brett Creeley
From: Brett Creeley <brett.creeley@intel.com>
If the user turns on the vf-true-promiscuous-support flag, then Rx VLAN
filtering will be disabled if the VF requests to enable promiscuous
mode. When the VF is in a port VLAN, this is the incorrect behavior
because it will allow the VF to receive traffic outside of its port VLAN
domain. Fortunately this only resulted in the VF(s) receiving broadcast
traffic outside of the VLAN domain because all of the VLAN promiscuous
rules are based on the port VLAN ID. Fix this by setting the
.disable_rx_filtering VLAN op to a no-op when a port VLAN is enabled on
the VF.
Also, make sure to make this fix for both Single VLAN Mode and Double
VLAN Mode enabled devices.
Fixes: c31af68a1b94 ("ice: Add outer_vlan_ops and VSI specific VLAN ops
implementations")
Signed-off-by: Brett Creeley <brett.creeley@intel.com>
Signed-off-by: Karen Ostrowska <karen.ostrowska@intel.com>
---
.../net/ethernet/intel/ice/ice_vf_vsi_vlan_ops.c | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/intel/ice/ice_vf_vsi_vlan_ops.c b/drivers/net/ethernet/intel/ice/ice_vf_vsi_vlan_ops.c
index 5ecc0ee9a78e..b1ffb81893d4 100644
--- a/drivers/net/ethernet/intel/ice/ice_vf_vsi_vlan_ops.c
+++ b/drivers/net/ethernet/intel/ice/ice_vf_vsi_vlan_ops.c
@@ -44,13 +44,17 @@ void ice_vf_vsi_init_vlan_ops(struct ice_vsi *vsi)
/* outer VLAN ops regardless of port VLAN config */
vlan_ops->add_vlan = ice_vsi_add_vlan;
- vlan_ops->dis_rx_filtering = ice_vsi_dis_rx_vlan_filtering;
vlan_ops->ena_tx_filtering = ice_vsi_ena_tx_vlan_filtering;
vlan_ops->dis_tx_filtering = ice_vsi_dis_tx_vlan_filtering;
if (ice_vf_is_port_vlan_ena(vf)) {
/* setup outer VLAN ops */
vlan_ops->set_port_vlan = ice_vsi_set_outer_port_vlan;
+ /* all Rx traffic should be in the domain of the
+ * assigned port VLAN, so prevent disabling Rx VLAN
+ * filtering
+ */
+ vlan_ops->dis_rx_filtering = noop_vlan;
vlan_ops->ena_rx_filtering =
ice_vsi_ena_rx_vlan_filtering;
@@ -63,6 +67,9 @@ void ice_vf_vsi_init_vlan_ops(struct ice_vsi *vsi)
vlan_ops->ena_insertion = ice_vsi_ena_inner_insertion;
vlan_ops->dis_insertion = ice_vsi_dis_inner_insertion;
} else {
+ vlan_ops->dis_rx_filtering =
+ ice_vsi_dis_rx_vlan_filtering;
+
if (!test_bit(ICE_FLAG_VF_VLAN_PRUNING, pf->flags))
vlan_ops->ena_rx_filtering = noop_vlan;
else
@@ -96,7 +103,14 @@ void ice_vf_vsi_init_vlan_ops(struct ice_vsi *vsi)
vlan_ops->set_port_vlan = ice_vsi_set_inner_port_vlan;
vlan_ops->ena_rx_filtering =
ice_vsi_ena_rx_vlan_filtering;
+ /* all Rx traffic should be in the domain of the
+ * assigned port VLAN, so prevent disabling Rx VLAN
+ * filtering
+ */
+ vlan_ops->dis_rx_filtering = noop_vlan;
} else {
+ vlan_ops->dis_rx_filtering =
+ ice_vsi_dis_rx_vlan_filtering;
if (!test_bit(ICE_FLAG_VF_VLAN_PRUNING, pf->flags))
vlan_ops->ena_rx_filtering = noop_vlan;
else
--
2.31.1
_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [Intel-wired-lan] [PATCH net v1] ice: Fix disabling Rx VLAN filtering with port VLAN enabled
2023-01-12 14:54 [Intel-wired-lan] [PATCH net v1] ice: Fix disabling Rx VLAN filtering with port VLAN enabled Karen Ostrowska
@ 2023-01-13 14:48 ` Michal Swiatkowski
2023-01-13 21:59 ` Tony Nguyen
2023-01-26 14:48 ` Szlosek, Marek
2 siblings, 0 replies; 6+ messages in thread
From: Michal Swiatkowski @ 2023-01-13 14:48 UTC (permalink / raw)
To: Karen Ostrowska; +Cc: Brett Creeley, intel-wired-lan
On Thu, Jan 12, 2023 at 03:54:34PM +0100, Karen Ostrowska wrote:
> From: Brett Creeley <brett.creeley@intel.com>
>
> If the user turns on the vf-true-promiscuous-support flag, then Rx VLAN
> filtering will be disabled if the VF requests to enable promiscuous
> mode. When the VF is in a port VLAN, this is the incorrect behavior
> because it will allow the VF to receive traffic outside of its port VLAN
> domain. Fortunately this only resulted in the VF(s) receiving broadcast
> traffic outside of the VLAN domain because all of the VLAN promiscuous
> rules are based on the port VLAN ID. Fix this by setting the
> .disable_rx_filtering VLAN op to a no-op when a port VLAN is enabled on
> the VF.
>
> Also, make sure to make this fix for both Single VLAN Mode and Double
> VLAN Mode enabled devices.
>
> Fixes: c31af68a1b94 ("ice: Add outer_vlan_ops and VSI specific VLAN ops
> implementations")
> Signed-off-by: Brett Creeley <brett.creeley@intel.com>
> Signed-off-by: Karen Ostrowska <karen.ostrowska@intel.com>
> ---
> .../net/ethernet/intel/ice/ice_vf_vsi_vlan_ops.c | 16 +++++++++++++++-
> 1 file changed, 15 insertions(+), 1 deletion(-)
Looks fine, thanks
Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
>
> --
> 2.31.1
>
> _______________________________________________
> Intel-wired-lan mailing list
> Intel-wired-lan@osuosl.org
> https://lists.osuosl.org/mailman/listinfo/intel-wired-lan
_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Intel-wired-lan] [PATCH net v1] ice: Fix disabling Rx VLAN filtering with port VLAN enabled
2023-01-12 14:54 [Intel-wired-lan] [PATCH net v1] ice: Fix disabling Rx VLAN filtering with port VLAN enabled Karen Ostrowska
2023-01-13 14:48 ` Michal Swiatkowski
@ 2023-01-13 21:59 ` Tony Nguyen
2023-01-26 14:48 ` Szlosek, Marek
2 siblings, 0 replies; 6+ messages in thread
From: Tony Nguyen @ 2023-01-13 21:59 UTC (permalink / raw)
To: Karen Ostrowska, intel-wired-lan; +Cc: Brett Creeley
On 1/12/2023 6:54 AM, Karen Ostrowska wrote:
> From: Brett Creeley <brett.creeley@intel.com>
>
> If the user turns on the vf-true-promiscuous-support flag, then Rx VLAN
> filtering will be disabled if the VF requests to enable promiscuous
> mode. When the VF is in a port VLAN, this is the incorrect behavior
> because it will allow the VF to receive traffic outside of its port VLAN
> domain. Fortunately this only resulted in the VF(s) receiving broadcast
> traffic outside of the VLAN domain because all of the VLAN promiscuous
> rules are based on the port VLAN ID. Fix this by setting the
> .disable_rx_filtering VLAN op to a no-op when a port VLAN is enabled on
> the VF.
>
> Also, make sure to make this fix for both Single VLAN Mode and Double
> VLAN Mode enabled devices.
>
> Fixes: c31af68a1b94 ("ice: Add outer_vlan_ops and VSI specific VLAN ops
> implementations")
nit: Please don't break up the Fixes tag to multiple lines.
WARNING: Please use correct Fixes: style 'Fixes: <12 chars of sha1>
("<title line>")' - ie: 'Fixes: d07633fca9d5 ("ice: Fix disabling Rx
VLAN filtering with port VLAN enabled")'
#22:
Fixes: c31af68a1b94 ("ice: Add outer_vlan_ops and VSI specific VLAN ops
> Signed-off-by: Brett Creeley <brett.creeley@intel.com>
> Signed-off-by: Karen Ostrowska <karen.ostrowska@intel.com>
_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Intel-wired-lan] [PATCH net v1] ice: Fix disabling Rx VLAN filtering with port VLAN enabled
@ 2023-01-16 12:34 Karen Ostrowska
2023-01-26 14:31 ` Szlosek, Marek
0 siblings, 1 reply; 6+ messages in thread
From: Karen Ostrowska @ 2023-01-16 12:34 UTC (permalink / raw)
To: intel-wired-lan; +Cc: Karen Ostrowska, Brett Creeley
From: Brett Creeley <brett.creeley@intel.com>
If the user turns on the vf-true-promiscuous-support flag, then Rx VLAN
filtering will be disabled if the VF requests to enable promiscuous
mode. When the VF is in a port VLAN, this is the incorrect behavior
because it will allow the VF to receive traffic outside of its port VLAN
domain. Fortunately this only resulted in the VF(s) receiving broadcast
traffic outside of the VLAN domain because all of the VLAN promiscuous
rules are based on the port VLAN ID. Fix this by setting the
.disable_rx_filtering VLAN op to a no-op when a port VLAN is enabled on
the VF.
Also, make sure to make this fix for both Single VLAN Mode and Double
VLAN Mode enabled devices.
Fixes: c31af68a1b94 ("ice: Add outer_vlan_ops and VSI specific VLAN ops implementations")
Signed-off-by: Brett Creeley <brett.creeley@intel.com>
Signed-off-by: Karen Ostrowska <karen.ostrowska@intel.com>
---
.../net/ethernet/intel/ice/ice_vf_vsi_vlan_ops.c | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/intel/ice/ice_vf_vsi_vlan_ops.c b/drivers/net/ethernet/intel/ice/ice_vf_vsi_vlan_ops.c
index 5ecc0ee9a78e..b1ffb81893d4 100644
--- a/drivers/net/ethernet/intel/ice/ice_vf_vsi_vlan_ops.c
+++ b/drivers/net/ethernet/intel/ice/ice_vf_vsi_vlan_ops.c
@@ -44,13 +44,17 @@ void ice_vf_vsi_init_vlan_ops(struct ice_vsi *vsi)
/* outer VLAN ops regardless of port VLAN config */
vlan_ops->add_vlan = ice_vsi_add_vlan;
- vlan_ops->dis_rx_filtering = ice_vsi_dis_rx_vlan_filtering;
vlan_ops->ena_tx_filtering = ice_vsi_ena_tx_vlan_filtering;
vlan_ops->dis_tx_filtering = ice_vsi_dis_tx_vlan_filtering;
if (ice_vf_is_port_vlan_ena(vf)) {
/* setup outer VLAN ops */
vlan_ops->set_port_vlan = ice_vsi_set_outer_port_vlan;
+ /* all Rx traffic should be in the domain of the
+ * assigned port VLAN, so prevent disabling Rx VLAN
+ * filtering
+ */
+ vlan_ops->dis_rx_filtering = noop_vlan;
vlan_ops->ena_rx_filtering =
ice_vsi_ena_rx_vlan_filtering;
@@ -63,6 +67,9 @@ void ice_vf_vsi_init_vlan_ops(struct ice_vsi *vsi)
vlan_ops->ena_insertion = ice_vsi_ena_inner_insertion;
vlan_ops->dis_insertion = ice_vsi_dis_inner_insertion;
} else {
+ vlan_ops->dis_rx_filtering =
+ ice_vsi_dis_rx_vlan_filtering;
+
if (!test_bit(ICE_FLAG_VF_VLAN_PRUNING, pf->flags))
vlan_ops->ena_rx_filtering = noop_vlan;
else
@@ -96,7 +103,14 @@ void ice_vf_vsi_init_vlan_ops(struct ice_vsi *vsi)
vlan_ops->set_port_vlan = ice_vsi_set_inner_port_vlan;
vlan_ops->ena_rx_filtering =
ice_vsi_ena_rx_vlan_filtering;
+ /* all Rx traffic should be in the domain of the
+ * assigned port VLAN, so prevent disabling Rx VLAN
+ * filtering
+ */
+ vlan_ops->dis_rx_filtering = noop_vlan;
} else {
+ vlan_ops->dis_rx_filtering =
+ ice_vsi_dis_rx_vlan_filtering;
if (!test_bit(ICE_FLAG_VF_VLAN_PRUNING, pf->flags))
vlan_ops->ena_rx_filtering = noop_vlan;
else
--
2.31.1
_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [Intel-wired-lan] [PATCH net v1] ice: Fix disabling Rx VLAN filtering with port VLAN enabled
2023-01-16 12:34 Karen Ostrowska
@ 2023-01-26 14:31 ` Szlosek, Marek
0 siblings, 0 replies; 6+ messages in thread
From: Szlosek, Marek @ 2023-01-26 14:31 UTC (permalink / raw)
To: intel-wired-lan@lists.osuosl.org
> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of
> Karen Ostrowska
> Sent: poniedziałek, 16 stycznia 2023 13:35
> To: intel-wired-lan@lists.osuosl.org
> Cc: Ostrowska, Karen <karen.ostrowska@intel.com>; Brett Creeley
> <brett.creeley@intel.com>
> Subject: [Intel-wired-lan] [PATCH net v1] ice: Fix disabling Rx VLAN filtering
> with port VLAN enabled
>
> From: Brett Creeley <brett.creeley@intel.com>
>
> If the user turns on the vf-true-promiscuous-support flag, then Rx VLAN
> filtering will be disabled if the VF requests to enable promiscuous mode.
> When the VF is in a port VLAN, this is the incorrect behavior because it will
> allow the VF to receive traffic outside of its port VLAN domain. Fortunately
> this only resulted in the VF(s) receiving broadcast traffic outside of the VLAN
> domain because all of the VLAN promiscuous rules are based on the port
> VLAN ID. Fix this by setting the .disable_rx_filtering VLAN op to a no-op when
> a port VLAN is enabled on the VF.
>
> Also, make sure to make this fix for both Single VLAN Mode and Double VLAN
> Mode enabled devices.
>
> Fixes: c31af68a1b94 ("ice: Add outer_vlan_ops and VSI specific VLAN ops
> implementations")
> Signed-off-by: Brett Creeley <brett.creeley@intel.com>
> Signed-off-by: Karen Ostrowska <karen.ostrowska@intel.com>
> ---
> .../net/ethernet/intel/ice/ice_vf_vsi_vlan_ops.c | 16 +++++++++++++++-
> 1 file changed, 15 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/intel/ice/ice_vf_vsi_vlan_ops.c
> b/drivers/net/ethernet/intel/ice/ice_vf_vsi_vlan_ops.c
> index 5ecc0ee9a78e..b1ffb81893d4 100644
> --- a/drivers/net/ethernet/intel/ice/ice_vf_vsi_vlan_ops.c
> +++ b/drivers/net/ethernet/intel/ice/ice_vf_vsi_vlan_ops.c
Tested-by: Marek Szlosek <marek.szlosek@intel.com>
_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Intel-wired-lan] [PATCH net v1] ice: Fix disabling Rx VLAN filtering with port VLAN enabled
2023-01-12 14:54 [Intel-wired-lan] [PATCH net v1] ice: Fix disabling Rx VLAN filtering with port VLAN enabled Karen Ostrowska
2023-01-13 14:48 ` Michal Swiatkowski
2023-01-13 21:59 ` Tony Nguyen
@ 2023-01-26 14:48 ` Szlosek, Marek
2 siblings, 0 replies; 6+ messages in thread
From: Szlosek, Marek @ 2023-01-26 14:48 UTC (permalink / raw)
To: intel-wired-lan@lists.osuosl.org
> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of
> Karen Ostrowska
> Sent: czwartek, 12 stycznia 2023 15:55
> To: intel-wired-lan@lists.osuosl.org
> Cc: Ostrowska, Karen <karen.ostrowska@intel.com>; Brett Creeley
> <brett.creeley@intel.com>
> Subject: [Intel-wired-lan] [PATCH net v1] ice: Fix disabling Rx VLAN filtering
> with port VLAN enabled
>
> From: Brett Creeley <brett.creeley@intel.com>
>
> If the user turns on the vf-true-promiscuous-support flag, then Rx VLAN
> filtering will be disabled if the VF requests to enable promiscuous mode.
> When the VF is in a port VLAN, this is the incorrect behavior because it will
> allow the VF to receive traffic outside of its port VLAN domain. Fortunately
> this only resulted in the VF(s) receiving broadcast traffic outside of the VLAN
> domain because all of the VLAN promiscuous rules are based on the port
> VLAN ID. Fix this by setting the .disable_rx_filtering VLAN op to a no-op when
> a port VLAN is enabled on the VF.
>
> Also, make sure to make this fix for both Single VLAN Mode and Double VLAN
> Mode enabled devices.
>
> Fixes: c31af68a1b94 ("ice: Add outer_vlan_ops and VSI specific VLAN ops
> implementations")
> Signed-off-by: Brett Creeley <brett.creeley@intel.com>
> Signed-off-by: Karen Ostrowska <karen.ostrowska@intel.com>
> ---
> .../net/ethernet/intel/ice/ice_vf_vsi_vlan_ops.c | 16 +++++++++++++++-
> 1 file changed, 15 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/intel/ice/ice_vf_vsi_vlan_ops.c
> b/drivers/net/ethernet/intel/ice/ice_vf_vsi_vlan_ops.c
> index 5ecc0ee9a78e..b1ffb81893d4 100644
> --- a/drivers/net/ethernet/intel/ice/ice_vf_vsi_vlan_ops.c
> +++ b/drivers/net/ethernet/intel/ice/ice_vf_vsi_vlan_ops.c
Tested-by: Marek Szlosek <marek.szlosek@intel.com>
_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-01-26 14:59 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-12 14:54 [Intel-wired-lan] [PATCH net v1] ice: Fix disabling Rx VLAN filtering with port VLAN enabled Karen Ostrowska
2023-01-13 14:48 ` Michal Swiatkowski
2023-01-13 21:59 ` Tony Nguyen
2023-01-26 14:48 ` Szlosek, Marek
-- strict thread matches above, loose matches on Subject: below --
2023-01-16 12:34 Karen Ostrowska
2023-01-26 14:31 ` Szlosek, Marek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox