Difference between revisions of "Cisco L2VPN"

From HackerNet
Jump to: navigation, search
m
m
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
Virtual Private LAN Service (VPLS) är ett sätt att tillhandahålla Ethernet-baserad multipoint-to-multipoint-kommunikation över IP eller MPLS. Multipla siter kopplas ihop med hjälp av pseudo-wires. De underliggande tekniker som kan användas som pseudo-wire är Ethernet over MPLS, L2TPv3 eller [[Cisco_GRE|GRE]]. För control plane (Auto-Discovery och Signaling) kan LDP eller [[Cisco_BGP|BGP]] användas. VPLS skalar inte superbra eftersom det kräver full-mesh, detta går att bygga ut med Hierarchical VPLS. Att sträcka L2 är aldrig häftigt men man får göra så gott man kan med [[Cisco_STP|STP]] eller ha routrar direkt på andra sidan.
+
Provider-provisioned Layer-2 Virtual Private Network. Att sträcka L2 är aldrig häftigt men man får göra så gott man kan med [[Cisco_STP|STP]] alternativt ha routrar direkt på andra sidan. Se även [[Cisco_MPLS|Cisco MPLS]].
  
Se även [[Cisco_MPLS|MPLS]].
+
===Ethernet Virtual Circuit===
 +
Att binda en kund eller tjänst till en port eller VLAN var en begränsande faktor i access-lagret. Därför togs EVC framework fram för att komma förbi det. Det är en unified software infrastructure för att konfigurera Ethernet services. Tanken är att låta access circuits mappas till flera olika typer av Ethernet-tjänster så som L2 point-to-point local connects, L2 point-to-point xconnects, L2 multipoint-to-multipoint VPLS och andra tjänster. Man kan genom att välja encapsulation även vlan-tagga, dubbel-tagga eller skriva om vlan-tag.
  
=Konfiguration=
+
interface GigabitEthernet2
LDP based VPLS (RFC 4762)
+
  no ip address
 +
  service instance 10 ethernet
 +
  encapsulation default
 +
  xconnect 19.19.19.19 219 encapsulation mpls
 +
Verification
 +
show ethernet service instance summary
 +
show ethernet service instance id 10 interface gig2 detail
 +
show l2vpn service all
 +
 
 +
'''BFD'''<br/>
 +
bfd-template multi-hop MH
 +
  interval min-tx 200 min-rx 200 multiplier 3
 +
bfd map ipv4 1.1.1.0/24 1.1.1.1/32 MH
 +
 +
pseudowire-class MPLS-BFD
 +
  encapsulation mpls
 +
  monitor peer bfd local interface Loopback0
 +
 
 +
=VPLS=
 +
Virtual Private LAN Service (VPLS) är ett sätt att tillhandahålla Ethernet-baserad multipoint-to-multipoint-kommunikation över IP eller MPLS. Multipla siter kopplas ihop med hjälp av full mesh pseudowires. VPLS använder Virtual Forwarding Instance (VFI) för att hosta alla pseudowires för en tjänst. Den vanligaste bäraren är MPLS och för control plane (Auto-Discovery/Signaling) kan LDP eller [[Cisco_BGP|BGP]] användas. Det finns inbyggd loop prevention i form av att frames som kommer ifrån en VPLS aldrig får skickas vidare inom VPLS (split-horizon). En begränsande faktor för VPLS är minnesmängden på Edge devices eftersom de måste lära sig kundens MAC-adresser. All MAC Learning är data plane driven. Det fungerar som en vanlig bridge dvs det är dynamiskt och baserat på source MAC. By default så age:ar VFI:er ut inaktiva MAC-adresser efter 5 minuter.
 +
 
 +
Manual VPLS, legacy syntax. Bridge domain används för mac learning samt att binda ihop Ethernet UNI med LSP. Man kan ej blanda gammal och ny syntax pga att bridge-domain betyder olika beroende på config context.
 
  l2 vfi VPLS manual
 
  l2 vfi VPLS manual
   vpn id 10
+
   vpn id 100
   bridge-domain 10
