intel-wired-lan.lists.osuosl.org archive mirror
 help / color / mirror / Atom feed
* [Intel-wired-lan] [PATCH net] ice: disable stripping in default VSI ctx
@ 2022-05-27 11:51 Marcin Szycik
  2022-05-27 12:15 ` Paul Menzel
  2022-05-27 16:31 ` Tony Nguyen
  0 siblings, 2 replies; 7+ messages in thread
From: Marcin Szycik @ 2022-05-27 11:51 UTC (permalink / raw)
  To: intel-wired-lan

From: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>

In case when driver is in eswitch mode, having VLAN stripping enabled
causes failure in communication. All VLAN configuration commands are
blocked, because of that VF driver can't disable VLAN stripping at
initialization. It leads to the situation when VLAN stripping on VF VSI
is on, but in kernel it is off.

To prevent this, set VLAN stripping to disabled in VSI initialization.
It doesn't break other usecases, because it is set according to kernel
settings.

Fixes: f09901aa554a ("ice: remove VLAN representor specific ops")
Signed-off-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
Signed-off-by: Marcin Szycik <marcin.szycik@linux.intel.com>
---
 drivers/net/ethernet/intel/ice/ice_lib.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/ethernet/intel/ice/ice_lib.c b/drivers/net/ethernet/intel/ice/ice_lib.c
index 70961c0343e7..b28fb8eacffb 100644
--- a/drivers/net/ethernet/intel/ice/ice_lib.c
+++ b/drivers/net/ethernet/intel/ice/ice_lib.c
@@ -887,6 +887,9 @@ static void ice_set_dflt_vsi_ctx(struct ice_hw *hw, struct ice_vsi_ctx *ctxt)
 			(ICE_AQ_VSI_OUTER_TAG_VLAN_8100 <<
 			 ICE_AQ_VSI_OUTER_TAG_TYPE_S) &
 			ICE_AQ_VSI_OUTER_TAG_TYPE_M;
+		ctxt->info.outer_vlan_flags |=
+			FIELD_PREP(ICE_AQ_VSI_OUTER_VLAN_EMODE_M,
+				   ICE_AQ_VSI_OUTER_VLAN_EMODE_NOTHING);
 	}
 	/* Have 1:1 UP mapping for both ingress/egress tables */
 	table |= ICE_UP_TABLE_TRANSLATE(0, 0);
-- 
2.35.1


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

* [Intel-wired-lan] [PATCH net] ice: disable stripping in default VSI ctx
  2022-05-27 11:51 [Intel-wired-lan] [PATCH net] ice: disable stripping in default VSI ctx Marcin Szycik
