dcmi_set_device_gateway接口原型
函数原型
int dcmi_set_device_gateway(int card_id, int device_id, enum dcmi_port_type input_type, int port_id, struct dcmi_ip_addr *gateway)
功能说明
设置网关地址。
参数说明
参数名称 |
输入/输出 |
类型 |
描述 |
---|---|---|---|
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]。 |
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]。 |
gateway |
输入 |
struct dcmi_ip_addr * |
网关地址 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 |
处理结果:
|
异常处理
无。
约束说明
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 gateway_address = 0xC801A8C0; //192.168.1.200(仅用作示例,以实际配置网关地址为准) struct dcmi_ip_addr ip_gateway_address = {0}; memcpy(&(ip_gateway_address.u_addr.ip4[0]),&gateway_address,4); ret = dcmi_set_device_gateway(card_id,device_id, DCMI_ROCE_PORT, port_id, &ip_gateway_address); if (ret != 0) { //todo:记录日志 return ret; } …
父主题: 配置管理接口