昇腾社区首页
中文
注册

dcmi_start_hccsping_mesh接口原型

函数原型

int dcmi_start_hccsping_mesh (int card_id, int device_id, int port_id, struct dcmi_hccsping_mesh_operate *hccsping_mesh)

功能说明

开启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。

hccsping_mesh

输入

struct dcmi_hccsping_mesh_operate *

开启pingmesh常驻任务的相关信息,包含dst_addr_list、pkt_size、pkt_send_num、pkt_interval、task_interval、task_id、timeout。

struct dcmi_hccsping_mesh_operate {

char dst_addr_list[IP_ADDR_LIST_LEN];//IPv4地址/sdid列表,二者选其一,以英文逗号分割

int pkt_size;//ping报文大小,取值范围[1792, 3000],单位Byte。

其中报文头大小为1024Byte,后续1025Byte~pkt_size字段进行正确性校验,每1024Byte的字段类型分布为:0xFF(256Byte)、0x00(256Byte)、0xAA(256Byte)、0x55(256Byte)

int pkt_send_num;//ping报文发送数量,取值范围[1, 1000]

int pkt_interval;//ping报文间隔,取值范围[0, 1000],单位ms

int timeout;//预留,报文超时时间,timeout>=0

int task_interval;//常驻任务轮询间隔,取值范围[1, 60],单位s

int task_id;//任务号,取值范围[0, 1]

};

返回值说明

类型

描述

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;
struct dcmi_hccsping_mesh_operate hccsping_mesh = {
        .dst_addr_list = "192.0.2.193,192.0.3.198,192.0.2.195",
        .pkt_size = 1792,
        .pkt_send_num = 4,
        .pkt_interval = 1,
        .timeout = 1,
        .task_interval = 1,
        .task_id = 0
    };
ret = dcmi_start_hccsping_mesh (card_id, device_id, port_id, &hccsping_mesh);
if (ret != 0){
    //todo:记录日志
    return ret;
}
…