@ 2022-05-27 12:15 ` Paul Menzel
  2022-05-27 13:01   ` Marcin Szycik
  2022-05-27 16:31 ` Tony Nguyen
  1 sibling, 1 reply; 7+ messages in thread
From: Paul Menzel @ 2022-05-27 12:15 UTC (permalink / raw)
  To: intel-wired-lan

Dear Marcin, dear Michal,


Am 27.05.22 um 13:51 schrieb Marcin Szycik:
> From: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
> 
> In case when driver is in eswitch mode, having VLAN stripping enabled
> causes failure in communication. All VLAN configuration commands are
> blocked, because of that VF driver can't disable VLAN stripping at

s/blocked, because/blocked. Because/

> initialization. It leads to the situation when VLAN stripping on VF VSI
> is on, but in kernel it is off.
> 
> To prevent this, set VLAN stripping to disabled in VSI initialization.

Maybe: ?, disable VLAN stripping in VSI initialization.

> It doesn't break other usecases, because it is set according to kernel
> settings.

Please document your test setup.


Kind regards,

Paul


> Fixes: f09901aa554a ("ice: remove VLAN representor specific ops")
> Signed-off-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
> Signed-off-by: Marcin Szycik <marcin.szycik@linux.intel.com>
> ---
>   drivers/net/ethernet/intel/ice/ice_lib.c | 3 +++
>   1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/net/ethernet/intel/ice/ice_lib.c b/drivers/net/ethernet/intel/ice/ice_lib.c
> index 70961c0343e7..b28fb8eacffb 100644
> --- a/drivers/net/ethernet/intel/ice/ice_lib.c
> +++ b/drivers/net/ethernet/intel/ice/ice_lib.c
> @@ -887,6 +887,9 @@ static void ice_set_dflt_vsi_ctx(struct ice_hw *hw, struct ice_vsi_ctx *ctxt)
>   			(ICE_AQ_VSI_OUTER_TAG_VLAN_8100 <<
>   			 ICE_AQ_VSI_OUTER_TAG_TYPE_S) &
>   			ICE_AQ_VSI_OUTER_TAG_TYPE_M;
> +		ctxt->info.outer_vlan_flags |=
> +			FIELD_PREP(ICE_AQ_VSI_OUTER_VLAN_EMODE_M,
> +				   ICE_AQ_VSI_OUTER_VLAN_EMODE_NOTHING);
>   	}
>   	/* Have 1:1 UP mapping for both ingress/egress tables */
>   	table |= ICE_UP_TABLE_TRANSLATE(0, 0);

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

* [Intel-wired-lan] [PATCH net] ice: disable stripping in default VSI ctx
  2022-05-27 12:15 ` Paul Menzel
@ 2022-05-27 13:01   ` Marcin Szycik
  2022-05-27 13:11     ` Paul Menzel
  0 siblings, 1 reply; 7+ messages in thread
From: Marcin Szycik @ 2022-05-27 13:01 UTC (permalink / raw)
  To: intel-wired-lan

Hi Paul,

On 27-May-22 14:15, Paul Menzel wrote:
> Dear Marcin, dear Michal,
> 
> 
> Am 27.05.22 um 13:51 schrieb Marcin Szycik:
>> From: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
>>
>> In case when driver is in eswitch mode, having VLAN stripping enabled
>> causes failure in communication. All VLAN configuration commands are
>> blocked, because of that VF driver can't disable VLAN stripping at
> 
> s/blocked, because/blocked. Because/

Sorry, but I don't understand what to change here. Could you explain more clearly?

> 
>> initialization. It leads to the situation when VLAN stripping on VF VSI
>> is on, but in kernel it is off.
>>
>> To prevent this, set VLAN stripping to disabled in VSI initialization.
> 
> Maybe: ?, disable VLAN stripping in VSI initialization.

Sounds good.

> 
>> It doesn't break other usecases, because it is set according to kernel
>> settings.
> 
> Please document your test setup.

Will reproduction steps be enough?


Thanks for the review!

Marcin

> 
> 
> Kind regards,
> 
> Paul
> 
> 
>> Fixes: f09901aa554a ("ice: remove VLAN representor specific ops")
>> Signed-off-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
>> Signed-off-by: Marcin Szycik <marcin.szycik@linux.intel.com>
>> ---
>> ? drivers/net/ethernet/intel/ice/ice_lib.c | 3 +++
>> ? 1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/net/ethernet/intel/ice/ice_lib.c b/drivers/net/ethernet/intel/ice/ice_lib.c
>> index 70961c0343e7..b28fb8eacffb 100644
>> --- a/drivers/net/ethernet/intel/ice/ice_lib.c
>> +++ b/drivers/net/ethernet/intel/ice/ice_lib.c
>> @@ -887,6 +887,9 @@ static void ice_set_dflt_vsi_ctx(struct ice_hw *hw, struct ice_vsi_ctx *ctxt)
>> ????????????? (ICE_AQ_VSI_OUTER_TAG_VLAN_8100 <<
>> ?????????????? ICE_AQ_VSI_OUTER_TAG_TYPE_S) &
>> ????????????? ICE_AQ_VSI_OUTER_TAG_TYPE_M;
>> +??????? ctxt->info.outer_vlan_flags |=
>> +??????????? FIELD_PREP(ICE_AQ_VSI_OUTER_VLAN_EMODE_M,
>> +?????????????????? ICE_AQ_VSI_OUTER_VLAN_EMODE_NOTHING);
>> ????? }
>> ????? /* Have 1:1 UP mapping for both ingress/egress tables */
>> ????? table |= ICE_UP_TABLE_TRANSLATE(0, 0)

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

