Commit 79549957 authored by shenhao's avatar shenhao Committed by Yang Yingliang
Browse files

Revert: net: hns3: adds support for extended VLAN mode and 'QOS' in vlan 802.1Q protocol.



driver inclusion
category: Feature
bugzilla: NA
CVE: NA

---------------------------------------------------

This reverts commit 2eeca9da.

This patch adds support for extended VLAN mode, as we call dynamic
vlan mode. In this mode, vf vlan filter will be switch between enable
and disable, according to user configuration.

This patch also adds support for QOS in vlan 802.1Q protocol.

Signed-off-by: default avatarliaoguojia <liaoguojia@huawei.com>
Signed-off-by: default avatarshenhao <shenhao21@huawei.com>
Reviewed-by: default avatarZhong Zhaohui <zhongzhaohui@huawei.com>
Signed-off-by: default avatarYang Yingliang <yangyingliang@huawei.com>
Reviewed-by: default avatarJunxin Chen <chenjunxin1@huawei.com>
Signed-off-by: default avatarYang Yingliang <yangyingliang@huawei.com>
parent cea3dc48
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -729,12 +729,10 @@ struct hnae3_unic_private_info {
#define HNAE3_BPE		BIT(2)	/* broadcast promisc enable */
#define HNAE3_OVERFLOW_UPE	BIT(3)	/* unicast mac vlan overflow */
#define HNAE3_OVERFLOW_MPE	BIT(4)	/* multicast mac vlan overflow */
#define HNAE3_VLAN_FLTR		BIT(5)	/* enable vlan filter by promisc mode */
#define HNAE3_VF_VLAN_EN	BIT(6)	/* enable vf vlan filter by vlan used */
#define HNAE3_VLAN_FLTR		BIT(5)	/* enable vlan filter */
#define HNAE3_UPE		(HNAE3_USER_UPE | HNAE3_OVERFLOW_UPE)
#define HNAE3_MPE		(HNAE3_USER_MPE | HNAE3_OVERFLOW_MPE)
#define HNAE3_OVERFLOW_UMPE	(HNAE3_OVERFLOW_UPE | HNAE3_OVERFLOW_MPE)
#define HNAE3_VLAN_FLTR_EN	(HNAE3_VLAN_FLTR | HNAE3_VF_VLAN_EN)

struct hnae3_handle {
	struct hnae3_client *client;
+0 −3
Original line number Diff line number Diff line
@@ -583,7 +583,6 @@ static int hns3_nic_mc_unsync(struct net_device *netdev,

static u8 hns3_get_netdev_flags(struct net_device *netdev)
{
	struct hnae3_handle *h = hns3_get_handle(netdev);
	u8 flags = 0;

	if (netdev->flags & IFF_PROMISC) {
@@ -594,8 +593,6 @@ static u8 hns3_get_netdev_flags(struct net_device *netdev)
			flags |= HNAE3_USER_MPE;
	}

	flags |= (h->netdev_flags & HNAE3_VF_VLAN_EN);

	return flags;
}

+2 −3
Original line number Diff line number Diff line
@@ -110,8 +110,7 @@ static int hns3_lp_setup(struct net_device *ndev, enum hnae3_loop loop, bool en)
	} else {
		/* recover promisc mode before loopback test */
		hns3_request_update_promisc_mode(h);
		vlan_filter_enable = (h->netdev_flags & HNAE3_VLAN_FLTR_EN) ?
			false : true;
		vlan_filter_enable = ndev->flags & IFF_PROMISC ? false : true;
		hns3_enable_vlan_filter(ndev, vlan_filter_enable);
	}

@@ -401,7 +400,7 @@ static void hns3_self_test(struct net_device *ndev,
#if IS_ENABLED(CONFIG_VLAN_8021Q)
	if (dis_vlan_filter)
		h->ae_algo->ops->enable_vlan_filter(h,
					h->netdev_flags & HNAE3_VF_VLAN_EN);
					ndev->flags & IFF_PROMISC);
#endif

	if (if_running)
+0 −2
Original line number Diff line number Diff line
@@ -498,8 +498,6 @@ struct hclge_pf_res_cmd {
#define HCLGE_CFG_RSS_SIZE_M	GENMASK(31, 24)
#define HCLGE_CFG_SPEED_ABILITY_S	0
#define HCLGE_CFG_SPEED_ABILITY_M	GENMASK(7, 0)
#define HCLGE_CFG_VLAN_MODE_S		8
#define HCLGE_CFG_VLAN_MODE_M		GENMASK(9, 8)
#define HCLGE_CFG_UMV_TBL_SPACE_S	16
#define HCLGE_CFG_UMV_TBL_SPACE_M	GENMASK(31, 16)

+0 −8
Original line number Diff line number Diff line
@@ -2020,7 +2020,6 @@ static void hclge_dbg_dump_vlan_filter(struct hclge_dev *hdev,
	struct hclge_vlan_filter_ctrl_cmd *req;
	struct hclge_vport *vport;
	struct hclge_desc desc;
	bool has_vlan_used;
	u32 vf_id;
	int ret;

@@ -2049,19 +2048,12 @@ static void hclge_dbg_dump_vlan_filter(struct hclge_dev *hdev,
	}

	vport = &hdev->vport[vf_id];
	has_vlan_used = hclge_vf_vlan_need_enable(vport);

	dev_info(&hdev->pdev->dev, "vf_id:%u\n", req->vf_id);
	dev_info(&hdev->pdev->dev, "vlan_type:%u\n", req->vlan_type);
	dev_info(&hdev->pdev->dev, "vlan_fe:%u\n", req->vlan_fe);
	dev_info(&hdev->pdev->dev, "vf_vlan_en:%u\n", vport->vf_vlan_en);
	dev_info(&hdev->pdev->dev, "vlan_mode:%s\n",
		 (hdev->vlan_mode == HCLGE_VLAN_DEFAULT_MODE) ? "default" :
		 "dynamic");
	dev_info(&hdev->pdev->dev, "netdev_flags:%x\n",
		 vport->nic.netdev_flags);
	dev_info(&hdev->pdev->dev, "has_vlan_used:%s\n",
		 has_vlan_used ? "true" : "false");
	dev_info(&hdev->pdev->dev, "port_base_vlan_cfg_state:%u\n",
		 vport->port_base_vlan_cfg.state);
}
Loading