Access to MPLS L3VPN through an LDP MPLS L2VPN

The MPLS L2VPN in this configuration example is a point-to-point MPLS L2VPN that provides PPP-to-Ethernet interworking.

Network requirements

The backbone is an MPLS L3VPN, which advertises VPN routes through BGP and forwards VPN packets based on MPLS labels.

CE 1 and CE 2 belong to VPN 1 whose route target is 111:1 and RD is 200:1. CE 1 is connected to PE 1 through interface Serial 2/1/0, which uses PPP encapsulation. CE 2 is connected to the MPLS L3VPN through interface GigabitEthernet 2/1/1.

Perform the following configurations to allow communication between CE 1 and CE 2:

Figure 131: Network diagram

Table 46: Interface and IP address assignment

Device

Interface

IP address

Device

Interface

IP address

CE 1

Ser2/1/0

100.1.1.1/24

PE-agg

Loop0

3.3.3.9/32

PE 1

Loop0

1.1.1.9/32

POS2/1/0

10.2.2.2/24

POS2/1/0

10.2.1.1/24

POS2/1/1

10.3.3.1/24

P

Loop0

2.2.2.9/32

VE-L3VPN1

100.1.1.2/24

POS2/1/0

10.2.1.2/24

PE 2

Loop0

4.4.4.9/32

POS2/1/1

10.2.2.1/24

POS2/1/0

10.3.3.2/24

CE 2

GE2/1/1

100.2.1.2/24

GE2/1/1

100.2.1.1/24