* [Intel-wired-lan] [PATCH net] ice: disable stripping in default VSI ctx
  2022-05-27 13:01   ` Marcin Szycik
@ 2022-05-27 13:11     ` Paul Menzel
  2022-05-27 16:17       ` Marcin Szycik
  0 siblings, 1 reply; 7+ messages in thread
From: Paul Menzel @ 2022-05-27 13:11 UTC (permalink / raw)
  To: intel-wired-lan

Dear Marcin.


Am 27.05.22 um 15:01 schrieb Marcin Szycik:

> On 27-May-22 14:15, Paul Menzel wrote:

>> Am 27.05.22 um 13:51 schrieb Marcin Szycik:
>>> From: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
>>>
>>> In case when driver is in eswitch mode, having VLAN stripping enabled
>>> causes failure in communication. All VLAN configuration commands are
>>> blocked, because of that VF driver can't disable VLAN stripping at
>>
>> s/blocked, because/blocked. Because/
> 
> Sorry, but I don't understand what to change here. Could you explain more clearly?

I am sorry for being unclear. I think it should be two sentences.

>>> initialization. It leads to the situation when VLAN stripping on VF VSI
>>> is on, but in kernel it is off.
>>>
>>> To prevent this, set VLAN stripping to disabled in VSI initialization.
>>
>> Maybe: ?, disable VLAN stripping in VSI initialization.
> 
> Sounds good.
> 
>>> It doesn't break other usecases, because it is set according to kernel
>>> settings.
>>
>> Please document your test setup.
> 
> Will reproduction steps be enough?

Yes, that?d be great.


Kind regards,

Paul


>>> Fixes: f09901aa554a ("ice: remove VLAN representor specific ops")
>>> Signed-off-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
>>> Signed-off-by: Marcin Szycik <marcin.szycik@linux.intel.com>
>>> ---
>>>  ? drivers/net/ethernet/intel/ice/ice_lib.c | 3 +++
>>>  ? 1 file changed, 3 insertions(+)
>>>
>>> diff --git a/drivers/net/ethernet/intel/ice/ice_lib.c b/drivers/net/ethernet/intel/ice/ice_lib.c
>>> index 70961c0343e7..b28fb8eacffb 100644
>>> --- a/drivers/net/ethernet/intel/ice/ice_lib.c
>>> +++ b/drivers/net/ethernet/intel/ice/ice_lib.c
>>> @@ -887,6 +887,9 @@ static void ice_set_dflt_vsi_ctx(struct ice_hw *hw, struct ice_vsi_ctx *ctxt)
>>>  ????????????? (ICE_AQ_VSI_OUTER_TAG_VLAN_8100 <<
>>>  ?????????????? ICE_AQ_VSI_OUTER_TAG_TYPE_S) &
>>>  ????????????? ICE_AQ_VSI_OUTER_TAG_TYPE_M;
>>> +??????? ctxt->info.outer_vlan_flags |=
>>> +??????????? FIELD_PREP(ICE_AQ_VSI_OUTER_VLAN_EMODE_M,
>>> +?????????????????? ICE_AQ_VSI_OUTER_VLAN_EMODE_NOTHING);
>>>  ????? }
>>>  ????? /* Have 1:1 UP mapping for both ingress/egress tables */
>>>  ????? table |= ICE_UP_TABLE_TRANSLATE(0, 0)
> _______________________________________________
> Intel-wired-lan mailing list
> Intel-wired-lan at osuosl.org
> https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

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

* [Intel-wired-lan] [PATCH net] ice: disable stripping in default VSI ctx
  2022-05-27 13:11     ` Paul Menzel
