2024-05-24 09:37:51

by MD Danish Anwar

[permalink] [raw]
Subject: [PATCH net] net: ti: icssg-prueth: Fix start counter for ft1 filter

The start counter for FT1 filter is wrongly set to 0 in the driver.
FT1 is used for source address violation (SAV) check and source address
starts at Byte 6 not Byte 0. Fix this by changing start counter to 6 in
icssg_ft1_set_mac_addr().

Fixes: e9b4ece7d74b ("net: ti: icssg-prueth: Add Firmware config and classification APIs.")
Signed-off-by: MD Danish Anwar <[email protected]>
---
drivers/net/ethernet/ti/icssg/icssg_classifier.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/ti/icssg/icssg_classifier.c b/drivers/net/ethernet/ti/icssg/icssg_classifier.c
index 79ba47bb3602..8dee737639b6 100644
--- a/drivers/net/ethernet/ti/icssg/icssg_classifier.c
+++ b/drivers/net/ethernet/ti/icssg/icssg_classifier.c
@@ -455,7 +455,7 @@ void icssg_ft1_set_mac_addr(struct regmap *miig_rt, int slice, u8 *mac_addr)
{
const u8 mask_addr[] = { 0, 0, 0, 0, 0, 0, };

- rx_class_ft1_set_start_len(miig_rt, slice, 0, 6);
+ rx_class_ft1_set_start_len(miig_rt, slice, 6, 6);
rx_class_ft1_set_da(miig_rt, slice, 0, mac_addr);
rx_class_ft1_set_da_mask(miig_rt, slice, 0, mask_addr);
rx_class_ft1_cfg_set_type(miig_rt, slice, 0, FT1_CFG_TYPE_EQ);

base-commit: 66ad4829ddd0b5540dc0b076ef2818e89c8f720e
--
2.34.1



2024-05-24 22:06:02

by Florian Fainelli

[permalink] [raw]
Subject: Re: [PATCH net] net: ti: icssg-prueth: Fix start counter for ft1 filter

On 5/24/24 02:37, MD Danish Anwar wrote:
> The start counter for FT1 filter is wrongly set to 0 in the driver.
> FT1 is used for source address violation (SAV) check and source address
> starts at Byte 6 not Byte 0. Fix this by changing start counter to 6 in
> icssg_ft1_set_mac_addr().
>
> Fixes: e9b4ece7d74b ("net: ti: icssg-prueth: Add Firmware config and classification APIs.")
> Signed-off-by: MD Danish Anwar <[email protected]>

Would using ETH_ALEN not be a bit clearer here?

> ---
> drivers/net/ethernet/ti/icssg/icssg_classifier.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/ti/icssg/icssg_classifier.c b/drivers/net/ethernet/ti/icssg/icssg_classifier.c
> index 79ba47bb3602..8dee737639b6 100644
> --- a/drivers/net/ethernet/ti/icssg/icssg_classifier.c
> +++ b/drivers/net/ethernet/ti/icssg/icssg_classifier.c
> @@ -455,7 +455,7 @@ void icssg_ft1_set_mac_addr(struct regmap *miig_rt, int slice, u8 *mac_addr)
> {
> const u8 mask_addr[] = { 0, 0, 0, 0, 0, 0, };
>
> - rx_class_ft1_set_start_len(miig_rt, slice, 0, 6);
> + rx_class_ft1_set_start_len(miig_rt, slice, 6, 6);
> rx_class_ft1_set_da(miig_rt, slice, 0, mac_addr);
> rx_class_ft1_set_da_mask(miig_rt, slice, 0, mask_addr);
> rx_class_ft1_cfg_set_type(miig_rt, slice, 0, FT1_CFG_TYPE_EQ);
>
> base-commit: 66ad4829ddd0b5540dc0b076ef2818e89c8f720e

--
Florian


2024-05-27 06:24:12

by MD Danish Anwar

[permalink] [raw]
Subject: Re: [PATCH net] net: ti: icssg-prueth: Fix start counter for ft1 filter



On 25/05/24 3:35 am, Florian Fainelli wrote:
> On 5/24/24 02:37, MD Danish Anwar wrote:
>> The start counter for FT1 filter is wrongly set to 0 in the driver.
>> FT1 is used for source address violation (SAV) check and source address
>> starts at Byte 6 not Byte 0. Fix this by changing start counter to 6 in
>> icssg_ft1_set_mac_addr().
>>
>> Fixes: e9b4ece7d74b ("net: ti: icssg-prueth: Add Firmware config and
>> classification APIs.")
>> Signed-off-by: MD Danish Anwar <[email protected]>
>
> Would using ETH_ALEN not be a bit clearer here?
>

Yes that would make more sense. I will change it and post v2.

>> ---
>>   drivers/net/ethernet/ti/icssg/icssg_classifier.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/net/ethernet/ti/icssg/icssg_classifier.c
>> b/drivers/net/ethernet/ti/icssg/icssg_classifier.c
>> index 79ba47bb3602..8dee737639b6 100644
>> --- a/drivers/net/ethernet/ti/icssg/icssg_classifier.c
>> +++ b/drivers/net/ethernet/ti/icssg/icssg_classifier.c
>> @@ -455,7 +455,7 @@ void icssg_ft1_set_mac_addr(struct regmap
>> *miig_rt, int slice, u8 *mac_addr)
>>   {
>>       const u8 mask_addr[] = { 0, 0, 0, 0, 0, 0, };
>>   -    rx_class_ft1_set_start_len(miig_rt, slice, 0, 6);
>> +    rx_class_ft1_set_start_len(miig_rt, slice, 6, 6);
>>       rx_class_ft1_set_da(miig_rt, slice, 0, mac_addr);
>>       rx_class_ft1_set_da_mask(miig_rt, slice, 0, mask_addr);
>>       rx_class_ft1_cfg_set_type(miig_rt, slice, 0, FT1_CFG_TYPE_EQ);
>>
>> base-commit: 66ad4829ddd0b5540dc0b076ef2818e89c8f720e
>

--
Thanks and Regards,
Danish