Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp3525488pxv; Mon, 19 Jul 2021 02:19:14 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwM6TJ7YcOnBQatprHbipIO/GROezppsSytXKRAsJwvQjXxN0mNR71iMXEi3XeBI8IkomWm X-Received: by 2002:a02:93a3:: with SMTP id z32mr21240034jah.33.1626686353873; Mon, 19 Jul 2021 02:19:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626686353; cv=none; d=google.com; s=arc-20160816; b=OrEzbGO82vru8E1fvyd6FH3CSRmxo5exu8qLRJbMAhPdnjCcWtaNjwJLRn4zCLD+g3 GolPmmDYt5iJAPmhW6r76js4eVdoKbsdnIKe0D3xBZKTN96KSfHASpUvRN7FIl2VkMUE GXQLGu8WJqNQLNmIn7IYyvNnlotbhg77DgenLHauf9Vn4aU8X0u14Vvl3j0GLHw/wZoq wzEiWrPfqVc+Yw9qI6Vp//Ji+AJAtx72qWXkPh/dijc0FXSMAj/9JKgGK+Y3EqO6y27N 6J6QDG54+KFREaxt+U8CjTMjOzfmqL819p7MOZE0DjIqC4DdIQFGL3iSA7HPc/Lo2ml1 aKjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from; bh=XA6jk6/u3+G5gYfOwN9lc49LS0rpslXWMvDX0qE9TyM=; b=a1MeczuSRlhrcw1mJIGVDnt7mwzyVl1In4vnLMVmQ4X5EkwlnGNcxeerntI78TWNxX 4iPjhsZCpnX+SongYQwnuKGk2x+BmJaLi/KD6bx5Tl9Xno5R5LZLb3UmUXYMzIRFALHy jT6VwXcVsLTN5WoIDMtOT90/Pywncjbgf5mA7+a+FoE+AYBZmmRwTGWtZkFcS7uxqZGt lp/u8ba99CzlDlDTH1sfKxfVVbCs0QEJdniQfz3AkBp50LxsrShnn6320msMP0FrKQxg QINqL3vPQBf8H6SSaqj+oTyC/BjHwGZ7kH+J2N27plavftm4BrJ6DMzQ2zaxuoqK4xCz K86A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z10si17787805ilz.130.2021.07.19.02.19.01; Mon, 19 Jul 2021 02:19:13 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235888AbhGSIgD (ORCPT + 99 others); Mon, 19 Jul 2021 04:36:03 -0400 Received: from szxga01-in.huawei.com ([45.249.212.187]:7033 "EHLO szxga01-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235411AbhGSIgA (ORCPT ); Mon, 19 Jul 2021 04:36:00 -0400 Received: from dggemv703-chm.china.huawei.com (unknown [172.30.72.57]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4GSx0G5HYKzYd5s; Mon, 19 Jul 2021 17:10:54 +0800 (CST) Received: from dggemi759-chm.china.huawei.com (10.1.198.145) by dggemv703-chm.china.huawei.com (10.3.19.46) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2176.2; Mon, 19 Jul 2021 17:16:39 +0800 Received: from localhost.localdomain (10.67.165.24) by dggemi759-chm.china.huawei.com (10.1.198.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2176.2; Mon, 19 Jul 2021 17:16:38 +0800 From: Guangbin Huang To: , , CC: , , , , Subject: [PATCH net 3/4] net: hns3: disable port VLAN filter when support function level VLAN filter control Date: Mon, 19 Jul 2021 17:13:07 +0800 Message-ID: <1626685988-25869-4-git-send-email-huangguangbin2@huawei.com> X-Mailer: git-send-email 2.8.1 In-Reply-To: <1626685988-25869-1-git-send-email-huangguangbin2@huawei.com> References: <1626685988-25869-1-git-send-email-huangguangbin2@huawei.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.67.165.24] X-ClientProxiedBy: dggems705-chm.china.huawei.com (10.3.19.182) To dggemi759-chm.china.huawei.com (10.1.198.145) X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Jian Shen For hardware limitation, port VLAN filter is port level, and effective for all the functions of the port. So if not support port VLAN bypass, it's necessary to disable the port VLAN filter, in order to support function level VLAN filter control. Fixes: 2ba306627f59 ("net: hns3: add support for modify VLAN filter state") Signed-off-by: Jian Shen Signed-off-by: Guangbin Huang --- drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 8 ++++++-- 1 file changed, 6 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 dd3354a57c62..ebeaf12e409b 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c @@ -9552,13 +9552,17 @@ static int hclge_set_vport_vlan_filter(struct hclge_vport *vport, bool enable) if (ret) return ret; - if (test_bit(HNAE3_DEV_SUPPORT_PORT_VLAN_BYPASS_B, ae_dev->caps)) + if (test_bit(HNAE3_DEV_SUPPORT_PORT_VLAN_BYPASS_B, ae_dev->caps)) { ret = hclge_set_port_vlan_filter_bypass(hdev, vport->vport_id, !enable); - else if (!vport->vport_id) + } else if (!vport->vport_id) { + if (test_bit(HNAE3_DEV_SUPPORT_VLAN_FLTR_MDF_B, ae_dev->caps)) + enable = false; + ret = hclge_set_vlan_filter_ctrl(hdev, HCLGE_FILTER_TYPE_PORT, HCLGE_FILTER_FE_INGRESS, enable, 0); + } return ret; } -- 2.8.1