+
   bridge-domain 1
 
   neighbor 10.0.0.2 encapsulation mpls
 
   neighbor 10.0.0.2 encapsulation mpls
 
   neighbor 10.0.0.3 encapsulation mpls
 
   neighbor 10.0.0.3 encapsulation mpls
   neighbor 10.0.0.4 encapsulation mpls
+
 +
interface gi2
 +
   service instance 10 ethernet
 +
  encapsulation default
 +
  bridge-domain 1
  
LDP based VPLS with BGP Auto discovery
+
Bridge Domain Centric (preferred syntax). Full mesh scaling är ett administrativt problem oavsett syntax.
  l2 vfi VPLS autodiscovery
+
  l2vpn vfi context VPLS
 
   vpn id 100
 
   vpn id 100
 
+
  member 10.0.0.2 encapsulation mpls
Attaching l2 vfi to VLAN
+
   member 10.0.0.3 encapsulation mpls
interface Vlan10
+
   member 10.0.0.4 encapsulation mpls
   no ip address
+
   xconnect vfi l2vpn
 
 
 
Attach router interface
 
 
  interface gi2
 
  interface gi2
  no ip address
 
 
   service instance 10 ethernet
 
   service instance 10 ethernet
 
   encapsulation default
 
   encapsulation default
  bridge-domain 10
+
 +
bridge-domain 1
 +
  mac limit maximum addresses 50
 +
  member gi2 service-instance 10
 +
  member vfi VPLS
 +
 
 +
Verify
 +
show l2vpn vfi
 +
show bridge-domain
 +
show l2vpn service all
 +
show mpls l2transport vc
 +
show mpls forwarding-table | i l2ckt
 +
 
 +
Man kan även koppla in L3-interface på sin bridge-domain.
 +
interface BDI1
 +
  ip address 172.20.0.10 255.255.255.0
 +
 
 +
===BGP Autodiscovery===
 +
'''LDP''' based VPLS med BGP Autodiscovery (RFC 4762). BGP används för att upptäcka VPLS-endpoints automatiskt för varje VPN och VC-grannar konfigureras ej maneullt. Varje VPLS får en egen rd och detta går att använda i kombination med route reflector.
 +
 
 +
l2vpn vfi context VPLS
 +
  vpn id 100
 +
  autodiscovery bgp signaling ldp
 +
  auto-route-target  #på default
 +
 +
router bgp 100
 +
  address-family l2vpn vpls
 +
  neighbor 1.1.1.1 activate
 +
  neighbor 1.1.1.1 send-comunity extended
 +
Verify
 +
show bgp l2vpn vpls all summary
  
'''BGP based VPLS''' (RFC 4761)
+
'''BGP''' based VPLS med BGP Autodiscovery (RFC 4761). BGP används för att upptäcka VPLS-endpoints men också för att signalera labels. Man måste suppress ldp signaling för att slå på bgp signaling.
 +
l2vpn vfi context VPLS
 +
  vpn id 100
 +
  autodiscovery bgp signaling bgp
 +
  ve id 11  #unik per VPLS Edge device
 +
 
  router bgp 100
 
  router bgp 100
 
   address-family l2vpn vpls
 
   address-family l2vpn vpls
 +
  neighbor 1.1.1.1 suppress-signaling-protocol ldp
  
 
Verify
 
Verify
  show xconnect all
+
  show bgp l2vpn vpls all
  show l2vpn vfi
+
 
show mpls l2transport vc
+
===H-VPLS===
 +
VPLS skalar inte superbra eftersom det kräver full-mesh, detta går att bygga ut med Hierarchical VPLS. Det man gör då är att koppla ihop flera VPLS och stänga av split horizon vid intersektionerna. Notera att Split-Horizon endast har effekt på Core Facing pseudowires (mesh pseudowires) och inte Spoke pseudowires. Trafik ifrån Spoke kan forwarderas till Core PW och vice versa. Spoke kan även skicka till annan spoke, dock går den trafiken alltid via core. Trafik tar alltså sällan den optimala vägen och alla PEs måste lära sig alla MAC-adresser. För att få redundans ifrån u-PE (spoke) till n-PE (core) kan man använda Pseudowire Redundancy.
 +
 
 +