@ 2022-05-27 16:17       ` Marcin Szycik
  0 siblings, 0 replies; 7+ messages in thread
From: Marcin Szycik @ 2022-05-27 16:17 UTC (permalink / raw)
  To: intel-wired-lan



On 27-May-22 15:11, Paul Menzel wrote:
> Dear Marcin.
> 
> 
> Am 27.05.22 um 15:01 schrieb Marcin Szycik:
> 
>> On 27-May-22 14:15, Paul Menzel wrote:
> 
>>> Am 27.05.22 um 13:51 schrieb Marcin Szycik:
>>>> From: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
>>>>
>>>> In case when driver is in eswitch mode, having VLAN stripping enabled
>>>> causes failure in communication. All VLAN configuration commands are
>>>> blocked, because of that VF driver can't disable VLAN stripping at
>>>
>>> s/blocked, because/blocked. Because/
>>
>> Sorry, but I don't understand what to change here. Could you explain more clearly?
> 
> I am sorry for being unclear. I think it should be two sentences.

Ah, now I see it's a sed-style string replace. I will remember this for future discussions :)

>>>> initialization. It leads to the situation when VLAN stripping on VF VSI
>>>> is on, but in kernel it is off.
>>>>
>>>> To prevent this, set VLAN stripping to disabled in VSI initialization.
>>>
>>> Maybe: ?, disable VLAN stripping in VSI initialization.
>>
>> Sounds good.
>>
>>>> It doesn't break other usecases, because it is set according to kernel
>>>> settings.
>>>
>>> Please document your test setup.
>>
>> Will reproduction steps be enough?
> 
> Yes, that?d be great.

I'll send v2 probably on Monday. I'm sorry for delay, but I have a bit of a problem reproducing this issue, and I don't want to include a repro that doesn't actually work (Micha? originally worked on the fix, but he will be unavailable for some time).

Regards,
Marcin

>>>> Fixes: f09901aa554a ("ice: remove VLAN representor specific ops")
>>>> Signed-off-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
>>>> Signed-off-by: Marcin Szycik <marcin.szycik@linux.intel.com>
>>>> ---
>>>> ?? drivers/net/ethernet/intel/ice/ice_lib.c | 3 +++
>>>> ?? 1 file changed, 3 insertions(+)
>>>>
>>>> diff --git a/drivers/net/ethernet/intel/ice/ice_lib.c b/drivers/net/ethernet/intel/ice/ice_lib.c
>>>> index 70961c0343e7..b28fb8eacffb 100644
>>>> --- a/drivers/net/ethernet/intel/ice/ice_lib.c
>>>> +++ b/drivers/net/ethernet/intel/ice/ice_lib.c
>>>> @@ -887,6 +887,9 @@ static void ice_set_dflt_vsi_ctx(struct ice_hw *hw, struct ice_vsi_ctx *ctxt)
>>>> ?????????????? (ICE_AQ_VSI_OUTER_TAG_VLAN_8100 <<
>>>> ??????????????? ICE_AQ_VSI_OUTER_TAG_TYPE_S) &
>>>> ?????????????? ICE_AQ_VSI_OUTER_TAG_TYPE_M;
>>>> +??????? ctxt->info.outer_vlan_flags |=
>>>> +??????????? FIELD_PREP(ICE_AQ_VSI_OUTER_VLAN_EMODE_M,
>>>> +?????????????????? ICE_AQ_VSI_OUTER_VLAN_EMODE_NOTHING);
>>>> ?????? }
>>>> ?????? /* Have 1:1 UP mapping for both ingress/egress tables */
>>>> ?????? table |= ICE_UP_TABLE_TRANSLATE(0, 0)
>> _______________________________________________
>> Intel-wired-lan mailing list
>> Intel-wired-lan at osuosl.org
>> https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

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

* [Intel-wired-lan] [PATCH net] ice: disable stripping in default VSI ctx
  2022-05-27 11:51 [Intel-wired-lan] [PATCH net] ice: disable stripping in default VSI ctx Marcin Szycik
  2022-05-27 12:15 ` Paul Menzel
