All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net 0/3] net: hns3: fixes fot -net
@ 2021-02-27  3:34 Huazhong Tan
  2021-02-27  3:34 ` [PATCH net 1/3] net: hns3: fix error mask definition of flow director Huazhong Tan
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Huazhong Tan @ 2021-02-27  3:34 UTC (permalink / raw)
  To: davem, kuba
  Cc: netdev, salil.mehta, yisen.zhuang, huangdaode, linuxarm, Huazhong Tan

The patchset includes some fixes for the HNS3 ethernet driver.

Jian Shen (3):
  net: hns3: fix error mask definition of flow director
  net: hns3: fix query vlan mask value error for flow director
  net: hns3: fix bug when calculating the TCAM table info

 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h  | 6 +++---
 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 7 +++----
 2 files changed, 6 insertions(+), 7 deletions(-)

-- 
2.7.4


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

* [PATCH net 1/3] net: hns3: fix error mask definition of flow director
  2021-02-27  3:34 [PATCH net 0/3] net: hns3: fixes fot -net Huazhong Tan
@ 2021-02-27  3:34 ` Huazhong Tan
  2021-02-27  3:34 ` [PATCH net 2/3] net: hns3: fix query vlan mask value error for " Huazhong Tan
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Huazhong Tan @ 2021-02-27  3:34 UTC (permalink / raw)
  To: davem, kuba
  Cc: netdev, salil.mehta, yisen.zhuang, huangdaode, linuxarm,
	Jian Shen, Huazhong Tan

From: Jian Shen <shenjian15@huawei.com>

Currently, some bit filed definitions of flow director TCAM
configuration command are incorrect. Since the wrong MSB is
always 0, and these fields are assgined in order, so it still works.

Fix it by redefine them.

fixes: 11732868 ("net: hns3: Add input key and action config support for flow director")
Signed-off-by: Jian Shen <shenjian15@huawei.com>
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
---
 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h
index ff52a65..057dda7 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h
@@ -1053,16 +1053,16 @@ struct hclge_fd_tcam_config_3_cmd {
 #define HCLGE_FD_AD_DROP_B		0
 #define HCLGE_FD_AD_DIRECT_QID_B	1
 #define HCLGE_FD_AD_QID_S		2
-#define HCLGE_FD_AD_QID_M		GENMASK(12, 2)
+#define HCLGE_FD_AD_QID_M		GENMASK(11, 2)
 #define HCLGE_FD_AD_USE_COUNTER_B	12
 #define HCLGE_FD_AD_COUNTER_NUM_S	13
 #define HCLGE_FD_AD_COUNTER_NUM_M	GENMASK(20, 13)
 #define HCLGE_FD_AD_NXT_STEP_B		20
 #define HCLGE_FD_AD_NXT_KEY_S		21
-#define HCLGE_FD_AD_NXT_KEY_M		GENMASK(26, 21)
+#define HCLGE_FD_AD_NXT_KEY_M		GENMASK(25, 21)
 #define HCLGE_FD_AD_WR_RULE_ID_B	0
 #define HCLGE_FD_AD_RULE_ID_S		1
-#define HCLGE_FD_AD_RULE_ID_M		GENMASK(13, 1)
+#define HCLGE_FD_AD_RULE_ID_M		GENMASK(12, 1)
 #define HCLGE_FD_AD_TC_OVRD_B		16
 #define HCLGE_FD_AD_TC_SIZE_S		17
 #define HCLGE_FD_AD_TC_SIZE_M		GENMASK(20, 17)
-- 
2.7.4


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

* [PATCH net 2/3] net: hns3: fix query vlan mask value error for flow director
  2021-02-27  3:34 [PATCH net 0/3] net: hns3: fixes fot -net Huazhong Tan
  2021-02-27  3:34 ` [PATCH net 1/3] net: hns3: fix error mask definition of flow director Huazhong Tan
