Currently, '.get_dcb_info' must be supported for the port doing DCB test, or all information in 'rte_eth_dcb_info' are zero. It should be prevented when user run cmd "port config 0 dcb vt off 4 pfc off".
This patch adds the check for support of reporting dcb info. Signed-off-by: Huisong Li <lihuis...@huawei.com> Signed-off-by: Lijun Ou <ouli...@huawei.com> --- app/test-pmd/cmdline.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index 5fdcc1c..14750b3 100644 --- a/app/test-pmd/cmdline.c +++ b/app/test-pmd/cmdline.c @@ -3270,6 +3270,7 @@ cmd_config_dcb_parsed(void *parsed_result, __rte_unused void *data) { struct cmd_config_dcb *res = parsed_result; + struct rte_eth_dcb_info dcb_info; portid_t port_id = res->port_id; struct rte_port *port; uint8_t pfc_en; @@ -3292,6 +3293,14 @@ cmd_config_dcb_parsed(void *parsed_result, printf("nb_cores shouldn't be less than number of TCs.\n"); return; } + + /* Check whether the port supports the report of DCB info. */ + ret = rte_eth_dev_get_dcb_info(port_id, &dcb_info); + if (ret == -ENOTSUP) { + printf("The port must support rte_eth_dev_get_dcb_info API, or can't do dcb test.\n"); + return; + } + if (!strncmp(res->pfc_en, "on", 2)) pfc_en = 1; else -- 2.7.4