Skip to main content

save_vlan_x 保存VLAN设备参数

POST /api/v1/network/save_vlan_x

描述

添加/修改VLAN连接接口,用于添加新的网络VLAN连接或者修改现有的网络VLAN连接。 这个接口用于在网络配置主页面添加新的网络VLAN连接。对应命令 nmcli connection add vlan connection。

VLAN Master设备冲突检测:

  • 检测内容:检查VLAN的master设备是否被任何已启用的Bond连接作为slave设备使用,如果冲突返回错误,阻止保存配置
  • 原因:一个物理接口不能既作为Bond的slave设备,又作为VLAN的master设备,会导致网络层次冲突

VLAN Master设备有效性检测:

  • 检测内容:检查VLAN的master设备是否为有效的网络接口(物理接口或已启用的Bond接口),如果无效返回错误,阻止保存配置
  • 原因:VLAN子接口必须依赖于一个有效的父接口才能正常工作

管理接口(eth_ntp5)保护检测:

  • 检测内容:检查VLAN的master设备是否为管理接口,如果是返回错误,阻止保存配置
  • 原因:管理接口应保持独立配置,不建议作为VLAN的master设备,避免管理网络复杂化

VLAN ID唯一性检测:

  • 检测内容:检查在指定的master设备上,VLAN ID是否已被其他VLAN连接使用,如果冲突返回错误,阻止保存配置
  • 原因:IEEE 802.1Q标准规定,同一物理接口上的VLAN ID必须唯一,重复的VLAN ID会导致网络标签冲突

VLAN名称唯一性检测:

  • 检测内容:检查VLAN名称是否已被其他VLAN连接使用,如果冲突返回错误,阻止保存配置
  • 原因:系统中的VLAN接口名称必须唯一,重复名称会导致接口识别混乱

VLAN优先级验证:

  • 检测内容:验证VLAN优先级是否在IEEE 802.1p标准范围内(0-7),如果超出范围返回错误,阻止保存配置
  • 原因:IEEE 802.1p QoS优先级字段为3位,只支持0-7八个级别,超出范围的值无法在网络设备中正确处理

访问权限

需要登录,具备以下权限:

network:save_connection_x

JSON参数

请求参数如下:

{
"vlanName": "string", // 设备名称,如vlan0, vlan1等。 添加时候vlanName为空
"masterDevice": string, // 主设备名称,如eth0
"vlanId": number, // VLAN ID
"ipv4Method": "dhcp"|"manual", // IPv4地址获取方式:如dhcp, manual
"ipv4Address": string, // IPv4地址 xxx/xx CIDR格式, 可以多个用逗号分隔
"ipv4Gateway": string, // IPv4网关
"ipv6Method": "auto"|"dhcp"|"manual", // IPv6地址获取方式:如auto dhcp, manual
"ipv6Address": string, // IPv6地址 xxx/xx 格式,CIDR格式,可以多个用逗号分隔
"ipv6Gateway": string, // IPv6网关
"tags": "tag1,tag2", // 设备标签, 用于机器批量处理
"description": string, // 设备描述, 用于用户备注用途
"enabled": true|false, // 连接是否启用
"priority": number // VLAN优先级 (0-7), 数值越大优先级越高, 默认0
}
tip
  • vlanName : 设备名称,如vlan0, vlan1等, 添加时候vlanName为空
  • masterDevice : 主设备名称,如eth0
  • vlanId : VLAN ID
  • ipv4Method : IPv4地址获取方式:如dhcp, manual
  • ipv4Address : IPv4地址 xxx/xx 格式, CIDR格式,可以多个用逗号分隔
  • ipv4Gateway : IPv4网关
  • ipv6Method : IPv6地址获取方式:如auto dhcp, manual
  • ipv6Address : IPv6地址 xxx/xx 格式, CIDR格式,可以多个用逗号分隔
  • ipv6Gateway : IPv6网关
  • tags : 设备标签, 用于用户备注用途

响应结果

请求返回的HTTP状态码为200

返回结果为JSON格式的数据,您可以通过解析JSON数据来获取API调用的结果信息。结构如下:

{
"success": true|false,
"errorCode"?: "option string",
"errorMessage"?: "option string",
"showType"?: 0|1|2|4|9,
"traceId"?: "option string"
}