Configuration procedure

  1. Configure IP addresses for interfaces as shown in Table 46. (Details not shown.)

  2. Create interfaces VE-L2VPN 1 and VE-L3VPN 1 on PE-agg:

    # Create interface VE-L2VPN 1.

    <PEagg> system-view
    [PEagg] interface ve-l2vpn 1
    [PEagg-VE-L2VPN1] quit
    

    # Create interface VE-L3VPN 1.

    [PEagg] interface ve-l3vpn 1
    [PEagg-VE-L3VPN1] quit
    
  3. Configure MPLS L2VPN:

    1. Configure OSPF on PE 1, P, and PE-agg, and advertise interface addresses:

      # Configure PE 1.

      <PE1> system-view
      [PE1] ospf
      [PE1-ospf-1] area 0
      [PE1-ospf-1-area-0.0.0.0] network 1.1.1.9 0.0.0.0
      [PE1-ospf-1-area-0.0.0.0] network 10.2.1.0 0.0.0.255
      [PE1-ospf-1-area-0.0.0.0] quit
      [PE1-ospf-1] quit
      

      # Configure the P device.

      <P> system-view
      [P] ospf
      [P-ospf-1] area 0
      [P-ospf-1-area-0.0.0.0] network 2.2.2.9 0.0.0.0
      [P-ospf-1-area-0.0.0.0] network 10.2.2.0 0.0.0.255
      [P-ospf-1-area-0.0.0.0] network 10.2.1.0 0.0.0.255
      [P-ospf-1-area-0.0.0.0] quit
      [P-ospf-1] quit
      

      # Configure PE-agg.

      [PEagg] ospf
      [PEagg-ospf-1] area 0
      [PEagg-ospf-1-area-0.0.0.0] network 3.3.3.9 0.0.0.0
      [PEagg-ospf-1-area-0.0.0.0] network 10.2.2.0 0.0.0.255
      [PEagg-ospf-1-area-0.0.0.0] quit
      [PEagg-ospf-1] quit
      
    2. Configure basic MPLS and MPLS LDP on PE 1, P, and PE-agg:

      # Configure PE 1.

      [PE1] mpls lsr-id 1.1.1.9
      [PE1] mpls ldp
      [PE1-ldp] lsp-trigger all 
      [PE1-ldp] quit
      [PE1] interface pos 2/1/0
      [PE1-Pos2/1/0] mpls enable
      [PE1-Pos2/1/0] mpls ldp enable
      [PE1-Pos2/1/0] quit
      

      # Configure the P device.

      [P] mpls lsr-id 2.2.2.9
      [P] mpls ldp
      [P-ldp] lsp-trigger all 
      [P-ldp] quit
      [P] interface pos 2/1/0
      [P-Pos2/1/0] mpls enable
      [P-Pos2/1/0] mpls ldp enable
      [P-Pos2/1/0] quit
      [P] interface pos 2/1/1
      [P-Pos2/1/1] mpls enable
      [P-Pos2/1/1] mpls ldp enable
      [P-Pos2/1/1] quit
      

      # Configure PE-agg.

      [PEagg] mpls lsr-id 3.3.3.9
      [PEagg] mpls ldp
      [PEagg-ldp] lsp-trigger all
      [PEagg-ldp] quit
      [PEagg] interface pos 2/1/0
      [PEagg-Pos2/1/0] mpls enable
      [PEagg-Pos2/1/0] mpls ldp enable
      [PEagg-Pos2/1/0] quit
      
    3. Enable L2VPN on PE 1 and PE-agg:

      # Configure PE 1.

      [PE1] l2vpn enable
      

      # Configure PE-agg.

      [PEagg] l2vpn enable
      
    4. Configure the AC interfaces of PE 1 and PE-agg, create PWs that support interworking, and bind the interface to the PWs:

      # On Serial 2/1/0 of PE 1, configure PPP to support IPCP negotiation without IP address.

      [PE1] interface serial 2/1/0
      [PE1-Serial2/1/0] link-protocol ppp
      [PE1-Serial2/1/0] ppp ipcp ignore local-ip
      [PE1-Serial2/1/0] quit
      

      # On PE 1, create a PW that supports interworking in the group, and bind Serial 2/1/0 to the PW.

      [PE1] xconnect-group 1
      [PE1-xcg-1] connection 1
      [PE1-xcg-1-1] ac interface serial 2/1/0
      [PE1-xcg-1-1] interworking ipv4
      [PE1-xcg-1-1] peer 3.3.3.9 pw-id 101
      [PE1-xcg-1-1-3.3.3.9-101] quit
      

      # On the L2VE interface of PE-agg, specify the default next hop as 100.1.1.2.

      [PEagg] interface ve-l2vpn 1
      [PEagg-VE-L2VPN1] default-nexthop ip 100.1.1.2
      [PEagg-VE-L2VPN1] quit
      

      # On PE-agg, create a PW that supports interworking in the group, and bind VE-L2VPN 1 to the PW.

      [PEagg] xconnect-group 1
      [PEagg-xcg-1] connection 1
      [PEagg-xcg-1-1] ac interface ve-l2vpn 1
      [PEagg-xcg-1-1] interworking ipv4
      [PEagg-xcg-1-1] peer 1.1.1.9 pw-id 101
      [PEagg-xcg-1-1-1.1.1.9-101] quit
      
    5. Configure the AC interface of CE 1 (Serial 2/1/0).

      <CE1> system-view
      [CE1] interface serial 2/1/0
      [CE1-Serial2/1/0] link-protocol ppp
      [CE1-Serial2/1/0] ip address 100.1.1.1 24
      
  4. Configure MPLS L3VPN:

    1. Configure IS-IS on PE 2 and PE-agg, and advertise interface addresses:

      # Configure PE-agg.

      [PEagg] isis 1
      [PEagg-isis-1] network-entity 10.0000.0000.0001.00
      [PEagg-isis-1] quit
      [PEagg] interface pos 2/1/1
      [PEagg-Pos2/1/1] isis enable 1
      [PEagg-Pos2/1/1] quit
      [PEagg] interface loopback 0
      [PEagg-LoopBack0] isis enable 1
      [PEagg-LoopBack0] quit
      

      # Configure PE 2.

      [PE2] isis 1
      [PE2-isis-1] network-entity 10.0000.0000.0002.00
      [PE2-isis-1] quit
      [PE2] interface pos 2/1/0
      [PE2-Pos2/1/0] isis enable 1
      [PE2-Pos2/1/0] quit
      [PE2] interface loopback 0
      [PE2-LoopBack0] isis enable 1
      [PE2-LoopBack0] quit
      
    2. Configure basic MPLS and MPLS LDP on PE-agg and PE 2:

      # Configure PE-agg.

      [PEagg] interface pos 2/1/1
      [PEagg-Pos2/1/1] mpls enable
      [PEagg-Pos2/1/1] mpls ldp enable
      [PEagg-Pos2/1/1] quit
      

      # Configure PE 2.

      [PE2] mpls lsr-id 4.4.4.9
      [PE2] mpls ldp
      [PE2-ldp] lsp-trigger all 
      [PE2-ldp] quit
      [PE2] interface pos 2/1/0
      [PE2-Pos2/1/0] mpls enable
      [PE2-Pos2/1/0] mpls ldp enable
      [PE2-Pos2/1/0] quit
      
    3. On PE-agg and PE 2, create VPN instance VPN1, and bind the VPN instance to the interface connected to the CE:

      # Configure PE-agg.

      [PEagg] ip vpn-instance VPN1
      [PEagg-vpn-instance-VPN1] route-distinguisher 200:1
      [PEagg-vpn-instance-VPN1] vpn-target 111:1 both
      [PEagg-vpn-instance-VPN1] quit
      [PEagg] interface ve-l3vpn 1
      [PEagg-VE-L3VPN1] ip binding vpn-instance VPN1
      [PEagg-VE-L3VPN1] ip address 100.1.1.2 24
      

      # Configure PE 2.

      [PE2] ip vpn-instance VPN1
      [PE2-vpn-instance-VPN1] route-distinguisher 200:1
      [PE2-vpn-instance-VPN1] vpn-target 111:1 both
      [PE2-vpn-instance-VPN1] quit
      [PE2] interface gigabitethernet 2/1/1
      [PE2-GigabitEthernet2/1/1] ip binding vpn-instance VPN1
      [PE2-GigabitEthernet2/1/1] ip address 100.2.1.1 24
      [PE2-GigabitEthernet2/1/1] quit
      
    4. Establish EBGP peer relationships between CE 1 and PE-agg, and between CE 2 and PE 2 to redistribute VPN routes:

      # Configure CE 1 and specify PE-agg as the peer.

      <CE1> system-view
      [CE1] bgp 65010
      [CE1-bgp] peer 100.1.1.2 as-number 100
      [CE1-bgp] address-family ipv4
      [CE1-bgp-ipv4] peer 100.1.1.2 enable
      [CE1-bgp-ipv4] import-route direct
      [CE1-bgp-ipv4] quit
      [CE1-bgp] quit
      

      # Configure PE-agg and specify CE 1 as the peer.

      [PEagg] bgp 100
      [PEagg-bgp] ip vpn-instance VPN1
      [PEagg-bgp-VPN1] peer 100.1.1.1 as-number 65010
      [PEagg-bgp-VPN1] address-family ipv4
      [PEagg-bgp-ipv4-VPN1] peer 100.1.1.1 enable
      [PEagg-bgp-ipv4-VPN1] import-route direct
      [PEagg-bgp-ipv4-VPN1] quit
      [PEagg-bgp-VPN1] quit
      [PEagg-bgp] quit
      

      # Configure CE 2 and specify PE 2 as the peer.

      [CE2] bgp 65020
      [CE2-bgp] peer 100.2.1.1 as-number 100
      [CE2-bgp] address-family ipv4
      [CE2-bgp-ipv4] peer 100.2.1.1 enable
      [CE2-bgp-ipv4] import-route direct
      [CE2-bgp-ipv4] quit
      [CE2-bgp] quit
      

      # Configure PE 2 and specify CE 2 as the peer.

      [PE2] bgp 100
      [PE2-bgp] ip vpn-instance VPN1
      [PE2-bgp-VPN1] peer 100.2.1.2 as-number 65020
      [PE2-bgp-VPN1] address-family ipv4
      [PE2-bgp-ipv4-VPN1] peer 100.2.1.2 enable
      [PE2-bgp-ipv4-VPN1] import-route direct
      [PE2-bgp-ipv4-VPN1] quit
      [PE2-bgp-VPN1] quit
      [PE2-bgp] quit
      
    5. Establish an MP-IBGP peer relationship between PE-agg and PE 2:

      # Configure PE-agg.

      [PEagg] bgp 100
      [PEagg-bgp] peer 4.4.4.9 as-number 100
      [PEagg-bgp] peer 4.4.4.9 connect-interface loopback 0
      [PEagg-bgp] address-family vpnv4
      [PEagg-bgp-vpnv4] peer 4.4.4.9 enable
      [PEagg-bgp-vpnv4] quit
      [PEagg-bgp] quit
      

      # Configure PE 2.

      [PE2] bgp 100
      [PE2-bgp] peer 3.3.3.9 as-number 100
      [PE2-bgp] peer 3.3.3.9 connect-interface loopback 0
      [PE2-bgp] address-family vpnv4
      [PE2-bgp-vpnv4] peer 3.3.3.9 enable
      [PE2-bgp-vpnv4] quit
      [PE2-bgp] quit
      
  5. The default MTU value varies by interface type. To avoid packet fragmentation, set the MTU value for each POS interface on each device to 1500 bytes. The following shows the MTU configuration on PE 1.

    [PE1] interface pos 2/1/0
    [PE1-Pos2/1/0] mtu 1500
    [PE1-Pos2/1/0] shutdown
    [PE1-Pos2/1/0] undo shutdown
    

Verifying the configuration

# Ping CE 2 from CE 1 to verify their connectivity.

<CE1> ping 100.2.1.2
Ping 100.2.1.2 (100.2.1.2): 56 data bytes, press CTRL_C to break
56 bytes from 100.2.1.2: icmp_seq=0 ttl=128 time=1.073 ms
56 bytes from 100.2.1.2: icmp_seq=1 ttl=128 time=1.428 ms
56 bytes from 100.2.1.2: icmp_seq=2 ttl=128 time=19.367 ms
56 bytes from 100.2.1.2: icmp_seq=3 ttl=128 time=1.013 ms
56 bytes from 100.2.1.2: icmp_seq=4 ttl=128 time=0.684 ms

--- Ping statistics for 100.2.1.2 ---
5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.684/4.713/19.367/7.331 ms