===L2 Tunneling===
 +
För CDP, LACP, STP frames etc krävs l2 tunneling protocol. Detta finns det inte stöd för på alla plattformar, ''l2protocol action not supported''.
 +
interface gi2
 +
  service instance 100 ethernet
 +
  l2protocol tunnel
 +
 +
  show ethernet service instance detail | i L2protocol
 +
 
 +
=EoMPLS/AToM=
 +
Ethernet-over-MPLS eller Any Transport over MPLS (RFC 4448). Requires end-to-end MPLS LSP. Notera att MTU på Access Circuits måste matcha för att pseudowire ska gå upp. Det finns ingen MAC Learning med EoMPLS.
 +
 
 +
EoMPLS features
 +
* Ethernet Port Mode
 +
* VLAN Mode
 +
* Inter-AS Mode
 +
* QinQ Mode
 +
* QinAny Mode
 +
Port mode använder VC type 5 (Ethernet) och VLAN mode använder VC type 5 men med type 4 (Vlan) som fallback (''show mpls l2transport binding'').
  
=AToM=
+
PW logging
Any Transport over MPLS (RFC 4448). Requires end-to-end MPLS LSP och att targeted LDP tillåts.
 
 
  xconnect logging pseudowire status  
 
  xconnect logging pseudowire status  
mpls ldp discovery targeted-hello accept
 
 
PE1
 
PE1
 
  interface gi2
 
  interface gi2
Line 51: Line 127:
 
  show xconnect all
 
  show xconnect all
 
  show xconnect peer 2.2.2.2 vcid 102
 
  show xconnect peer 2.2.2.2 vcid 102
 +
show l2vpn service all
 
  show mpls l2transport vc 102 detail
 
  show mpls l2transport vc 102 detail
 +
ping mpls pseudowire 10.0.0.10 102
  
 
Segment 1 är de interface som kunden sitter på, segment 2 är core.
 
Segment 1 är de interface som kunden sitter på, segment 2 är core.
  
=L2TPv3=
+
'''Pseudowire Redundancy''' <br/>
 +
Pseudowire redundancy innebär att man sätter upp en backup PW.
 +
l2vpn xconnect context Redundancy
 +
  member 1.1.1.1 10 encapsulation mpls group 1 priority 1
 +
  member 2.2.2.2 10 encapsulation mpls group 1 priority 2
 +
 
 +
==EVPN-VPWS==
 +
l2vpn evpn
 +
  replication-type ingress
 +
  router-id Loopback0
 +
  mpls label mode per-ce
 +
!
 +
l2vpn evpn instance 10 vlan-based
 +
  route-distinguisher 1.1.1.1:10
 +
  route-target both 10:10
 +
  no auto-route-target
 +
!
 +
member evpn-instance 10
 +
  member GigabitEthernet0/0/1 service-instance 10
 +
!
 +
interface GigabitEthernet0/0/1
 +
  no ip address
 +
  service instance 10 ethernet
 +
  encapsulation dot1q 100
 +
!
 +
router bgp 1
 +
  address-family l2vpn evpn
 +
  neighbor IBGP activate
 +
  neighbor IBGP send-community both
 +
 
 +
Verify
 +
show l2vpn evpn evi detail
 +
show l2vpn evpn mac
 +
show l2vpn l2route evpn mac
 +
 
 +
==L2TPv3==
 
Layer 2 Tunneling Protocol (RFC 3931, RFC 4719) kräver [[Cisco_CEF|CEF]] och IP-konnektivitet end-to-end. Det är endast point-to-point. IP protocol: 115.
 
Layer 2 Tunneling Protocol (RFC 3931, RFC 4719) kräver [[Cisco_CEF|CEF]] och IP-konnektivitet end-to-end. Det är endast point-to-point. IP protocol: 115.
 
  pseudowire-class L2TP-PWCLASS
 
  pseudowire-class L2TP-PWCLASS
Line 66: Line 179:
 
  show l2tp session all
 
  show l2tp session all
 
  show l2tun tunnel all
 
  show l2tun tunnel all
 +