@ 2021-02-27  3:34 ` Huazhong Tan
  2021-02-27  3:34 ` [PATCH net 3/3] net: hns3: fix bug when calculating the TCAM table info Huazhong Tan
  2021-02-27  5:59 ` [PATCH net 0/3] net: hns3: fixes fot -net Huazhong Tan
  3 siblings, 0 replies; 5+ messages in thread
From: Huazhong Tan @ 2021-02-27  3:34 UTC (permalink / raw)
  To: davem, kuba
  Cc: netdev, salil.mehta, yisen.zhuang, huangdaode, linuxarm,
	Jian Shen, Huazhong Tan

From: Jian Shen <shenjian15@huawei.com>

Currently, the driver returns VLAN_VID_MASK for vlan mask field,
when get flow director rule information for rule doesn't use vlan.
It may cause the vlan mask value display as 0xf000 in this
case, like below:

estuary:/$ ethtool -u eth1
50 RX rings available
Total 1 rules

Filter: 2
Rule Type: TCP over IPv4
Src IP addr: 0.0.0.0 mask: 255.255.255.255
Dest IP addr: 0.0.0.0 mask: 255.255.255.255
TOS: 0x0 mask: 0xff
Src port: 0 mask: 0xffff
Dest port: 0 mask: 0xffff
VLAN EtherType: 0x0 mask: 0xffff
VLAN: 0x0 mask: 0xf000
User-defined: 0x1234 mask: 0x0
Action: Direct to queue 3

Fix it by return 0.

Fixes: dd74f815dd41 ("net: hns3: Add support for rule add/delete for flow director")
Signed-off-by: Jian Shen <shenjian15@huawei.com>
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
---
 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
index 34b744d..932cfd1 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
@@ -6330,8 +6330,7 @@ static void hclge_fd_get_ext_info(struct ethtool_rx_flow_spec *fs,
 		fs->h_ext.vlan_tci = cpu_to_be16(rule->tuples.vlan_tag1);
 		fs->m_ext.vlan_tci =
 				rule->unused_tuple & BIT(INNER_VLAN_TAG_FST) ?
-				cpu_to_be16(VLAN_VID_MASK) :
-				cpu_to_be16(rule->tuples_mask.vlan_tag1);
+				0 : cpu_to_be16(rule->tuples_mask.vlan_tag1);
 	}
 
 	if (fs->flow_type & FLOW_MAC_EXT) {
-- 
2.7.4


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

* [PATCH net 3/3] net: hns3: fix bug when calculating the TCAM table info
  2021-02-27  3:34 [PATCH net 0/3] net: hns3: fixes fot -net Huazhong Tan
  2021-02-27  3:34 ` [PATCH net 1/3] net: hns3: fix error mask definition of flow director Huazhong Tan
  2021-02-27  3:34 ` [PATCH net 2/3] net: hns3: fix query vlan mask value error for " Huazhong Tan
@ 2021-02-27  3:34 ` Huazhong Tan
  2021-02-27  5:59 ` [PATCH net 0/3] net: hns3: fixes fot -net Huazhong Tan
  3 siblings, 0 replies; 5+ messages in thread
From: Huazhong Tan @ 2021-02-27  3:34 UTC (permalink / raw)
  To: davem, kuba
  Cc: netdev, salil.mehta, yisen.zhuang, huangdaode, linuxarm,
	Jian Shen, Huazhong Tan

From: Jian Shen <shenjian15@huawei.com>

The function hclge_fd_convert_tuple() is used to convert tuples
and tuples mask to TCAM x and y.  But it misuses the source mac
as source mac mask when convert INNER_SRC_MAC, which may cause
the flow director rule works unexpectedly. So fix it.

Fixes: 117328680288 ("net: hns3: Add input key and action config support for flow director")
Signed-off-by: Jian Shen <shenjian15@huawei.com>
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
---
 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
index 932cfd1..e3f81c7 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
@@ -5245,9 +5245,9 @@ static bool hclge_fd_convert_tuple(u32 tuple_bit, u8 *key_x, u8 *key_y,
 	case BIT(INNER_SRC_MAC):
 		for (i = 0; i < ETH_ALEN; i++) {
 			calc_x(key_x[ETH_ALEN - 1 - i], rule->tuples.src_mac[i],
-			       rule->tuples.src_mac[i]);
+			       rule->tuples_mask.src_mac[i]);
 			calc_y(key_y[ETH_ALEN - 1 - i], rule->tuples.src_mac[i],
-			       rule->tuples.src_mac[i]);
+			       rule->tuples_mask.src_mac[i]);
 		}
 
 		return true;
-- 
2.7.4


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

* Re: [PATCH net 0/3] net: hns3: fixes fot -net
  2021-02-27  3:34 [PATCH net 0/3] net: hns3: fixes fot -net Huazhong Tan
                   ` (2 preceding siblings ...)
  2021-02-27  3:34 ` [PATCH net 3/3] net: hns3: fix bug when calculating the TCAM table info Huazhong Tan
@ 2021-02-27  5:59 ` Huazhong Tan
  3 siblings, 0 replies; 5+ messages in thread
From: Huazhong Tan @ 2021-02-27  5:59 UTC (permalink / raw)
  To: davem, kuba; +Cc: netdev, salil.mehta, yisen.zhuang, huangdaode, linuxarm

Sorry, please ignore this series, will resend it later.

On 2021/2/27 11:34, Huazhong Tan wrote:
> The patchset includes some fixes for the HNS3 ethernet driver.
>
> Jian Shen (3):
>    net: hns3: fix error mask definition of flow director
>    net: hns3: fix query vlan mask value error for flow director
>    net: hns3: fix bug when calculating the TCAM table info
>
>   drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h  | 6 +++---
>   drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 7 +++----
>   2 files changed, 6 insertions(+), 7 deletions(-)
>


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

end of thread, other threads:[~2021-02-27  6:00 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-27  3:34 [PATCH net 0/3] net: hns3: fixes fot -net Huazhong Tan
2021-02-27  3:34 ` [PATCH net 1/3] net: hns3: fix error mask definition of flow director Huazhong Tan
2021-02-27  3:34 ` [PATCH net 2/3] net: hns3: fix query vlan mask value error for " Huazhong Tan
2021-02-27  3:34 ` [PATCH net 3/3] net: hns3: fix bug when calculating the TCAM table info Huazhong Tan
2021-02-27  5:59 ` [PATCH net 0/3] net: hns3: fixes fot -net Huazhong Tan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.