| From b36fc875bcdee56865c444a2cdae17d354a6d5f5 Mon Sep 17 00:00:00 2001 |
| From: Jian Shen <shenjian15@huawei.com> |
| Date: Sat, 27 Feb 2021 15:24:53 +0800 |
| Subject: net: hns3: fix bug when calculating the TCAM table info |
| |
| From: Jian Shen <shenjian15@huawei.com> |
| |
| commit b36fc875bcdee56865c444a2cdae17d354a6d5f5 upstream. |
| |
| 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> |
| Signed-off-by: Jakub Kicinski <kuba@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c |
| +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c |
| @@ -5115,9 +5115,9 @@ static bool hclge_fd_convert_tuple(u32 t |
| 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; |