Default kopieras inte DF bit som finns i paketen som kommer in ifrån CE när L2TPv3 IP header adderas. Man kan ändra det i pw-klassen.
 +
pseudowire-class L2TP-PWCLASS
 +
  ip pmtu
 +
 +
==Inter-AS Option B==
 +
PE
 +
mpls ldp discovery targeted-hello accept
 +
 +
l2vpn
 +
  pseudowire routing
 +
  terminating-pe tie-breaker
 +
 +
l2vpn vfi context vfiA
 +
  vpn id 111
 +
  autodiscovery bgp signaling ldp
 +
  vpls-id 111:111
 +
  rd 111:111
 +
  route-target 111:111
 +
 +
ASBR
 +
mpls ldp discovery targeted-hello accept
 +
 +
l2vpn
 +
  pseudowire routing
 +
 +
router bgp 1
 +
  no bgp default route-target filter
 +
  address-family l2vpn vpls
 +
  neighbor <ibgp> activate
 +
  neighbor <ibgp> send-community extended
 +
  neighbor <ibgp> next-hop-self
 +
  neighbor <ebgp> activate
 +
  neighbor <ebgp> send-community extended
 +
 +
interface GigabitEthernet1
 +
  description ASBR-to-ASBR
 +
  mpls ip
 +
  mpls ldp discovery transport-address interface
 +
 +
=IOS-XR=
 +
IOS-XR implementerar ett strukturerat CLI för EFP och EVC konfiguration.
 +
* '''l2transport''': identifierar subinterface, fysisk port eller bundle som en EFP.
 +
* '''encapsulation''': används för att matcha på VLAN tag
 +
* '''rewrite''': används för att specificera rewrite av VLAN tag.
 +
 +
Exempel:
 +
interface Bundle-Ether1.20 l2transport
 +
  encapsulation dot1q 20
 +
  rewrite ingress tag pop 1 symmetric
 +
  mtu 9022
 +
 +
'''Loggning'''
 +
l2vpn
 +
  logging
 +
  bridge-domain
 +
  pseudowire
 +
  vfi
 +
 +
'''Static VPLS'''
 +
l2vpn
 +
  bridge group PROD
 +
  bridge-domain 101
 +
    mtu 9000
 +
    interface Bundle-Ether1.101
 +
    !
 +
    vfi 101
 +
    neighbor 10.0.10.15 pw-id 101
 +
    neighbor 10.0.10.16 pw-id 101
 +
 +
Verify
 +
show l2vpn bridge-domain brief
 +
 +
'''Static P2P''' <br/>
 +
EoMPLS tillhandahåller en tunnlingsmekanism för Ethernet-trafik över ett MPLS-enabled L3 core. Man enkapsulerar Ethernet PDUs i MPLS-paket. Notera att MTU på Access Circuits måste matcha för att pseudowire ska gå upp.
 +
 +
"VC Type 5" = Port Based
 +
interface GigabitEthernet0/0/0/1
 +
  l2transport
 +
  no cdp
 +
!
 +
l2vpn
 +
  !
 +
  xconnect group GROUP1
 +
  p2p TO_XR2
 +
    interface GigabitEthernet0/0/0/1
 +
    neighbor ipv4 2.2.2.2 pw-id 100
 +
 +
"VC-Type 4" = VLAN based pseudowire
 +
l2vpn
 +
  pw-class VLAN
 +
  encapsulation mpls
 +
    no transport-mode
 +
    transport-mode vlan
 +
 +
Verify
 +
show l2vpn forwarding neighbor 2.2.2.2 pw-id 100 detail location 0/0/CPU0
 +
 +
===Control Word===
 +
Normalt sett kollar PE i packet header för att avgöra om det är ett IPv4- eller IPv6-paket och kollar sedan source/destination tuples för att avgöra eventuell load sharing. Med L2VPN så kommer headern att vara en Ethernet-header istället för IP-header. Om MAC-adressen händelsevis börjar på 0x4 eller 0x6 så kommer routern tro att det är ett IP-paket och fatta beslut på fel grunder. Genom att lägga till ett kontrollord så kan routern titta på det för att avgöra om det är ett IP-paket eller ej och därmed finns det ingen risk att load sharing blir fel. Control-Word spelar en viktig roll för ECMP och det är rekommenderat att man slår på det.
 +
