Date created: Tuesday, August 18, 2015 7:02:32 PM. Last modified: Thursday, November 11, 2021 10:16:34 AM

PWE3 IOS & XR to Junos

NB:
For targeted LDP sessions/pseudowires between IOS-XR and 3rd party vendors, see https://bst.cloudapps.cisco.com/bugsearch/bug/CSCux80490.

Not getting a Label Mapping from the remote site is a known inter-operability issue.
An IETF draft has been submitted to resolve this.
https://datatracker.ietf.org/doc/draft-brissette-pals-pw-fec-label-request/

There following steps help to reduce the window where the issue can be seen though it does not cover 100% of the cases.
- It is recommended to use the following configuration on ASR9K: "l2vpn neighbor all ldp flap"
For the first configured PW to any new neighbor, the LDP session will be flapped. It could impact other L3 services if they are sharing the same LDP tunnel with L2 services.
- That is why it is also recommended to have "mpls ldp graceful-restart" and if the 3rd party vendor does not support LDP graceful-restart the add "mpls ldp graceful-restart helper-peer maintain-on-local-reset for " when using the above partial workaround.

Pseudowire Examples:
IOS port-based to Junos port-based
IOS tagged sub-int to Junos tagged VLAN
IOS-XR tagged sub-int to Junos tagged sub-int (VC type 4)
IOS-XR tagged sub-int to Junos tagged sub-int (VC type 5)

 

IOS port-based to Junos port-based

! ME3800

interface GigabitEthernet0/1
 description ME3600-Gi0/3
 no switchport
 no ip address
 no cdp enable
 xconnect 10.0.0.4 123 encapsulation mpls

! SRX240
interfaces {
    ge-0/0/0 {
        description ME3600-Gi0/5;
        encapsulation ethernet-ccc;
        unit 0 {
            family ccc;
        }
    }
}
protocols {
    l2circuit {
        neighbor 10.0.0.1 {
            interface ge-0/0/0.0 {
                virtual-circuit-id 123;
            }
        }
    }
}


ME3800#show mpls l2transport vc 123 detail
Local interface: Gi0/1 up, line protocol up, Ethernet up
  Destination address: 10.0.0.4, VC ID: 123, VC status: up
    Output interface: Gi0/2, imposed label stack 299776
    Preferred path: not configured
    Default path: active
    Next hop: 10.0.20.4
  Create time: 00:04:09, last status change time: 00:04:09
    Last label FSM state change time: 00:04:09
  Signaling protocol: LDP, peer 10.0.0.4:0 up
    Targeted Hello: 10.0.0.1(LDP Id) -> 10.0.0.4, LDP is UP
    Graceful restart: not configured and not enabled
    Non stop routing: not configured and not enabled
    Status TLV support (local/remote)   : enabled/not supported
      LDP route watch                   : enabled
      Label/status state machine        : established, LruRru
      Last local dataplane   status rcvd: No fault
      Last BFD dataplane     status rcvd: Not sent
      Last BFD peer monitor  status rcvd: No fault
      Last local AC  circuit status rcvd: No fault
      Last local AC  circuit status sent: No fault
      Last local PW i/f circ status rcvd: No fault
      Last local LDP TLV     status sent: No fault
      Last remote LDP TLV    status rcvd: Not sent
      Last remote LDP ADJ    status rcvd: No fault
    MPLS VC labels: local 16, remote 299776
    Group ID: local 0, remote 0
    MTU: local 1500, remote 1500
    Remote interface description:
  Sequencing: receive disabled, send disabled
  Control Word: On (configured: autosense)
  Dataplane:
    SSM segment/switch IDs: 4146/4145 (used), PWID: 5
  VC statistics:
    transit packet totals: receive 17, send 24
    transit byte totals:   receive 2306, send 4821
    transit packet drops:  receive 0, seq error 0, send 0


ME3800#show mpls l2transport binding 123
  Destination Address: 10.0.0.4,VC ID: 123
    Local Label:  16
        Cbit: 1,    VC Type: Ethernet,    GroupID: 0
        MTU: 1500,   Interface Desc: ME3600-Gi0/3
        VCCV: CC Type: CW [1], RA [2]
              CV Type: LSPV [2], BFD/Raw [5]
    Remote Label: 299776
        Cbit: 1,    VC Type: Ethernet,    GroupID: 0
        MTU: 1500,   Interface Desc: n/a
        VCCV: CC Type: RA [2], TTL [3]
              CV Type: LSPV [2]


