昇腾社区首页
中文
注册

dcmi_get_hccsping_mesh_info接口原型

函数原型

int dcmi_get_hccsping_mesh_info (int card_id, int device_id, int port_id, unsigned int task_id, struct dcmi_hccsping_mesh_info *hccsping_mesh_reply)

功能说明

查询ping mesh统计信息。

参数说明

参数名称

输入/输出

类型

描述

card_id

输入

int

指定NPU管理单元ID,当前实际支持的ID通过dcmi_get_card_list接口获取。

device_id

输入

int

指定设备编号,通过dcmi_get_device_id_in_card接口获取。取值范围如下:

NPU芯片:[0, device_id_max-1]。

port_id

输入

int

预留,NPU设备的网口端口号,当前仅支持配置0。

task_id

输入

int

任务号,取值范围[0, 1]。与dcmi_start_hccsping_mesh传入的任务号对应。

hccsping_mesh_reply

输出

struct dcmi_hccsping_mesh_info *

指定一个ping mesh常驻任务的统计信息,包含dst_addr、suc_pkt_num、fail_pkt_num、max_time、min_time、avg_time、tp95_time、reply_stat_num、ping_total_num、dest_num:

struct dcmi_hccsping_mesh_info {

char dst_addr[HCCS_PING_MESH_MAX_NUM][ADDR_MAX_LEN];//目的地址列表

unsigned int suc_pkt_num[HCCS_PING_MESH_MAX_NUM];//ping成功次数

unsigned int fail_pkt_num[HCCS_PING_MESH_MAX_NUM];//ping失败次数

long max_time[HCCS_PING_MESH_MAX_NUM];//ping最大时延

long min_time[HCCS_PING_MESH_MAX_NUM];//最小时延

long avg_time[HCCS_PING_MESH_MAX_NUM];//ping平均时延

long tp95_time[HCCS_PING_MESH_MAX_NUM];//ping时延TP95分位数

int reply_stat_num[HCCS_PING_MESH_MAX_NUM];//统计结果所用样本轮数

unsigned long long ping_total_num[HCCS_PING_MESH_MAX_NUM];//常驻任务开启以来ping的总轮数

int dest_num;//目的地址数量

};

说明:
  • 输出的结构体中,目的地址在dst_addr的下标与ping该地址的统计结果在各个数组中的下标相同。例如,ping dst_addr[0]的成功次数是suc_pkt_num[0],失败次数是fail_pkt_num[0],以此类推。
  • 当max_time、min_time、avg_time、tp95_time的值为-1时,表示对应目的地址未ping通。

返回值说明

类型

描述

int

处理结果:

  • 成功:返回0。
  • 失败:返回码请参见返回码

异常处理

约束说明

表1 部署场景

Linux物理机

Linux物理机容器

root用户

运行用户组(非root用户)

root用户

N

N

N

调用示例

… 
int ret = 0;
int card_id = 0;
int device_id = 0;
int port_id = 0;
unsigned int task_id = 0;
struct dcmi_hccsping_mesh_info hccsping_mesh_reply = {0}
ret = dcmi_get_hccsping_mesh_info (card_id, device_id, port_id, task_id, &hccsping_mesh_reply);
if (ret != 0){
    //todo:记录日志
    return ret;
}
…