CANN驱动DCMI获取设备IP
dcmi_get_device_ip【免费下载链接】driver本项目是CANN提供的驱动模块实现基础驱动和资源管理及调度等功能使能昇腾芯片。项目地址: https://gitcode.com/cann/driver函数原型int dcmi_get_device_ip(int card_id, int device_id, enum dcmi_port_type input_type, int port_id, struct dcmi_ip_addr *ip,struct dcmi_ip_addr *mask)功能说明获取IP地址和mask地址。参数说明参数名称输入/输出类型描述card_id输入int设备ID当前实际支持的ID通过dcmi_get_card_list接口获取。device_id输入int芯片ID通过dcmi_get_device_id_in_card接口获取。取值范围如下NPU芯片[0, device_id_max-1]。说明device_id_max值为1当device_id为0时表示NPU芯片当device_id为1时表示MCU芯片。input_type输入enum dcmi_port_type指定网口类型。enum dcmi_port_type {DCMI_VNIC_PORT 0, //虚拟网口DCMI_ROCE_PORT 1, //ROCE网口DCMI_INVALID_PORT};port_id输入int指定网口号保留字段。取值范围[0, 255]。ip输出struct dcmi_ip_addr *IP地址struct dcmi_ip_addr {union {unsigned char ip6[16]; //IPv6地址unsigned char ip4[4]; //IPv4地址} u_addr;enum dcmi_ip_addr_type ip_type; //IP类型};说明支持IPv6协议ip6数组中第一位元素的值为该IP信息的前缀合法值为0~128其他元素无意义。mask输出struct dcmi_ip_addr *mask地址struct dcmi_ip_addr {union {unsigned char ip6[16]; //IPv6地址unsigned char ip4[4]; //IPv4地址} u_addr;enum dcmi_ip_addr_type ip_type; //IP类型};返回值说明类型描述int处理结果成功返回0。失败返回码请参见return_codes。异常处理无。约束说明表 1不同部署场景下的支持情况产品形态物理机场景裸机root用户物理机场景裸机运行用户组非root用户物理机普通容器场景root用户Atlas 900 A2 PoD 集群基础单元YYYAtlas 800T A2 训练服务器YYYAtlas 800I A2 推理服务器YYYAtlas 200T A2 Box16 异构子框YYYA200I A2 Box 异构组件YYYAtlas 300I A2 推理卡NNNAtlas 300T A2 训练卡NNN注Y表示支持N表示不支持NA表示不涉及当前未规划此场景。调用示例… int ret 0; int card_id 0; int device_id 0; int port_id 0; struct dcmi_ip_addr ip_address {0}; struct dcmi_ip_addr ip_mask_address {0}; ret dcmi_get_device_ip(card_id,device_id, DCMI_ROCE_PORT, port_id, ip_address, ip_mask_address); if (ret ! 0) { //todo:记录日志 return ret; } …【免费下载链接】driver本项目是CANN提供的驱动模块实现基础驱动和资源管理及调度等功能使能昇腾芯片。项目地址: https://gitcode.com/cann/driver创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考