l2vpn
 +
  pw-class CONTROL
 +
  encapsulation mpls
 +
    control-word
  
 
[[Category:Cisco]]
 
[[Category:Cisco]]

Latest revision as of 09:13, 18 May 2020

Provider-provisioned Layer-2 Virtual Private Network. Att sträcka L2 är aldrig häftigt men man får göra så gott man kan med STP alternativt ha routrar direkt på andra sidan. Se även Cisco MPLS.

Ethernet Virtual Circuit

Att binda en kund eller tjänst till en port eller VLAN var en begränsande faktor i access-lagret. Därför togs EVC framework fram för att komma förbi det. Det är en unified software infrastructure för att konfigurera Ethernet services. Tanken är att låta access circuits mappas till flera olika typer av Ethernet-tjänster så som L2 point-to-point local connects, L2 point-to-point xconnects, L2 multipoint-to-multipoint VPLS och andra tjänster. Man kan genom att välja encapsulation även vlan-tagga, dubbel-tagga eller skriva om vlan-tag.

interface GigabitEthernet2
 no ip address
 service instance 10 ethernet
  encapsulation default
  xconnect 19.19.19.19 219 encapsulation mpls

Verification

show ethernet service instance summary
show ethernet service instance id 10 interface gig2 detail
show l2vpn service all 

BFD

bfd-template multi-hop MH
 interval min-tx 200 min-rx 200 multiplier 3 
bfd map ipv4 1.1.1.0/24 1.1.1.1/32 MH

pseudowire-class MPLS-BFD
 encapsulation mpls
 monitor peer bfd local interface Loopback0

VPLS

Virtual Private LAN Service (VPLS) är ett sätt att tillhandahålla Ethernet-baserad multipoint-to-multipoint-kommunikation över IP eller MPLS. Multipla siter kopplas ihop med hjälp av full mesh pseudowires. VPLS använder Virtual Forwarding Instance (VFI) för att hosta alla pseudowires för en tjänst. Den vanligaste bäraren är MPLS och för control plane (Auto-Discovery/Signaling) kan LDP eller BGP användas. Det finns inbyggd loop prevention i form av att frames som kommer ifrån en VPLS aldrig får skickas vidare inom VPLS (split-horizon). En begränsande faktor för VPLS är minnesmängden på Edge devices eftersom de måste lära sig kundens MAC-adresser. All MAC Learning är data plane driven. Det fungerar som en vanlig bridge dvs det är dynamiskt och baserat på source MAC. By default så age:ar VFI:er ut inaktiva MAC-adresser efter 5 minuter.

Manual VPLS, legacy syntax. Bridge domain används för mac learning samt att binda ihop Ethernet UNI med LSP. Man kan ej blanda gammal och ny syntax pga att bridge-domain betyder olika beroende på config context.

l2 vfi VPLS manual
 vpn id 100
 bridge-domain 1
 neighbor 10.0.0.2 encapsulation mpls
 neighbor 10.0.0.3 encapsulation mpls

interface gi2
 service instance 10 ethernet
  encapsulation default
  bridge-domain 1

Bridge Domain Centric (preferred syntax). Full mesh scaling är ett administrativt problem oavsett syntax.

l2vpn vfi context VPLS
 vpn id 100
 member 10.0.0.2 encapsulation mpls
 member 10.0.0.3 encapsulation mpls
 member 10.0.0.4 encapsulation mpls

interface gi2
 service instance 10 ethernet
  encapsulation default

bridge-domain 1
 mac limit maximum addresses 50
 member gi2 service-instance 10
 member vfi VPLS 

Verify

show l2vpn vfi
show bridge-domain
show l2vpn service all 
show mpls l2transport vc
show mpls forwarding-table | i l2ckt

Man kan även koppla in L3-interface på sin bridge-domain.

interface BDI1
 ip address 172.20.0.10 255.255.255.0

BGP Autodiscovery