@ 2022-05-27 16:31 ` Tony Nguyen
  2022-05-30 11:25   ` Marcin Szycik
  1 sibling, 1 reply; 7+ messages in thread
From: Tony Nguyen @ 2022-05-27 16:31 UTC (permalink / raw)
  To: intel-wired-lan



On 5/27/2022 4:51 AM, Marcin Szycik wrote:

This fixes commit doesn't exist in net, so it shouldn't be targeting 
net. It looks like the patch this is fixing is still on Intel Wired LAN 
[1]. Perhaps it would be better to squash it with that patch as a v2?

> From: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
> 
> In case when driver is in eswitch mode, having VLAN stripping enabled
> causes failure in communication. All VLAN configuration commands are
> blocked, because of that VF driver can't disable VLAN stripping at
> initialization. It leads to the situation when VLAN stripping on VF VSI
> is on, but in kernel it is off.
> 
> To prevent this, set VLAN stripping to disabled in VSI initialization.
> It doesn't break other usecases, because it is set according to kernel
> settings.
> 
> Fixes: f09901aa554a ("ice: remove VLAN representor specific ops")
> Signed-off-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
> Signed-off-by: Marcin Szycik <marcin.szycik@linux.intel.com>

[1] 
https://patchwork.ozlabs.org/project/intel-wired-lan/patch/20220425062756.14987-3-michal.swiatkowski at linux.intel.com/

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

* [Intel-wired-lan] [PATCH net] ice: disable stripping in default VSI ctx
  2022-05-27 16:31 ` Tony Nguyen
@ 2022-05-30 11:25   ` Marcin Szycik
  0 siblings, 0 replies; 7+ messages in thread
From: Marcin Szycik @ 2022-05-30 11:25 UTC (permalink / raw)
  To: intel-wired-lan



On 27-May-22 18:31, Tony Nguyen wrote:
> 
> 
> On 5/27/2022 4:51 AM, Marcin Szycik wrote:
> 
> This fixes commit doesn't exist in net, so it shouldn't be targeting net. It looks like the patch this is fixing is still on Intel Wired LAN [1]. Perhaps it would be better to squash it with that patch as a v2?

You're right, sorry I didn't notice this. I will send next version with net-next tag and a squash note.

>> From: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
>>
>> In case when driver is in eswitch mode, having VLAN stripping enabled
>> causes failure in communication. All VLAN configuration commands are
>> blocked, because of that VF driver can't disable VLAN stripping at
>> initialization. It leads to the situation when VLAN stripping on VF VSI
>> is on, but in kernel it is off.
>>
>> To prevent this, set VLAN stripping to disabled in VSI initialization.
>> It doesn't break other usecases, because it is set according to kernel
>> settings.
>>
>> Fixes: f09901aa554a ("ice: remove VLAN representor specific ops")
>> Signed-off-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
>> Signed-off-by: Marcin Szycik <marcin.szycik@linux.intel.com>
> 
> [1] https://patchwork.ozlabs.org/project/intel-wired-lan/patch/20220425062756.14987-3-michal.swiatkowski at linux.intel.com/

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

end of thread, other threads:[~2022-05-30 11:25 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-27 11:51 [Intel-wired-lan] [PATCH net] ice: disable stripping in default VSI ctx Marcin Szycik
2022-05-27 12:15 ` Paul Menzel
2022-05-27 13:01   ` Marcin Szycik
2022-05-27 13:11     ` Paul Menzel
2022-05-27 16:17       ` Marcin Szycik
2022-05-27 16:31 ` Tony Nguyen
2022-05-30 11:25   ` Marcin Szycik

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).