VLAN管理
本章节介绍VLAN管理的配置模型,以及配置的XML报文举例说明。
数据模型
VLAN管理的对应配置模型文件名为huawei-forward-traffic-security.yang、huawei-vlan.yang和ietf-interfaces.yang。
节点 |
说明 |
取值范围 |
备注 |
---|---|---|---|
/huawei-vlan:vlans/management-vlan/vlanid |
管理VLAN ID |
整数形式,取值范围为1~4094。 |
NA |
/huawei-vlan:vlans/id |
VLAN ID |
整数形式,取值范围为1~4094。 |
NA |
/huawei-vlan:vlan-pools/vlan-pool/name |
VLAN pool名称 |
字符串类型,可输入的字符串长度为1~31个字符。不能包含“?”和空格,双引号不能出现在字符串的首尾。 |
NA |
/huawei-vlan:vlan-pools/vlan-pool/vlans |
添加到VLAN pool中的VLAN范围 |
整数形式,取值范围为1~4094,格式为start-vlan[..end-vlan ]。其中,start-vlan必须小于end-vlan。例如,10..20表示将VLAN 10~20添加到VLAN pool中。 |
没有创建的VLAN也能够加入到VLAN pool中,请注意将VLAN加入VLAN pool后,必须创建该VLAN,否则该VLAN不生效。 |
/huawei-vlan:vlan-pools/vlan-pool/assignment-method |
VLAN pool中的VLAN分配算法 |
枚举值类型,取值如下:
|
NA |
/ietf-interfaces:interfaces/interface/huawei-vlan:vlan/port-link-type |
接口类型 |
接口类型
|
NA |
/ietf-interfaces:interfaces/interface/huawei-vlan:vlan/default-vlan |
缺省VLAN ID |
整数形式,取值范围为1~4094。 |
NA |
/ietf-interfaces:interfaces/interface/huawei-vlan:vlan/trunk |
Trunk类型 |
- |
NA |
/ietf-interfaces:interfaces/interface/huawei-vlan:vlan/trunk-vlan |
Trunk类型接口允许通过的VLAN |
说明:
VLAN range和VLAN list互斥。 |
NA |
/ietf-interfaces:interfaces/interface/huawei-vlan:vlan/hybrid |
Hybrid类型 |
- |
NA |
/ietf-interfaces:interfaces/interface/huawei-vlan:vlan/hybrid/tagged-vlan |
Hybrid类型接口允许通过的VLAN,这些VLAN的帧以Tagged方式通过接口 |
整数形式,取值范围为1~4094。 |
NA |
/ietf-interfaces:interfaces/interface/huawei-vlan:vlan/hybrid/untagged-vlan |
Hybrid类型接口允许通过的VLAN,这些VLAN的帧以Untagged方式通过接口 |
整数形式,取值范围为1~4094。 |
NA |
/ietf-interfaces:interfaces/interface/huawei-vlan:vlan/name |
VLAN的名字 |
字符串格式,长度范围是1~31,区分大小写,不支持“?”。 |
NA |
/ietf-interfaces:interfaces/interface/huawei-vlan:vlan/description |
VLAN的描述 |
字符串格式,长度范围是1~255,区分大小写,不支持“?”。 |
NA |
/huawei-vlan:vlans/vlan/huawei-traffic:traffic-security/ipv4-check-enable |
是否使能VLAN下的IPv4报文检查功能 |
布尔型,具体取值如下:
缺省值是false。 |
NA |
/huawei-vlan:vlans/vlan/huawei-traffic:traffic-security/ipv6-check-enable |
是否使能VLAN下的IPv6报文检查功能 |
布尔型,具体取值如下:
缺省值是false。 |
NA |
/huawei-vlan:vlans/vlan/huawei-traffic:traffic-security/arp-check-enable |
是否使能VLAN下的ARP报文检查功能 |
布尔型,具体取值如下:
缺省值是false。 |
NA |
/huawei-vlan:vlans/vlan/ip-subnet-vlan/ip-prefix |
基于IP子网划分VLAN依据的源IP地址或网络地址和掩码长度 |
格式为ipv4-address/mask-length:
|
NA |
/huawei-vlan:vlans/vlan/ip-subnet-vlan/priority |
IP地址或网段对应VLAN的802.1p优先级 |
整数形式,取值范围是0~7,值越大优先级越高。缺省值是0。 |
NA |
/ietf-interfaces:interfaces/interface/huawei-vlan:ip-subnet-vlan-enable/enable |
是否使能接口基于IP子网划分VLAN的功能 |
布尔型,具体取值如下:
缺省值是false。 |
NA |
变更管理VLAN
本章节主要介绍通过rpc方法配置变更管理VLAN。
操作 |
XPATH |
---|---|
rpc |
/huawei-vlan:vlans/management-vlan/vlanid |
数据需求
项目 |
数据 |
描述 |
---|---|---|
VLAN ID |
100 |
变更管理VLAN为VLAN 100 |
请求示例
<?xml version='1.0' encoding='UTF-8'?> <rpc message-id="17" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <edit-config> <target> <running/> </target> <config> <huawei-vlan:vlans xmlns:huawei-vlan="urn:huawei:params:xml:ns:yang:huawei-vlan"> <huawei-vlan:vlan> <huawei-vlan:id>100</huawei-vlan:id> </huawei-vlan:vlan> <huawei-vlan:management-vlan> <huawei-vlan:vlanid>100</huawei-vlan:vlanid> </huawei-vlan:management-vlan> </huawei-vlan:vlans> </config> </edit-config> </rpc>
响应示例
配置成功响应示例
<?xml version='1.0' encoding='UTF-8'?> <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="17"> <ok/> </rpc-reply>
配置失败响应示例
<?xml version='1.0' encoding='UTF-8'?> <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="18"> <rpc-error> <error-type>application</error-type> <error-tag>operation-failed</error-tag> <error-severity>error</error-severity> <error-message>parse rpc config error.</error-message> </rpc-error> </rpc-reply>
创建VLAN
本章节主要介绍通过rpc方法创建VLAN。
操作 |
XPATH |
---|---|
rpc |
/huawei-vlan:vlans/id |
数据需求
项目 |
数据 |
描述 |
---|---|---|
VLAN ID |
100 |
创建VLAN 100 |
请求示例
<?xml version='1.0' encoding='UTF-8'?> <rpc message-id="25" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <edit-config> <target> <running/> </target> <config> <huawei-vlan:vlans xmlns:huawei-vlan="urn:huawei:params:xml:ns:yang:huawei-vlan"> <huawei-vlan:vlan> <huawei-vlan:id>100</huawei-vlan:id> </huawei-vlan:vlan> </huawei-vlan:vlans> </config> </edit-config> </rpc>
响应示例
配置成功响应示例
<?xml version='1.0' encoding='UTF-8'?> <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="25"> <ok/> </rpc-reply>
配置失败响应示例
<?xml version='1.0' encoding='UTF-8'?> <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="26"> <rpc-error> <error-type>application</error-type> <error-tag>operation-failed</error-tag> <error-severity>error</error-severity> <error-message>parse rpc config error.</error-message> </rpc-error> </rpc-reply>
配置接口加入VLAN
本章节主要介绍通过rpc方法配置接口加入VLAN。
操作 |
XPATH |
---|---|
edit-config:create |
/ietf-interfaces:interfaces/interface/huawei-vlan:vlan/id |
数据需求
项目 |
数据 |
描述 |
---|---|---|
VLAN ID |
100,101,102 |
配置接口加入VLAN 100,101,102 |
请求示例
<?xml version='1.0' encoding='UTF-8'?>
<rpc message-id="6" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<edit-config>
<target>
<running/>
</target>
<config>
<if:interfaces xmlns:if="urn:ietf:params:xml:ns:yang:ietf-interfaces">
<if:interface>
<if:name>GigabitEthernet0/0/3</if:name>
<if:type xmlns:iana-if-type="urn:ietf:params:xml:ns:yang:iana-if-type">iana-if-type:ethernetCsmacd</if:type>
<huawei-vlan:vlan xmlns:huawei-vlan="urn:huawei:params:xml:ns:yang:huawei-vlan">
<huawei-vlan:port-link-type>trunk</huawei-vlan:port-link-type>
<huawei-vlan:trunk>
<huawei-vlan:trunk-vlan>100</huawei-vlan:trunk-vlan>
</huawei-vlan:trunk>
<huawei-vlan:trunk>
<huawei-vlan:trunk-vlan>101</huawei-vlan:trunk-vlan>
</huawei-vlan:trunk>
<huawei-vlan:trunk>
<huawei-vlan:trunk-vlan>102</huawei-vlan:trunk-vlan>
</huawei-vlan:trunk>
</huawei-vlan:vlan>
</if:interface>
</if:interfaces>
</config>
</edit-config>
</rpc>
响应示例
配置成功响应示例
<?xml version='1.0' encoding='UTF-8'?> <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="6"> <ok/> </rpc-reply>
配置失败响应示例
<?xml version='1.0' encoding='UTF-8'?> <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="7"> <rpc-error> <error-type>application</error-type> <error-tag>operation-failed</error-tag> <error-severity>error</error-severity> <error-message>parse rpc config error.</error-message> </rpc-error> </rpc-reply>
变更VLAN描述
本章节主要介绍通过xml基于VLAN下配置描述和名字。
操作 |
XPATH |
---|---|
RPC |
/huawei-vlan:vlans/name /huawei-vlan:vlans/description |
数据需求
项目 |
数据 |
描述 |
---|---|---|
VLAN的名字 |
1000 |
变更VLAN名字为1000 |
VLAN的描述 |
2000 |
VLAN信息的描述为2000 |
请求示例
<?xml version='1.0' encoding='UTF-8'?> <rpc message-id="1" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <edit-config> <target> <running/> </target> <config> <huawei-vlan:vlans xmlns:huawei-vlan="urn:huawei:params:xml:ns:yang:huawei-vlan"> <huawei-vlan:vlan> <huawei-vlan:id>100</huawei-vlan:id> <huawei-vlan:name>1000</huawei-vlan:name> <huawei-vlan:description>2000</huawei-vlan:description> </huawei-vlan:vlan> </huawei-vlan:vlans> </config> </edit-config> </rpc>
响应示例
配置成功响应示例
<?xml version='1.0' encoding='UTF-8'?> <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="0"> <ok/> </rpc-reply>
配置失败响应示例
<?xml version='1.0' encoding='UTF-8'?> <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="2"> <rpc-error> <error-app-tag>1</error-app-tag> <error-message>Service process failed.</error-message> <error-info>Error on node /huawei-vlan:vlans/vlan[id="100"]/description</error-info> </rpc-error> </rpc-reply>
创建VLAN pool
本章节主要介绍通过config方法创建VLAN pool。
操作 |
XPATH |
---|---|
edit-config:config |
|
数据需求
项目 | 数据 | 描述 |
---|---|---|
VLAN pool名称 | april | VLAN pool的名称为april |
添加到VLAN pool中的VLAN范围 | 10..20 | 添加到VLAN pool中的VLAN范围为VLAN 10到VLAN 20 |
VLAN pool中的VLAN分配算法 | even | 配置VLAN分配算法为顺序分配 |
请求示例
<?xml version='1.0' encoding='UTF-8'?> <rpc message-id="6" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <edit-config> <target> <running/> </target> <config> <huawei-vlan:vlan-pools xmlns:huawei-vlan="urn:huawei:params:xml:ns:yang:huawei-vlan"> <huawei-vlan:vlan-pool> <huawei-vlan:name>april</huawei-vlan:name> <huawei-vlan:vlans>10..20</huawei-vlan:vlans> <huawei-vlan:assignment-method>even</huawei-vlan:assignment-method> </huawei-vlan:vlan-pool> </huawei-vlan:vlan-pools> </config> </edit-config> </rpc>
响应示例
# 配置成功响应示例。
<?xml version='1.0' encoding='UTF-8'?> <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="6"> <ok/> </rpc-reply>
# 配置失败响应示例。
<?xml version='1.0' encoding='UTF-8'?> <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="6"> <rpc-error> <error-type>application</error-type> <error-tag>operation-failed</error-tag> <error-severity>error</error-severity> <error-path>/huawei-vlan:vlan-pools/vlan-pool[name='april']/vlans[.='10-20']</error-path> <error-message>parse rpc config error.(Invalid value in "vlans" element.).</error-message> </rpc-error> </rpc-reply>
配置VLAN下的IP报文检查功能
本章节主要介绍通过rpc方法配置VLAN下的IP报文检查功能。
操作 |
XPATH |
---|---|
edit-config:merge |
/huawei-vlan:vlans/id /huawei-vlan:vlans/vlan/huawei-traffic:traffic-security/ipv4-check-enable /huawei-vlan:vlans/vlan/huawei-traffic:traffic-security/ipv6-check-enable /huawei-vlan:vlans/vlan/huawei-traffic:traffic-security/arp-check-enable |
数据需求
项目 |
数据 |
描述 |
---|---|---|
VLAN ID |
100 |
- |
使能VLAN下的IPv4报文检查功能 |
true |
- |
使能VLAN下的IPv6报文检查功能 |
true |
- |
使能VLAN下的ARP报文检查功能 |
true |
- |
请求示例
<?xml version="1.0" encoding="utf-8"?> <rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="1"> <edit-config> <target> <running/> </target> <config> <huawei-vlan:vlans xmlns:huawei-vlan="urn:huawei:params:xml:ns:yang:huawei-vlan"> <huawei-vlan:vlan> <huawei-vlan:id>100</huawei-vlan:id> <hw-traffic:traffic-security xmlns:hw-traffic="urn:huawei:params:xml:ns:yang:huawei-traffic"> <hw-traffic:ipv4-check-enable>true</hw-traffic:ipv4-check-enable> <hw-traffic:ipv6-check-enable>true</hw-traffic:ipv6-check-enable> <hw-traffic:arp-check-enable>true</hw-traffic:arp-check-enable> </hw-traffic:traffic-security> </huawei-vlan:vlan> </huawei-vlan:vlans> </config> </edit-config> </rpc>
响应示例
配置成功响应示例
<?xml version='1.0' encoding='UTF-8'?> <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="1"> <ok/> </rpc-reply>
配置失败响应示例
<?xml version="1.0" encoding="utf-8"?> <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="1"> <rpc-error> <error-type>application</error-type> <error-tag>operation-failed</error-tag> <error-severity>error</error-severity> <error-path>/huawei-vlan:vlans/vlan[id='100']/huawei-traffic:traffic-security/ipv4-check-enable</error-path> <error-message>parse rpc config error.(Invalid value in "ipv4-check-enable" element.).</error-message> </rpc-error> </rpc-reply>
配置接口基于IP子网划分VLAN功能
本章节主要介绍通过edit-config方法配置接口基于IP子网划分VLAN功能。
操作 |
XPATH |
---|---|
edit-config:config |
/huawei-vlan:vlans/vlan/ip-subnet-vlan /ietf-interfaces:interfaces/interface/huawei-vlan:ip-subnet-vlan-enable/enable |
数据需求
项目 |
数据 |
---|---|
VLAN ID |
5 |
基于IP子网划分VLAN依据的源IP地址或网络地址和掩码长度 |
10.1.1.1/24 |
IP地址或网段对应VLAN的802.1p优先级 |
3 |
使能基于IP子网划分VLAN功能的接口 |
Eth-Trunk1 |
接口基于IP子网划分VLAN的功能的使能状态 |
true |
请求示例
<?xml version="1.0" encoding="utf-8"?> <rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="1"> <edit-config> <target> <running/> </target> <config xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"> <vlans xmlns="urn:huawei:params:xml:ns:yang:huawei-vlan"> <vlan nc:operation="replace"> <id>5</id> <ip-subnet-vlan> <ip-prefix>10.1.1.1/24</ip-prefix> <priority>3</priority> </ip-subnet-vlan> </vlan> </vlans> <if:interfaces nc:operation="replace" xmlns:if="urn:ietf:params:xml:ns:yang:ietf-interfaces"> <if:interface> <if:name>Eth-Trunk1</if:name> <if:type xmlns:ianaift="urn:ietf:params:xml:ns:yang:iana-if-type">ianaift:ethernetCsmacd</if:type> <huawei-vlan:ip-subnet-vlan-enable xmlns:huawei-vlan="urn:huawei:params:xml:ns:yang:huawei-vlan"> <huawei-vlan:enable>true</huawei-vlan:enable> </huawei-vlan:ip-subnet-vlan-enable> </if:interface> </if:interfaces> </config> </edit-config> </rpc>
删除示例
<?xml version="1.0" encoding="utf-8"?> <rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="2"> <edit-config> <target> <running/> </target> <config xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"> <vlans xmlns="urn:huawei:params:xml:ns:yang:huawei-vlan"> <vlan nc:operation="replace"> <id>5</id> </vlan> </vlans> <if:interfaces nc:operation="replace" xmlns:if="urn:ietf:params:xml:ns:yang:ietf-interfaces"> <if:interface> <if:name>Eth-Trunk1</if:name> <if:type xmlns:ianaift="urn:ietf:params:xml:ns:yang:iana-if-type">ianaift:ethernetCsmacd</if:type> </if:interface> </if:interfaces> </config> </edit-config> </rpc>
响应示例
配置成功响应示例
<?xml version="1.0" encoding="utf-8"?> <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="1"> <ok/> </rpc-reply>
配置失败响应示例
<?xml version="1.0" encoding="utf-8"?> <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="1"> <rpc-error> <error-app-tag>-1</error-app-tag> <error-message> Invalid IP address.</error-message> <error-info>Error on node /huawei-vlan:vlans/vlan[id="6"]</error-info> </rpc-error> </rpc-reply>