LDP based VPLS med BGP Autodiscovery (RFC 4762). BGP används för att upptäcka VPLS-endpoints automatiskt för varje VPN och VC-grannar konfigureras ej maneullt. Varje VPLS får en egen rd och detta går att använda i kombination med route reflector.

l2vpn vfi context VPLS
 vpn id 100
 autodiscovery bgp signaling ldp
  auto-route-target  #på default

router bgp 100
 address-family l2vpn vpls
  neighbor 1.1.1.1 activate
  neighbor 1.1.1.1 send-comunity extended

Verify

show bgp l2vpn vpls all summary

BGP based VPLS med BGP Autodiscovery (RFC 4761). BGP används för att upptäcka VPLS-endpoints men också för att signalera labels. Man måste suppress ldp signaling för att slå på bgp signaling.

l2vpn vfi context VPLS
 vpn id 100
 autodiscovery bgp signaling bgp
  ve id 11  #unik per VPLS Edge device 

router bgp 100
 address-family l2vpn vpls
  neighbor 1.1.1.1 suppress-signaling-protocol ldp

Verify

show bgp l2vpn vpls all

H-VPLS

VPLS skalar inte superbra eftersom det kräver full-mesh, detta går att bygga ut med Hierarchical VPLS. Det man gör då är att koppla ihop flera VPLS och stänga av split horizon vid intersektionerna. Notera att Split-Horizon endast har effekt på Core Facing pseudowires (mesh pseudowires) och inte Spoke pseudowires. Trafik ifrån Spoke kan forwarderas till Core PW och vice versa. Spoke kan även skicka till annan spoke, dock går den trafiken alltid via core. Trafik tar alltså sällan den optimala vägen och alla PEs måste lära sig alla MAC-adresser. För att få redundans ifrån u-PE (spoke) till n-PE (core) kan man använda Pseudowire Redundancy.

L2 Tunneling

För CDP, LACP, STP frames etc krävs l2 tunneling protocol. Detta finns det inte stöd för på alla plattformar, l2protocol action not supported.

interface gi2
 service instance 100 ethernet
  l2protocol tunnel

show ethernet service instance detail | i L2protocol

EoMPLS/AToM

Ethernet-over-MPLS eller Any Transport over MPLS (RFC 4448). Requires end-to-end MPLS LSP. Notera att MTU på Access Circuits måste matcha för att pseudowire ska gå upp. Det finns ingen MAC Learning med EoMPLS.

EoMPLS features

  • Ethernet Port Mode
  • VLAN Mode
  • Inter-AS Mode
  • QinQ Mode
  • QinAny Mode

Port mode använder VC type 5 (Ethernet) och VLAN mode använder VC type 5 men med type 4 (Vlan) som fallback (show mpls l2transport binding).

PW logging

xconnect logging pseudowire status 

PE1

interface gi2
 xconnect 2.2.2.2 102 encapsulation mpls

PE2, VCID måste matcha på båda sidor

interface gi2
 xconnect 1.1.1.1 102 encapsulation mpls

Verify

show xconnect all
show xconnect peer 2.2.2.2 vcid 102
show l2vpn service all 
show mpls l2transport vc 102 detail
ping mpls pseudowire 10.0.0.10 102

Segment 1 är de interface som kunden sitter på, segment 2 är core.

Pseudowire Redundancy
Pseudowire redundancy innebär att man sätter upp en backup PW.

l2vpn xconnect context Redundancy
 member 1.1.1.1 10 encapsulation mpls group 1 priority 1
 member 2.2.2.2 10 encapsulation mpls group 1 priority 2

EVPN-VPWS

l2vpn evpn
 replication-type ingress
 router-id Loopback0
 mpls label mode per-ce
!
l2vpn evpn instance 10 vlan-based
 route-distinguisher 1.1.1.1:10
 route-target both 10:10
 no auto-route-target
! 
member evpn-instance 10
 member GigabitEthernet0/0/1 service-instance 10
!
interface GigabitEthernet0/0/1
 no ip address
 service instance 10 ethernet
  encapsulation dot1q 100
! 
router bgp 1
 address-family l2vpn evpn 
  neighbor IBGP activate
  neighbor IBGP send-community both

Verify

