9a7d3af22c
The maximum number of queues for one TC hns3 PF PMD driver supported is 64 based on hns3 network engine with revision_id equals 0x21, while it is expanded up to 512 on hns3 network engine with revision_id equals 0x30. So the following points need to be modified to maintain better compatibility. 1) Using a extended rss_size_max field as the maximum queue number of one TC PF driver supported. 2) The data type of the RSS redirection table needs to be changed from uint8_t to uint16_t. 3) rss_tc_mode modification The bitwidth of tc_offset, meaning the rx queue index, has to expand from 10 bit to 11 bits. The tc_size, meaning the exponent with base 2 of queues supported on TC, needs to expand from 3 bits to 4 bits. 4) RSS indirection table modification Currently, a field with 7 bits width is used to record the queue index for RSS indirection table. It means that PF needs to expand the queue index field to 9 bits. As the RSS indirection table config command reserved 4 bytes to configure the RSS queue index, a extern field can be added. So an entries of RSS indirection table queue index has two fields to set: rss_result_l and rss_result_h, while rss_result_l records the lower 8 bits and rss_result_h records the higher 1 bit. In addition, 2~4 modifications is also compatible with hns3 VF PMD driver. Signed-off-by: Huisong Li <lihuisong@huawei.com> Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com> |
||
---|---|---|
.. | ||
hns3_cmd.c | ||
hns3_cmd.h | ||
hns3_dcb.c | ||
hns3_dcb.h | ||
hns3_ethdev_vf.c | ||
hns3_ethdev.c | ||
hns3_ethdev.h | ||
hns3_fdir.c | ||
hns3_fdir.h | ||
hns3_flow.c | ||
hns3_intr.c | ||
hns3_intr.h | ||
hns3_logs.h | ||
hns3_mbx.c | ||
hns3_mbx.h | ||
hns3_mp.c | ||
hns3_mp.h | ||
hns3_regs.c | ||
hns3_regs.h | ||
hns3_rss.c | ||
hns3_rss.h | ||
hns3_rxtx_vec_neon.h | ||
hns3_rxtx_vec.c | ||
hns3_rxtx_vec.h | ||
hns3_rxtx.c | ||
hns3_rxtx.h | ||
hns3_stats.c | ||
hns3_stats.h | ||
meson.build | ||
rte_pmd_hns3_version.map |