Unverified Commit d72a04ac authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!5464 net: hns3: backport some driver feature enhancement

Merge Pull Request from: @svishen 
 
There are some private patches for hns3 driver.

Guangbin Huang (2):
  net: ethtool: add VxLAN to the NFC API
  net: hns3: support set/get VxLAN rule of rx flow director by ethtool

Hao Chen (2):
  net: hns3: correct the logic of hclge_sync_vf_qb_mode()
  net: hns3: add support to query scc version by devlink info

Hao Lan (3):
  net: hns3: add command queue trace for hns3
  net: sfp: Synchronize some CMIS transceiver modules from ethtool
  net: hns3: Add support for some CMIS transceiver modules

Jian Shen (5):
  net: hns3: add support for queue bonding mode of flow director
  net: hns3: add queue bonding mode support for VF
  net: hns3: allocate fd counter for queue bonding
  net: hns3: add support for page_pool_get_stats
  net: hns3: default select PAGE_POOL_STATS

Ke Chen (5):
  net: hns3: add ROH MAC type definitions and support query MAC type
  net: hns3: add support handling tx dhcp packets for ROH
  net: hns3: HNAE3 framework add support for ROH client
  net: hns3: fix bug for init roh client instance
  net: hns3: add support for ROH ras

Peiyang Wang (5):
  net: hns3: dump more reg info based on ras mod
  net: hns3: support tc command with max rate parameter
  net: hns3: support tc limit rate
  net: hns3: add arp proxy switch in ethtool
  net: hns3: support arp proxy

liaoguojia (2):
  net: hns3: refactor the debugfs for dumping FD tcam
  net: hns3: add support for FD counter

issue:
https://gitee.com/openeuler/kernel/issues/I9A3QT 
 
Link:https://gitee.com/openeuler/kernel/pulls/5464

 

Reviewed-by: default avatarLiu Chao <liuchao173@huawei.com>
Reviewed-by: default avatarYue Haibing <yuehaibing@huawei.com>
Signed-off-by: default avatarZheng Zengkai <zhengzengkai@huawei.com>
parents ce302288 7da28eff
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1936,7 +1936,7 @@ CONFIG_NET_SELFTESTS=y
CONFIG_NET_SOCK_MSG=y
CONFIG_NET_DEVLINK=y
CONFIG_PAGE_POOL=y
# CONFIG_PAGE_POOL_STATS is not set
CONFIG_PAGE_POOL_STATS=y
CONFIG_FAILOVER=m
CONFIG_ETHTOOL_NETLINK=y
CONFIG_NETACC_BPF=y
+1 −0
Original line number Diff line number Diff line
@@ -92,6 +92,7 @@ config HNS3
	depends on PCI
	select NET_DEVLINK
	select PAGE_POOL
	select PAGE_POOL_STATS
	help
	  This selects the framework support for Hisilicon Network Subsystem 3.
	  This layer facilitates clients like ENET, RoCE and user-space ethernet
+1 −1
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@ obj-$(CONFIG_HNS3) += hnae3.o

obj-$(CONFIG_HNS3_ENET) += hns3.o
hns3-objs = hns3_enet.o hns3_ethtool.o hns3_debugfs.o
hns3-objs += hns3_ext.o
hns3-objs += hns3_ext.o hns3_roh.o

hns3-$(CONFIG_HNS3_DCB) += hns3_dcbnl.o

+8 −0
Original line number Diff line number Diff line
@@ -47,6 +47,8 @@ enum HCLGE_MBX_OPCODE {
	HCLGE_MBX_VF_UNINIT,            /* (VF -> PF) vf is unintializing */
	HCLGE_MBX_HANDLE_VF_TBL,	/* (VF -> PF) store/clear hw table */
	HCLGE_MBX_GET_RING_VECTOR_MAP,	/* (VF -> PF) get ring-to-vector map */
	HCLGE_MBX_SET_QB = 0x28,        /* (VF -> PF) set queue bonding */
	HCLGE_MBX_PUSH_QB_STATE,        /* (PF -> VF) push qb state */

	HCLGE_MBX_GET_VF_FLR_STATUS = 200, /* (M7 -> PF) get vf flr status */
	HCLGE_MBX_PUSH_LINK_STATUS,	/* (M7 -> PF) get port link status */
@@ -77,6 +79,12 @@ enum hclge_mbx_tbl_cfg_subcode {
	HCLGE_MBX_VPORT_LIST_CLEAR,
};

enum hclge_mbx_qb_cfg_subcode {
	HCLGE_MBX_QB_CHECK_CAPS = 0,	/* query whether support qb */
	HCLGE_MBX_QB_ENABLE,		/* request pf enable qb */
	HCLGE_MBX_QB_GET_STATE		/* query whether qb enabled */
};

#define HCLGE_MBX_MAX_MSG_SIZE	14
#define HCLGE_MBX_MAX_RESP_DATA_SIZE	8U
#define HCLGE_MBX_MAX_RING_CHAIN_PARAM_NUM	4
+9 −1
Original line number Diff line number Diff line
@@ -40,7 +40,8 @@ static DEFINE_MUTEX(hnae3_common_lock);
static bool hnae3_client_match(enum hnae3_client_type client_type)
{
	if (client_type == HNAE3_CLIENT_KNIC ||
	    client_type == HNAE3_CLIENT_ROCE)
	    client_type == HNAE3_CLIENT_ROCE ||
	    client_type == HNAE3_CLIENT_ROH)
		return true;

	return false;
@@ -60,6 +61,9 @@ void hnae3_set_client_init_flag(struct hnae3_client *client,
	case HNAE3_CLIENT_ROCE:
		hnae3_set_bit(ae_dev->flag, HNAE3_ROCE_CLIENT_INITED_B, inited);
		break;
	case HNAE3_CLIENT_ROH:
		hnae3_set_bit(ae_dev->flag, HNAE3_ROH_CLIENT_INITED_B, inited);
		break;
	default:
		break;
	}
@@ -80,6 +84,10 @@ static int hnae3_get_client_init_flag(struct hnae3_client *client,
		inited = hnae3_get_bit(ae_dev->flag,
				       HNAE3_ROCE_CLIENT_INITED_B);
		break;
	case HNAE3_CLIENT_ROH:
		inited = hnae3_get_bit(ae_dev->flag,
				       HNAE3_ROH_CLIENT_INITED_B);
		break;
	default:
		break;
	}
Loading