root# run show l2circuit connections neighbor 10.0.0.1 | find Neighbor
Neighbor: 10.0.0.1
    Interface                 Type  St     Time last up          # Up trans
    ge-0/0/0.0(vc 123)        rmt   Up     Jul 30 23:01:55 2015           1
      Remote PE: 10.0.0.1, Negotiated control-word: Yes (Null)
      Incoming label: 299776, Outgoing label: 16
      Negotiated PW status TLV: No
      Local interface: ge-0/0/0.0, Status: Up, Encapsulation: ETHERNET

 

IOS tagged sub-int to Junos tagged VLAN

! IOS
interface FastEthernet1/1.100
 encapsulation dot1Q 100
 xconnect 1.1.1.1 100 encapsulation mpls


! Junos - SRX
set interfaces em1 vlan-tagging
set interfaces em1 unit 100 encapsulation vlan-ccc
set interfaces em1 unit 100 vlan-id 100
set interfaces em1 unit 100 family ccc
set protocols mpls interface lo0.0
set protocols l2circuit neighbor 1.1.1.2 interface em1.100 virtual-circuit-id 100


! Junos - MX
set interfaces ge-1/1/1 flexible-vlan-tagging
set interfaces ge-1/1/1 encapsulation flexible-ethernet-services
set interfaces ge-1/1/1 unit 100 description Xconnect to IOS
set interfaces ge-1/1/1 unit 100 encapsulation vlan-ccc
set interfaces ge-1/1/1 unit 100 vlan-id 100
set protocols l2circuit neighbor 1.1.1.2 interface ge-1/1/1.100 virtual-circuit-id 100
set protocols l2circuit neighbor 1.1.1.2 interface ge-1/1/1.100 description Xconnect to IOS
set protocols l2circuit neighbor 1.1.1.2 interface ge-1/1/1.100 no-control-word
set protocols l2circuit neighbor 1.1.1.2 interface ge-1/1/1.100 mtu 1518
set protocols l2circuit neighbor 1.1.1.2 interface ge-1/1/1.100 ignore-encapsulation-mismatch
set protocols l2circuit neighbor 1.1.1.2 interface ge-1/1/1.100 ignore-mtu-mismatch

 

IOS-XR tagged sub-int to Junos tagged sub-int (VC type 4)

!
! This will bring up a VC Type 4 circuit with the SLAN PoP'ed
! on the ASR, so presumably it must be inserting a dummy VLAN
! again which is the same VLAN value, because the MX is not
! doing any pushing-pop'ing. Either way, it works...
!


!IOS-XR
interface TenGigE0/0/1/2.913 l2transport
 description L2-Xconnect-MX
 encapsulation dot1q 913
 rewrite ingress tag pop 1 symmetric
 mtu 1536

l2vpn
 pw-class PW_VLAN
  encapsulation mpls
   transport-mode vlan

 xconnect group asr9k_MX_Xconnect
  p2p asr9k-MX
   interface TenGigE0/0/1/2.913
   neighbor ipv4 10.0.0.20 pw-id 913
    pw-class PW_VLAN




RP/0/RSP0/CPU0:asr9k#show int TenGigE0/0/1/2.913 | i MTU
  MTU 1536 bytes, BW 10000000 Kbit (Max: 10000000 Kbit)


RP/0/RSP0/CPU0:asr9k#show l2vpn xconnect interface TenGigE0/0/1/2.913 detail
Group asr9k_MX_Xconnect, XC asr9k-MX, state is up; Interworking none
  AC: TenGigE0/0/1/2.913, state is up
    Type VLAN; Num Ranges: 1
    VLAN ranges: [913, 913]
    MTU 1518; XC ID 0x1080018; interworking none
    Statistics:
      packets: received 1166, sent 31
      bytes: received 70540, sent 2360
      drops: illegal VLAN 0, illegal length 0
  PW: neighbor 10.0.0.20, PW ID 913, state is up ( established )
    PW class PW_VLAN, XC ID 0xc000000d
    Encapsulation MPLS, protocol LDP
    Source address 10.0.0.2
    PW type Ethernet VLAN, control word disabled, interworking none
    PW backup disable delay 0 sec
    Sequencing not set

      MPLS         Local                          Remote
      ------------ ------------------------------ -----------------------------
      Label        50188                          308544
      Group ID     0x4000640                      unknown
      Interface    TenGigE0/0/1/2.913             unknown
      MTU          1518                           1518
      Control word disabled                       disabled
      PW type      Ethernet VLAN                  Ethernet VLAN
      VCCV CV type 0x2                            0x6
                   (LSP ping verification)        (LSP ping verification)
                                                  (BFD PW FD only)
      VCCV CC type 0x6                            0x6
                   (router alert label)           (router alert label)
                   (TTL expiry)                   (TTL expiry)
      ------------ ------------------------------ -----------------------------
    MIB cpwVcIndex: 3221225485
    Create time: 29/07/2016 13:07:40 (00:37:04 ago)
    Last time status changed: 29/07/2016 13:33:29 (00:11:15 ago)
    Last time PW went down: 29/07/2016 13:20:43 (00:24:01 ago)
    Statistics:
      packets: received 31, sent 1166
      bytes: received 2360, sent 70540





