# Option A L2NNI

Load **russo.pl.course.inter-as.init.cfg**

```
#IOS-XE
config replace flash:russo.pl.course.inter-as.init.cfg
 
#IOS-XR
configure
load bootflash:russo.pl.course.inter-as.init.cfg
commit replace
y
```



Configure inter-AS option A support for an L2NNI between R2 and R3. CSR1 should have connectivity on VRF L2A and VRF L2B. An OSPF adjacency will form once connectivity is established.

* Use EVPN E-LAN in Globomantics (R6 to R2)
* Use EVPN-VPWS in Wired Brain (R8 to R3)
* BGP l2vpn/evpn is already enabled in both ASs
* Use Q-in-Q 3999/168 on R6 to R1, and Q-in-Q 3998/268 on R8 to R1
* Use VLAN 1000 on the R2-R3 link











































## Answer <a href="#id-2a9189ae-7450-402a-bc19-9412ecb7c077" id="id-2a9189ae-7450-402a-bc19-9412ecb7c077"></a>

```
#R6
l2vpn evpn
 replication-type ingress
!
l2vpn evpn instance 100 vlan-based
!
int gi2
 service instance 100 eth
  encapsulation dot1q 3999 second-dot1q 168
  rewrite ingress tag pop 2 symmetric
  exit
 exit
!
bridge-domain 100
 member evpn-instance 100
 member gi2 service-instance 100

#R2
l2vpn evpn
 replication-type ingress
!
l2vpn evpn instance 100 vlan-based
!
int gi2
 service instance 100 eth
  encapsulation dot1q 1000
  rewrite ingress tag pop 1 symmetric
  exit
 exit
!
bridge-domain 100
 member evpn-instance 100
 member gi2 service-instance 100

#R3
int gi2
 service instance 100 eth
  encapsulation dot1q 1000
  rewrite ingress tag pop 1 symmetric
  exit
 exit
!
l2vpn evpn instance 100 point-to-point
 vpws context CUSTOMER
  member gi2 service-instance 100
  service target 100 source 100

#R8
int gi2
 service instance 100 eth
  encapsulation dot1q 3998 second-dot1q 268
  rewrite ingress tag pop 2 symmetric
  exit
 exit
!
l2vpn evpn instance 100 point-to-point
 vpws context CUSTOMER
  member gi2 service-instance 100
  service target 100 source 100
```



## Explanation <a href="#id-6f03271b-060c-4bf0-ad07-80fe43ee0b57" id="id-6f03271b-060c-4bf0-ad07-80fe43ee0b57"></a>

In option A inter-AS for L3VPN, ASBRs do back-to-back VRF, treating each other as CEs. We can say that option A inter-AS for L2VPN is the same thing, in which the ASBRs treat each other as L2 CEs. Each provider can use its own L2VPN technology, as demonstrated in this lab. The drawback is that one VLAN is needed per L2VPN, and MAC address learning must occur on each ASBR.



First we setup E-LAN EVPN in AS65001. We see that R6 and R2 each advertise the MACs learned on the CE link. R2 treats the ASBR link as a CE link, performing MAC address learning.

<div align="left"><figure><img src="https://3072390383-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkUz2C3GqnZcWhoVL6jfk%2Fuploads%2FiI4dsGzHGutm0zzRHoQs%2Fimage.png?alt=media&#x26;token=182e928c-bbd7-4703-971a-20d24ce60947" alt=""><figcaption></figcaption></figure></div>



R6 knows the local CE’s MAC via the EFP, and the remote CE’s MAC via R2.

<div align="left"><figure><img src="https://3072390383-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkUz2C3GqnZcWhoVL6jfk%2Fuploads%2FqjvJRm1VaozTJG29rB2a%2Fimage.png?alt=media&#x26;token=c9b023b2-3a4b-4d37-bcc7-590afe866fc3" alt=""><figcaption></figcaption></figure></div>



AS65002 uses EVPN-VPWS instead. In this case, R3 does not do any MAC learning, simply transporting received frames to the Z end. We see that R3 and R8 only advertise AD routes:

<div align="left"><figure><img src="https://3072390383-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkUz2C3GqnZcWhoVL6jfk%2Fuploads%2FfldUXz3SfUR1UWeUYBjc%2Fimage.png?alt=media&#x26;token=54afeedc-a1e3-45cc-9145-e538dc12cdaf" alt=""><figcaption></figcaption></figure></div>



On R3, the EVPN-VPWS VC is up:

<div align="left"><figure><img src="https://3072390383-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkUz2C3GqnZcWhoVL6jfk%2Fuploads%2FYOU847y6VBs4LrXAFnYR%2Fimage.png?alt=media&#x26;token=814e9103-c98d-4a0a-a4a5-76c9de58ff1e" alt=""><figcaption></figcaption></figure></div>



R1 has OSPF adjacencies between its two L2 VRFs, L2A and L2B:

<div align="left"><figure><img src="https://3072390383-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkUz2C3GqnZcWhoVL6jfk%2Fuploads%2FqZVsDUiJpUp07gFnZIvF%2Fimage.png?alt=media&#x26;token=15f868ff-0178-4730-8fdf-a6acdd572e09" alt=""><figcaption></figcaption></figure></div>
