下载
中文
注册

dcmi_get_qp_info接口原型

函数原型

int dcmi_get_qp_info (int card_id, int device_id, int port_id, unsigned int qpn, struct dcmi_qp_info *qp_info)

功能说明

根据qpn获取qp context信息。

参数说明

参数名称

输入/输出

类型

描述

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。

qpn

输入

unsigned int

qp number

qp_info

输出

struct dcmi_qp_info*

查询到的qp信息

#define IP_ADDRESS_LEN 40

struct dcmi_qp_info {

unsigned char status; // qp状态

unsigned char type; // qp类型

char ip[IP_ADDRESS_LEN];// 目标ip地址

unsigned short src_port; // 源端口

unsigned int src_qpn; // 源qp号

unsigned int dst_qpn; // 目标qp号

unsigned int send_psn; // 发送的psn

unsigned int recv_psn; // 接收的psn

char reserved[32]; // 保留字段

};

返回值

类型

描述

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 qpn = 0;
struct dcmi_qp_info qp_info = {0};
ret = dcmi_get_qp_info(card_id, device_id, port_id, qpn, &qp_info);
if (ret != 0){
    //todo:记录日志
    return ret;
}
…