# Manual VPWS

Load **basic.vpws.init.cfg**&#x20;

```
#IOS-XE (R1-R6, CE1,8)
config replace flash:manual.vpws.init.cfg
```



Create a VPWS between CE1 and CE8. Do not use a tLDP session between R1 and R6.



















































## Answer <a href="#b9bcc9c2-bdeb-4e22-bef2-5975dd9c91d7" id="b9bcc9c2-bdeb-4e22-bef2-5975dd9c91d7"></a>

```
#R1
mpls label range 10000 10999 static 11000 11999
!
int gi4
 no ip address
 service instance 1 eth
  encapsulation default
 exit
!
int pseudowire18
 encapsulation mpls
 signaling protocol none
 neighbor 6.6.6.6 18
 label 11001 61001
!
l2vpn xconnect context CE1_CE8
 member gi4 service-instance 1
 member pseudowire18


#R6
mpls label range 60000 60999 static 61000 61999
!
int gi6
 no ip address
 service instance 1 eth
  encapsulation default
 exit
!
int pseudowire18
 encapsulation mpls
 signaling protocol none
 neighbor 1.1.1.1 18
 label 61001 11001
!
l2vpn xconnect context CE1_CE8
 member gi6 service-instance 1
 member pseudowire18
```



## Explanation <a href="#ca6cac04-5960-48a2-82bf-2a86b7cd5575" id="ca6cac04-5960-48a2-82bf-2a86b7cd5575"></a>

Usually tLDP is used with VPWS. tLDP gives us a dynamic way to signal the service label, MTU, control word, and interface status. However, we can manually specify these values instead of using tLDP. When we do this, we lose the dynamic ability to advertise that the AC is down to the other end, so this is usually not done. But it helps your understanding of how VPWS works by doing this exercise.



To create a manual PW, we first must define a static label range. This is needed to statically allocate a local service label for the VPWS.

```
mpls label range 10000 10999 static 11000 11999
```



Next we create the explicit pseudowire interface, specify that the signaling protocol is **none** instead of the default (LDP), specify the neighbor and the local/remote service labels. Remember, LDP is not going to signal this, so we must manually specify it on each end.

```
int pseudowire18
 encapsulation mpls
 signaling protocol none
 neighbor 1.1.1.1 18
 label 61001 11001
```



Lastly, we associate the pseudowire with the xconnect.

```
l2vpn xconnect context CE1_CE8
 member pseudowire18
```



## Verification <a href="#e03b2bd5-74e1-43a7-9fcb-2d87c3a67c36" id="e03b2bd5-74e1-43a7-9fcb-2d87c3a67c36"></a>

Verification in general is the same as with tLDP pseudowires. However we have lost the ability to signal the status, MTU, etc. of the VPWS service.

<div align="left"><figure><img src="https://3072390383-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkUz2C3GqnZcWhoVL6jfk%2Fuploads%2Fodt67yrmOf7fr5LlQOIO%2Fimage.png?alt=media&#x26;token=51354855-b448-43dc-8b7b-3ce1746df24c" alt=""><figcaption></figcaption></figure></div>



On R1 shutdown Gi3 and notice that the VC is still up on R6.

<div align="left"><figure><img src="https://3072390383-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkUz2C3GqnZcWhoVL6jfk%2Fuploads%2FBvghrpox2HPTEjEjomMd%2Fimage.png?alt=media&#x26;token=2ca510b3-73e5-4ee9-9083-22630580ea6e" alt=""><figcaption></figcaption></figure></div>



Also notice the static label that has been assigned to the PW on each PE.

<div align="left"><figure><img src="https://3072390383-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkUz2C3GqnZcWhoVL6jfk%2Fuploads%2FVUrHgFPilettSvjsLib3%2Fimage.png?alt=media&#x26;token=c5b7a3a9-1295-4e59-8a8c-effcb379196c" alt=""><figcaption></figcaption></figure></div>