show l2vpn evpn evi detail 
show l2vpn evpn mac 
show l2vpn l2route evpn mac

L2TPv3

Layer 2 Tunneling Protocol (RFC 3931, RFC 4719) kräver CEF och IP-konnektivitet end-to-end. Det är endast point-to-point. IP protocol: 115.

pseudowire-class L2TP-PWCLASS
 encapsulation l2tpv3
 ip local interface Loopback0

interface gi2
 xconnect 2.2.2.2 102 pw-class L2TP-PWCLASS

Verify

show l2tp session all
show l2tun tunnel all

Default kopieras inte DF bit som finns i paketen som kommer in ifrån CE när L2TPv3 IP header adderas. Man kan ändra det i pw-klassen.

pseudowire-class L2TP-PWCLASS
 ip pmtu

Inter-AS Option B

PE

mpls ldp discovery targeted-hello accept

l2vpn
 pseudowire routing 
  terminating-pe tie-breaker

l2vpn vfi context vfiA
 vpn id 111
 autodiscovery bgp signaling ldp
 vpls-id 111:111
 rd 111:111
 route-target 111:111

ASBR

mpls ldp discovery targeted-hello accept

l2vpn
 pseudowire routing

router bgp 1
 no bgp default route-target filter
 address-family l2vpn vpls
  neighbor <ibgp> activate
  neighbor <ibgp> send-community extended
  neighbor <ibgp> next-hop-self
  neighbor <ebgp> activate
  neighbor <ebgp> send-community extended

interface GigabitEthernet1
 description ASBR-to-ASBR
 mpls ip
 mpls ldp discovery transport-address interface

IOS-XR

IOS-XR implementerar ett strukturerat CLI för EFP och EVC konfiguration.

  • l2transport: identifierar subinterface, fysisk port eller bundle som en EFP.
  • encapsulation: används för att matcha på VLAN tag
  • rewrite: används för att specificera rewrite av VLAN tag.

Exempel:

interface Bundle-Ether1.20 l2transport
 encapsulation dot1q 20
 rewrite ingress tag pop 1 symmetric
 mtu 9022

Loggning

l2vpn
 logging
  bridge-domain
  pseudowire
  vfi

Static VPLS

l2vpn
 bridge group PROD
  bridge-domain 101
   mtu 9000
   interface Bundle-Ether1.101
   !
   vfi 101
    neighbor 10.0.10.15 pw-id 101
    neighbor 10.0.10.16 pw-id 101

Verify

show l2vpn bridge-domain brief

Static P2P
EoMPLS tillhandahåller en tunnlingsmekanism för Ethernet-trafik över ett MPLS-enabled L3 core. Man enkapsulerar Ethernet PDUs i MPLS-paket. Notera att MTU på Access Circuits måste matcha för att pseudowire ska gå upp.

"VC Type 5" = Port Based

interface GigabitEthernet0/0/0/1
 l2transport
 no cdp
!
l2vpn
 !
 xconnect group GROUP1
  p2p TO_XR2
   interface GigabitEthernet0/0/0/1
   neighbor ipv4 2.2.2.2 pw-id 100

"VC-Type 4" = VLAN based pseudowire

l2vpn
 pw-class VLAN
  encapsulation mpls
   no transport-mode
   transport-mode vlan

Verify

show l2vpn forwarding neighbor 2.2.2.2 pw-id 100 detail location 0/0/CPU0

Control Word

Normalt sett kollar PE i packet header för att avgöra om det är ett IPv4- eller IPv6-paket och kollar sedan source/destination tuples för att avgöra eventuell load sharing. Med L2VPN så kommer headern att vara en Ethernet-header istället för IP-header. Om MAC-adressen händelsevis börjar på 0x4 eller 0x6 så kommer routern tro att det är ett IP-paket och fatta beslut på fel grunder. Genom att lägga till ett kontrollord så kan routern titta på det för att avgöra om det är ett IP-paket eller ej och därmed finns det ingen risk att load sharing blir fel. Control-Word spelar en viktig roll för ECMP och det är rekommenderat att man slår på det.

l2vpn
 pw-class CONTROL
  encapsulation mpls
   control-word