! Junos
set interfaces xe-0/1/0 unit 913 description L2-Xconnect-asr9k
set interfaces xe-0/1/0 unit 913 encapsulation vlan-ccc
set interfaces xe-0/1/0 unit 913 vlan-id 913


set protocols l2circuit neighbor 10.0.0.2 interface xe-0/1/0.913 virtual-circuit-id 913
set protocols l2circuit neighbor 10.0.0.2 interface xe-0/1/0.913 description to-asr
set protocols l2circuit neighbor 10.0.0.2 interface xe-0/1/0.913 no-control-word
set protocols l2circuit neighbor 10.0.0.2 interface xe-0/1/0.913 mtu 1518
set protocols l2circuit neighbor 10.0.0.2 interface xe-0/1/0.913 encapsulation-type ethernet-vlan



user@mx> show l2circuit connections extensive
Layer-2 Circuit Connections:

Legend for connection status (St)
EI -- encapsulation invalid      NP -- interface h/w not present
MM -- mtu mismatch               Dn -- down
EM -- encapsulation mismatch     VC-Dn -- Virtual circuit Down
CM -- control-word mismatch      Up -- operational
VM -- vlan id mismatch           CF -- Call admission control failure
OL -- no outgoing label          IB -- TDM incompatible bitrate
NC -- intf encaps not CCC/TCC    TM -- TDM misconfiguration
BK -- Backup Connection          ST -- Standby Connection
CB -- rcvd cell-bundle size bad  SP -- Static Pseudowire
LD -- local site signaled down   RS -- remote site standby
RD -- remote site signaled down  HS -- Hot-standby Connection
XX -- unknown

Legend for interface status
Up -- operational
Dn -- down
Neighbor: 10.0.0.2
    Interface                 Type  St     Time last up          # Up trans
    xe-0/1/0.913(vc 913)      rmt   Up     Jul 29 14:43:46 2016           1
      Remote PE: 10.0.0.2, Negotiated control-word: No
      Incoming label: 308544, Outgoing label: 50188
      Negotiated PW status TLV: No
      Local interface: xe-0/1/0.913, Status: Up, Encapsulation: VLAN
        Description: to-asr
    Connection History:
        Jul 29 14:43:46 2016  PE route changed
        Jul 29 14:43:46 2016  Out lbl Update                     50188
        Jul 29 14:43:46 2016  In lbl Update                     308544
        Jul 29 14:43:46 2016  loc intf up                 xe-0/1/0.913



user@mx> show route table l2circuit.0

l2circuit.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

10.0.0.2:NoCtrlWord:4:913:Local/96
                   *[L2CKT/7] 00:07:12, metric2 1
                    > to 10.10.0.74 via ae0.0, Push 63950
10.0.0.2:NoCtrlWord:4:913:Remote/96
                   *[LDP/9] 00:16:47
                      Discard

 

IOS-XR tagged sub-int to Junos tagged sub-int (VC type 5)

!
! This will bring up a type 5 VC and pop the SLAN at each end ingressing
! from the local access circuit and push it on again at the far end at egress
!


!IOS-XR
interface TenGigE0/0/1/2.913 l2transport
 description L2-Xconnect-MX
 encapsulation dot1q 913
 rewrite ingress tag pop 1 symmetric
 mtu 1536


l2vpn
 pw-class PW_VLAN
  encapsulation mpls
   transport-mode ethernet

 xconnect group ASR_MX_Xconnect
  p2p asr-mx
   interface TenGigE0/0/1/2.913
   neighbor ipv4 10.0.0.20 pw-id 913
    pw-class PW_VLAN


RP/0/RSP0/CPU0:ASR#show int TenGigE0/0/1/2.913 | i MTU
  MTU 1536 bytes, BW 10000000 Kbit (Max: 10000000 Kbit)

