VPLS Management
This section describes the configuration model of VPLS management and provides examples of XML packets.
Data Model
The configuration model file matching VPLS is huawei-l2vpn.yang.
Object |
Description |
Value |
Remarks |
---|---|---|---|
/huawei-l2vpn:l2vpn/l2vpncommon/l2vpnGlobal/l2vpnEnable |
Indicates whether MPLS L2VPN is enabled. |
The value is of the Boolean type:
The default value is false. |
N/A |
/huawei-l2vpn:l2vpn/l2vpnvpls/vplsInstances/vplsInstance/instanceName |
Indicates the name of a VSI. |
The value is a string of 1 to 31 case-sensitive characters without spaces. If the string is enclosed in double quotation marks (" "), the string can contain spaces. |
N/A |
/huawei-l2vpn:l2vpn/l2vpnvpls/vplsInstances/vplsInstance/vplsAcs/vplsAc/interfaceName |
Indicates the name of an interface. |
Specifies the type and number of an interface. The interface type and number can be closely next to each other or separated by a space character. |
N/A |
/huawei-l2vpn:l2vpn/l2vpnvpls/vplsInstances/vplsInstance/memberDiscoveryMode |
Indicates the member discovery mode used by a VSI. |
The value is of the enumerated type:
The default value is default. |
N/A |
/huawei-l2vpn:l2vpn/l2vpnvpls/vplsInstances/vplsInstance/encapsulateType |
Indicates the encapsulation type of an interface. |
The value is of the enumerated type:
The default value is vlan. |
N/A |
/huawei-l2vpn:l2vpn/l2vpnvpls/vplsInstances/vplsInstance/description |
Indicates the description of a VSI. |
The value is a string of 1 to 128 case-sensitive characters without spaces. If the string is enclosed in double quotation marks (" "), the string can contain spaces. |
N/A |
/huawei-l2vpn:l2vpn/l2vpnvpls/vplsInstances/vplsInstance/vplsLdpInsts/vplsLdpInst/vplsPwLdpSignal |
Indicates whether a VSI uses the LDP signaling mode. |
The value is pwLdpSignal. |
If the VSI uses the static member discovery mode, the signaling mode must be LDP. After the signaling mode is successfully configured for the VSI, it cannot be changed. If you want to change the signaling mode, delete the VSI and re-create a VSI. Only one signaling mode can be configured. |
/huawei-l2vpn:l2vpn/l2vpnvpls/vplsInstances/vplsInstance/vplsBgpInsts/vplsBgpInst/vplsPwBgpSignal |
Indicates whether a VSI uses the BGP signaling mode. |
The value is pwBgpSignal. |
If the VSI uses the automatic member discovery mode, the signaling mode must be BGP. After the signaling mode is successfully configured for the VSI, it cannot be changed. If you want to change the signaling mode, delete the VSI and re-create a VSI. Only one signaling mode can be configured. |
/huawei-l2vpn:l2vpn/l2vpnvpls/vplsInstances/vplsInstance/vplsLdpInsts/vplsLdpInst/vsiId |
Indicates the ID of a VSI. |
The value is an integer that ranges from 1 to 4294967295. |
Any two VSIs cannot use the same ID. VSI IDs on all devices in the same VPLS domain must be the same. The VSI ID cannot be changed once being configured. If you want to change the VSI ID, you need to delete the VSI and re-create a VSI. When a VSI uses the LDP signaling mode, the VSI ID must be configured. |
/huawei-l2vpn:l2vpn/l2vpnvpls/vplsInstances/vplsInstance/vplsBgpInsts/vplsBgpInst/bgpRD |
Indicates the value of an RD, which identifies a VSI on a PE. |
The value is a string of 3 to 21 case-sensitive characters without spaces. If the string is enclosed in double quotation marks (" "), the string can contain spaces. The formats of an RD are as follows:
|
N/A |
/huawei-l2vpn:l2vpn/l2vpnvpls/vplsInstances/vplsInstance/tnlPolicyName |
Indicates the name of a tunnel policy. |
The value is a string of 1 to 39 case-sensitive characters without spaces. If the string is enclosed in double quotation marks (" "), the string can contain spaces. |
N/A |
/huawei-l2vpn:l2vpn/l2vpnvpls/vplsInstances/vplsInstance/vplsLdpInsts/vplsLdpInst/vplsLdpPws/vplsLdpPw/peerIp |
Indicates the peer IPv4 address. |
The value is in dotted decimal notation. |
N/A |
/huawei-l2vpn:l2vpn/l2vpnvpls/vplsInstances/vplsInstance/vplsLdpInsts/vplsLdpInst/vplsLdpPws/vplsLdpPw/tnlPolicyName |
Indicates the peer tunnel policy name. |
The value is a string of 1 to 39 case-sensitive characters without spaces. If the string is enclosed in double quotation marks (" "), the string can contain spaces. |
N/A |
/huawei-l2vpn:l2vpn/l2vpnvpls/vplsInstances/vplsInstance/vplsBgpInsts/vplsBgpInst/mtuNegotiateDisable |
Indicates whether the function of ignoring the MTU value during a match check and re-encapsulating the sent VPLS packets is enabled on a device. |
The value is of the Boolean type:
The default value is false. |
N/A |
/huawei-l2vpn:l2vpn/l2vpnvpls/vplsInstances/vplsInstance/vplsBgpInsts/vplsBgpInst/bgpSites/bgpSite/siteId |
Indicates the site ID of a VSI. |
The value is an integer that ranges from 0 to 65534. |
N/A |
/huawei-l2vpn:l2vpn/l2vpnvpls/vplsInstances/vplsInstance/vplsBgpInsts/vplsBgpInst/bgpSites/bgpSite/siteIdRange |
Indicates the range of the number of sites in a VSI. After the range is specified, the system automatically reserves the required labels for the VSI. |
The value is an integer that ranges from 0 to 65535. The default value is 10. |
|
/huawei-l2vpn:l2vpn/l2vpnvpls/vplsInstances/vplsInstance/vplsBgpInsts/vplsBgpInst/bgpSites/bgpSite/defaultOffset |
Indicates the default offset of the initial site ID. |
The value is an integer that ranges from 0 to 1. The default value is 0. |
N/A |
/huawei-l2vpn:l2vpn/l2vpnvpls/vplsInstances/vplsInstance/vplsBgpInsts/vplsBgpInst/vpnTargets/vpnTarget/vpnRTValue |
Adds the extended community attribute VPN-Target to a VSI. |
The value is a string of 3 to 21 case-sensitive characters without spaces. If the string is enclosed in double quotation marks (" "), the string can contain spaces. The formats of an RD are as follows:
|
N/A |
/huawei-l2vpn:l2vpn/l2vpnvpls/vplsInstances/vplsInstance/vplsBgpInsts/vplsBgpInst/vpnTargets/vpnTarget/vpnRTType |
Indicates the direction of the community attribute carried in routing information. |
The value is of the enumerated type:
|
N/A |
/ietf-routing:routing/routing-instance/routing-protocols/routing-protocol/hw-bgp:bgp-routing/bgp-neighbors/bgp-neighbor/af-specific-config/l2vpn/vpls/active |
Indicates whether the function of exchanging routing information with a specified peer or peer group is enabled. |
The value is of the Boolean type:
The default value is false. |
N/A |
/ietf-routing:routing/routing-instance/routing-protocols/routing-protocol/hw-bgp:bgp-routing/bgp-neighbors/bgp-neighbor/peer-address |
Indicates the peer IP address. |
The value is in dotted decimal notation. |
N/A |
Binding an Interface to a VSI
This section provides a sample of binding an interface to a VSI using the edit-config:merge method.
Operation |
XPATH |
---|---|
edit-config:merge |
|
Data Requirements
Item |
Data |
Description |
---|---|---|
Interface name |
Vlanif3 |
Set the interface name. |
Whether MPLS L2VPN is enabled |
true |
Enable MPLS L2VPN. |
Name of a VSI |
lcz |
Set the name of the VSI. |
Member discovery mode used by a VSI |
static |
Set the member discovery mode used by a VSI to static. |
Whether a VSI uses the LDP signaling mode |
pwLdpSignal |
Configure the VSI to use the LDP signaling mode. |
Number of a VSI |
2 |
Set the number of the VSI. |
Peer IPv4 address |
1.1.1.1 |
Set the peer IPv4 address. |
Request Example
<?xml version="1.0" encoding="utf-8"?> <rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id=""> <edit-config> <target> <running/> </target> <config xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"> <if:interfaces xmlns:if="urn:ietf:params:xml:ns:yang:ietf-interfaces"> <if:interface nc:operation="merge"> <if:name>Vlanif3</if:name> <if:type xmlns:iana-if-type="urn:ietf:params:xml:ns:yang:iana-if-type">iana-if-type:propVirtual</if:type> </if:interface> </if:interfaces> <l2vpn:l2vpn xmlns:l2vpn="http://www.huawei.com/netconf/vrp/huawei-l2vpn"> <l2vpn:l2vpncommon> <l2vpn:l2vpnGlobal> <l2vpn:l2vpnEnable>true</l2vpn:l2vpnEnable> </l2vpn:l2vpnGlobal> </l2vpn:l2vpncommon> <l2vpn:l2vpnvpls> <l2vpn:vplsInstances> <l2vpn:vplsInstance> <l2vpn:instanceName>lcz</l2vpn:instanceName> <l2vpn:memberDiscoveryMode>static</l2vpn:memberDiscoveryMode> <l2vpn:vplsLdpInsts> <l2vpn:vplsLdpInst> <l2vpn:vplsPwLdpSignal>pwLdpSignal</l2vpn:vplsPwLdpSignal> <l2vpn:vsiId>2</l2vpn:vsiId> <l2vpn:vplsLdpPws> <l2vpn:vplsLdpPw> <l2vpn:peerIp>1.1.1.1</l2vpn:peerIp> </l2vpn:vplsLdpPw> </l2vpn:vplsLdpPws> </l2vpn:vplsLdpInst> </l2vpn:vplsLdpInsts> <l2vpn:vplsAcs> <l2vpn:vplsAc> <l2vpn:interfaceName>Vlanif3</l2vpn:interfaceName> </l2vpn:vplsAc> </l2vpn:vplsAcs> </l2vpn:vplsInstance> </l2vpn:vplsInstances> </l2vpn:l2vpnvpls> </l2vpn:l2vpn> </config> </edit-config>
Response Example
##### Ok Reply or Operation Successful ##### <?xml version='1.0' encoding='UTF-8'?> <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="2"> <ok/> </rpc-reply>
<?xml version="1.0" encoding="utf-8"?> <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="11"> <rpc-error> <error-app-tag>-1</error-app-tag> <error-message> There is no VLAN ID configured on this interface. Please configure VLAN ID first.</error-message> <error-info>Error on node /huawei-l2vpn:l2vpn/l2vpnvpls/vplsInstances/vplsInstance[instanceName="lcz"]/vplsAcs/vplsAc[interfaceName="XGigabitEthernet0/0/3.3"]/interfaceName</error-info> </rpc-error> </rpc-reply>
Configuring Martini VPLS
This section provides a sample of configuring Martini VPLS using the edit-config method.
Operation |
XPATH |
---|---|
Config |
|
Data Requirements
Item |
Data |
Description |
---|---|---|
Whether MPLS L2VPN is enabled |
true |
MPLS L2VPN is enabled. |
VPN instance name |
jkstatic |
Set the VPN instance name. |
Description of a VSI |
huawei |
Set the description of a VSI. |
Member discovery mode |
static |
Set the member discovery mode used by the VSI to static. |
Tunnel policy name |
jk |
Set the tunnel policy name. |
Signaling mode for a VSI |
pwLdpSignal |
Configure the VSI to use the LDP signaling mode. |
ID of a VSI |
2 |
Set the ID of a VSI. |
Peer IPv4 address |
1.1.1.1 |
Set the peer IPv4 address. |
Request Example
<?xml version="1.0" encoding="utf-8"?> <rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id=""> <edit-config> <target> <running/> </target> <config xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"> <l2vpn xmlns="http://www.huawei.com/netconf/vrp/huawei-l2vpn" nc:operation="merge"> <l2vpncommon> <l2vpnGlobal> <l2vpnEnable>true</l2vpnEnable> </l2vpnGlobal> </l2vpncommon> <l2vpnvpls nc:operation="merge"> <vplsInstances> <vplsInstance> <instanceName>jkstatic</instanceName> <description>huawei</description> <memberDiscoveryMode>static</memberDiscoveryMode> <tnlPolicyName nc:operation="merge">jk</tnlPolicyName> <vplsLdpInsts> <vplsLdpInst> <vplsPwLdpSignal>pwLdpSignal</vplsPwLdpSignal> <vsiId>2</vsiId> <vplsLdpPws> <vplsLdpPw> <peerIp>1.1.1.1</peerIp> <tnlPolicyName>jk</tnlPolicyName> </vplsLdpPw> </vplsLdpPws> </vplsLdpInst> </vplsLdpInsts> </vplsInstances> </l2vpnvpls> </l2vpn> <tnlm:tnlm xmlns:tnlm="http://www.huawei.com/netconf/vrp/huawei-tnlm"> <tnlm:tunnelPolicys> <tnlm:tunnelPolicy> <tnlm:tnlPolicyName>jk</tnlm:tnlPolicyName> </tnlm:tunnelPolicy> </tnlm:tunnelPolicys> </tnlm:tnlm> </config> </edit-config> </rpc>
Deletion Example
<?xml version="1.0" encoding="utf-8"?> <rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id=""> <edit-config> <target> <running/> </target> <config xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"> <l2vpn xmlns="http://www.huawei.com/netconf/vrp/huawei-l2vpn" nc:operation="remove"> <l2vpncommon> <l2vpnGlobal> <l2vpnEnable>true</l2vpnEnable> </l2vpnGlobal> </l2vpncommon> <l2vpnvpls nc:operation="remove"> <vplsInstances> <vplsInstance> <instanceName>jkstatic</instanceName> <description>huawei</description> <memberDiscoveryMode>static</memberDiscoveryMode> <tnlPolicyName>jk</tnlPolicyName> <vplsLdpInsts> <vplsLdpInst> <vplsPwLdpSignal>pwLdpSignal</vplsPwLdpSignal> <vsiId>2</vsiId> <vplsLdpPws> <vplsLdpPw> <peerIp>1.1.1.1</peerIp> <tnlPolicyName>jk</tnlPolicyName> </vplsLdpPw> </vplsLdpPws> </vplsLdpInst> </vplsLdpInsts> </vplsInstance> </vplsInstances> </l2vpnvpls> </l2vpn> <tnlm:tnlm xmlns:tnlm="http://www.huawei.com/netconf/vrp/huawei-tnlm"> <tnlm:tunnelPolicys> <tnlm:tunnelPolicy nc:operation="remove"> <tnlm:tnlPolicyName>jk</tnlm:tnlPolicyName> </tnlm:tunnelPolicy> </tnlm:tunnelPolicys> </tnlm:tnlm> </config> </edit-config> </rpc>
Response Example
<?xml version="1.0" encoding="utf-8"?> <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="46"> <ok/> </rpc-reply>
Sample of failed response
<?xml version="1.0" encoding="utf-8"?> <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="27"> <rpc-error> <error-app-tag>-1</error-app-tag> <error-message>Need to delete all vsi configure first.</error-message> <error-info>Error on node /huawei-l2vpn:l2vpn/l2vpncommon/l2vpnGlobal/l2vpnEnable</error-info> </rpc-error> </rpc-reply>
Configuring Kompella VPLS
This section provides a sample of configuring Kompella VPLS using the edit-config method.
Operation |
XPATH |
---|---|
Config |
|
Data Requirements
Item |
Data |
Description |
---|---|---|
Whether MPLS L2VPN is enabled |
true |
MPLS L2VPN is enabled. |
VPN instance name |
jkauto |
Set the VPN instance name. |
Description of a VSI |
huawei |
Set the description of a VSI. |
Member discovery mode used by a VSI |
auto |
Set the member discovery mode used by the VSI to auto. |
Encapsulation type of an interface |
ethernet |
Set the encapsulation type of the interface to Ethernet. |
Signaling mode for a VSI |
pwBgpSignal |
Configure the VSI to use the BGP signaling mode. |
RD of a VSI |
1:1 |
Set the RD of a VSI. |
Whether the function of ignoring the MTU value during a match check and re-encapsulating the sent VPLS packets is enabled |
true |
Enable the function of ignoring the MTU value during a match check and re-encapsulating the sent VPLS packets. |
Site ID of a VSI |
4 |
Set the site ID of a VSI. |
Range of the number of sites in a VSI |
3 |
Set the range of the number of sites in the VSI. If the range is specified, the system automatically reserves the required labels for the VSI. |
Offset of the initial site ID |
1 |
Adopt the default offset of the initial site ID. |
VPN target extended community attribute |
1:1 |
Add the VPN target extended community attribute to the VSI. |
Community attributes carried in routing information |
export_extcommunity |
Define the community attributes carried in outbound routing information. |
Community attributes carried in routing information |
import_extcommunity |
Define the community attributes carried in inbound routing information. |
Tunnel policy name |
jk |
Set the tunnel policy name. |
Request Example
<?xml version="1.0" encoding="utf-8"?> <rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id=""> <edit-config> <target> <running/> </target> <config xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"> <l2vpn xmlns="http://www.huawei.com/netconf/vrp/huawei-l2vpn" nc:operation="merge"> <l2vpncommon> <l2vpnGlobal> <l2vpnEnable>true</l2vpnEnable> </l2vpnGlobal> </l2vpncommon> <l2vpnvpls nc:operation="merge"> <vplsInstances> <vplsInstance> <instanceName>jkauto</instanceName> <description>huawei</description> <memberDiscoveryMode>auto</memberDiscoveryMode> <encapsulateType>ethernet</encapsulateType> <vplsBgpInsts> <vplsBgpInst> <vplsPwBgpSignal>pwBgpSignal</vplsPwBgpSignal> <bgpRD>1:1</bgpRD> <mtuNegotiateDisable>true</mtuNegotiateDisable> <bgpSites> <bgpSite> <siteId>4</siteId> <siteIdRange>3</siteIdRange> <defaultOffset>1</defaultOffset> </bgpSite> </bgpSites> <vpnTargets> <vpnTarget> <vpnRTValue>1:1</vpnRTValue> <vpnRTType>export_extcommunity</vpnRTType> </vpnTarget> <vpnTarget> <vpnRTValue>1:1</vpnRTValue> <vpnRTType>import_extcommunity</vpnRTType> </vpnTarget> </vpnTargets> </vplsBgpInst> </vplsBgpInsts> </vplsInstance> </vplsInstances> </l2vpnvpls> </l2vpn> <tnlm:tnlm xmlns:tnlm="http://www.huawei.com/netconf/vrp/huawei-tnlm"> <tnlm:tunnelPolicys> <tnlm:tunnelPolicy> <tnlm:tnlPolicyName>jk</tnlm:tnlPolicyName> </tnlm:tunnelPolicy> </tnlm:tunnelPolicys> </tnlm:tnlm> </config> </edit-config> </rpc>
Deletion Example
<?xml version="1.0" encoding="utf-8"?> <rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id=""> <edit-config> <target> <running/> </target> <config xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"> <l2vpn xmlns="http://www.huawei.com/netconf/vrp/huawei-l2vpn" nc:operation="remove"> <l2vpncommon> <l2vpnGlobal> <l2vpnEnable>true</l2vpnEnable> </l2vpnGlobal> </l2vpncommon> <l2vpnvpls nc:operation="remove"> <vplsInstances> <vplsInstance> <instanceName>jkauto</instanceName> <description>huawei</description> <memberDiscoveryMode>auto</memberDiscoveryMode> <encapsulateType>ethernet</encapsulateType> <vplsBgpInsts> <vplsBgpInst> <vplsPwBgpSignal>pwBgpSignal</vplsPwBgpSignal> <bgpRD>1:1</bgpRD> <mtuNegotiateDisable>true</mtuNegotiateDisable> <bgpSites> <bgpSite> <siteId>4</siteId> <siteIdRange>3</siteIdRange> <defaultOffset>1</defaultOffset> </bgpSite> </bgpSites> <vpnTargets> <vpnTarget> <vpnRTValue>1:1</vpnRTValue> <vpnRTType>export_extcommunity</vpnRTType> </vpnTarget> <vpnTarget> <vpnRTValue>1:1</vpnRTValue> <vpnRTType>import_extcommunity</vpnRTType> </vpnTarget> </vpnTargets> </vplsBgpInst> </vplsBgpInsts> </vplsInstance> </vplsInstances> </l2vpnvpls> </l2vpn> <tnlm:tnlm xmlns:tnlm="http://www.huawei.com/netconf/vrp/huawei-tnlm"> <tnlm:tunnelPolicys> <tnlm:tunnelPolicy nc:operation="remove"> <tnlm:tnlPolicyName>jk</tnlm:tnlPolicyName> </tnlm:tunnelPolicy> </tnlm:tunnelPolicys> </tnlm:tnlm> </config> </edit-config> </rpc>
Response Example
<?xml version="1.0" encoding="utf-8"?> <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="46"> <ok/> </rpc-reply>
Sample of failed response
<?xml version="1.0" encoding="utf-8"?> <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="27"> <rpc-error> <error-app-tag>-1</error-app-tag> <error-message>Need to delete all vsi configure first.</error-message> <error-info>Error on node /huawei-l2vpn:l2vpn/l2vpncommon/l2vpnGlobal/l2vpnEnable</error-info> </rpc-error> </rpc-reply>