RP/0/RSP0/CPU0:ASR#show l2vpn xconnect interface TenGigE0/0/1/2.913 detail
Group ASR_MX_Xconnect, XC asr_mx, state is up; Interworking none
  AC: TenGigE0/0/1/2.913, state is up
    Type VLAN; Num Ranges: 1
    VLAN ranges: [913, 913]
    MTU 1518; XC ID 0x1080018; interworking none
    Statistics:
      packets: received 1176, sent 41
      bytes: received 71720, sent 3540
      drops: illegal VLAN 0, illegal length 0
  PW: neighbor 10.0.0.20, PW ID 913, state is up ( established )
    PW class PW_VLAN, XC ID 0xc000000d
    Encapsulation MPLS, protocol LDP
    Source address 10.0.0.2
    PW type Ethernet, control word disabled, interworking none
    PW backup disable delay 0 sec
    Sequencing not set

      MPLS         Local                          Remote
      ------------ ------------------------------ -----------------------------
      Label        50188                          308544
      Group ID     0x4000640                      unknown
      Interface    TenGigE0/0/1/2.913             unknown
      MTU          1518                           1518
      Control word disabled                       disabled
      PW type      Ethernet                       Ethernet
      VCCV CV type 0x2                            0x6
                   (LSP ping verification)        (LSP ping verification)
                                                  (BFD PW FD only)
      VCCV CC type 0x6                            0x6
                   (router alert label)           (router alert label)
                   (TTL expiry)                   (TTL expiry)
      ------------ ------------------------------ -----------------------------
    MIB cpwVcIndex: 3221225485
    Create time: 29/07/2016 13:07:40 (01:23:02 ago)
    Last time status changed: 29/07/2016 14:30:11 (00:00:30 ago)
    Last time PW went down: 29/07/2016 14:26:24 (00:04:17 ago)
    Statistics:
      packets: received 41, sent 1176
      bytes: received 3540, sent 71720




! Junos
set interfaces xe-0/1/0 unit 913 description L2-Xconnect-asr9k
set interfaces xe-0/1/0 unit 913 encapsulation vlan-ccc
set interfaces xe-0/1/0 unit 913 vlan-id 913
set interfaces xe-0/1/0 unit 913 input-vlan-map pop
set interfaces xe-0/1/0 unit 913 output-vlan-map push
set interfaces xe-0/1/0 unit 913 output-vlan-map tag-protocol-id 0x8100


set protocols l2circuit neighbor 10.0.0.2 interface xe-0/1/0.913 virtual-circuit-id 913
set protocols l2circuit neighbor 10.0.0.2 interface xe-0/1/0.913 description to-asr
set protocols l2circuit neighbor 10.0.0.2 interface xe-0/1/0.913 no-control-word
set protocols l2circuit neighbor 10.0.0.2 interface xe-0/1/0.913 mtu 1518
set protocols l2circuit neighbor 10.0.0.2 interface xe-0/1/0.913 encapsulation-type ethernet


user@mx> show l2circuit connections extensive
Layer-2 Circuit Connections:

Legend for connection status (St)
EI -- encapsulation invalid      NP -- interface h/w not present
MM -- mtu mismatch               Dn -- down
EM -- encapsulation mismatch     VC-Dn -- Virtual circuit Down
CM -- control-word mismatch      Up -- operational
VM -- vlan id mismatch           CF -- Call admission control failure
OL -- no outgoing label          IB -- TDM incompatible bitrate
NC -- intf encaps not CCC/TCC    TM -- TDM misconfiguration
BK -- Backup Connection          ST -- Standby Connection
CB -- rcvd cell-bundle size bad  SP -- Static Pseudowire
LD -- local site signaled down   RS -- remote site standby
RD -- remote site signaled down  HS -- Hot-standby Connection
XX -- unknown

Legend for interface status
Up -- operational
Dn -- down
Neighbor: 10.0.0.2
    Interface                 Type  St     Time last up          # Up trans
    xe-0/1/0.913(vc 913)      rmt   Up     Jul 29 15:30:53 2016           1
      Remote PE: 10.0.0.2, Negotiated control-word: No
      Incoming label: 308544, Outgoing label: 50188
      Negotiated PW status TLV: No
      Local interface: xe-0/1/0.913, Status: Up, Encapsulation: ETHERNET
        Description: L2-Xconnect-asr9k
    Connection History:
        Jul 29 15:30:53 2016  PE route changed
        Jul 29 15:30:53 2016  Out lbl Update                     50188
        Jul 29 15:30:53 2016  In lbl Update                     308544
        Jul 29 15:30:53 2016  loc intf up                 xe-0/1/0.913



user@mx> show route table l2circuit.0

l2circuit.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

10.0.0.2:NoCtrlWord:5:913:Local/96
                   *[L2CKT/7] 00:35:57, metric2 1
                    > to 10.10.0.74 via ae0.0, Push 63950
10.0.0.2:NoCtrlWord:5:913:Remote/96
                   *[LDP/9] 00:06:58
                      Discard