Example for Configuring EVPN L3VPNv6 over SRv6 BE

This section provides an example for configuring SRv6 BE to carry EVPN L3VPNv6 services.

Networking Requirements

On the network shown in Figure 1, PE1, the P, and PE2 are in the same AS and run IS-IS to implement IPv6 network connectivity. It is required that a bidirectional SRv6 BE path be deployed between PE1 and PE2 to carry EVPN L3VPNv6 services.

Figure 1 EVPN L3VPNv6 over SRv6 BE networking

Interfaces 1 and 2 in this example represent GE 0/1/0 and GE 0/1/8, respectively.


Configuration Roadmap

The configuration roadmap is as follows:

  1. Enable IPv6 forwarding and configure an IPv6 address for each interface on PE1, the P, and PE2.

  2. Enable IS-IS, configure an IS-IS level, and specify a network entity title (NET) on PE1, the P, and PE2.

  3. Configure an IPv6 L3VPN instance on each PE and bind the IPv6 L3VPN instance to an access-side interface.

  4. Establish a BGP EVPN peer relationship between PEs.
  5. Configure SRv6 BE on PEs, and enable IS-IS SRv6.

Data Preparation

To complete the configuration, you need the following data:

  • L3VPN instance name: vpn1

  • RD and RT of the L3VPN instance

Procedure

  1. Enable IPv6 forwarding and configure an IPv6 address for each interface. The following example uses the configuration of PE1. The configurations of other devices are similar to the configuration of PE1. For configuration details, see Configuration Files in this section.

    <HUAWEI> system-view
    [~HUAWEI] sysname PE1
    [*HUAWEI] commit
    [~PE1] interface gigabitethernet 0/1/0
    [~PE1-GigabitEthernet0/1/0] ipv6 enable
    [*PE1-GigabitEthernet0/1/0] ipv6 address 2001:DB8:10::1 64
    [*PE1-GigabitEthernet0/1/0] quit
    [*PE1] interface LoopBack 1
    [*PE1-LoopBack1] ipv6 enable
    [*PE1-LoopBack1] ipv6 address 2001:DB8:1::1 128
    [*PE1-LoopBack1] quit
    [*PE1] commit

  2. Configure IS-IS.

    # Configure PE1.

    [~PE1] isis 1
    [*PE1-isis-1] is-level level-1
    [*PE1-isis-1] cost-style wide
    [*PE1-isis-1] network-entity 10.0000.0000.0001.00
    [*PE1-isis-1] ipv6 enable topology ipv6
    [*PE1-isis-1] quit
    [*PE1] interface gigabitethernet 0/1/0
    [*PE1-GigabitEthernet0/1/0] isis ipv6 enable 1
    [*PE1-GigabitEthernet0/1/0] quit
    [*PE1] interface loopback1
    [*PE1-LoopBack1] isis ipv6 enable 1
    [*PE1-LoopBack1] quit
    [*PE1] commit

    # Configure the P.

    [~P] isis 1 
    [*P-isis-1] is-level level-1
    [*P-isis-1] cost-style wide
    [*P-isis-1] network-entity 10.0000.0000.0002.00
    [*P-isis-1] ipv6 enable topology ipv6
    [*P-isis-1] quit
    [*P] interface gigabitethernet 0/1/0
    [*P-GigabitEthernet0/1/0] isis ipv6 enable 1
    [*P-GigabitEthernet0/1/0] quit
    [*P] interface gigabitethernet 0/1/8
    [*P-GigabitEthernet0/1/8] isis ipv6 enable 1
    [*P-GigabitEthernet0/1/8] quit
    [*P] interface loopback1
    [*P-LoopBack1] isis ipv6 enable 1
    [*P-LoopBack1] quit
    [*P] commit

    # Configure PE2.

    [~PE2] isis 1
    [*PE2-isis-1] is-level level-1
    [*PE2-isis-1] cost-style wide
    [*PE2-isis-1] network-entity 10.0000.0000.0003.00
    [*PE2-isis-1] ipv6 enable topology ipv6
    [*PE2-isis-1] quit
    [*PE2] interface gigabitethernet 0/1/0
    [*PE2-GigabitEthernet0/1/0] isis ipv6 enable 1
    [*PE2-GigabitEthernet0/1/0] quit
    [*PE2] interface loopback1
    [*PE2-LoopBack1] isis ipv6 enable 1
    [*PE2-LoopBack1] quit
    [*PE2] commit

    After the configuration is complete, perform the following operations to check whether IS-IS is successfully configured:

    # Display IS-IS neighbor information. The following example uses the command output on PE1.

    [~PE1] display isis peer
                              Peer information for ISIS(1)
                             
      System Id     Interface         Circuit Id        State HoldTime Type     PRI
    --------------------------------------------------------------------------------
    0000.0000.0002* GE0/1/0           0000.0000.0002.01  Up   8s       L1       64 
    
    Total Peer(s): 1

  3. Configure an IPv6 L3VPN instance on each PE and bind the IPv6 L3VPN instance to an access-side interface.

    # Configure PE1.

    [~PE1] ip vpn-instance vpn1
    [*PE1-vpn-instance-vpn1] ipv6-family
    [*PE1-vpn-instance-vpn1-af-ipv6] route-distinguisher 100:1
    [*PE1-vpn-instance-vpn1-af-ipv6] vpn-target 1:1 evpn
    [*PE1-vpn-instance-vpn1-af-ipv6] quit
    [*PE1-vpn-instance-vpn1] quit
    [*PE1] interface gigabitethernet0/1/8
    [*PE1-GigabitEthernet0/1/8] ip binding vpn-instance vpn1
    [*PE1-GigabitEthernet0/1/8] ipv6 enable
    [*PE1-GigabitEthernet0/1/8] ipv6 address 2001:DB8:11::1 64
    [*PE1-GigabitEthernet0/1/8] quit
    [*PE1] bgp 100
    [*PE1-bgp] ipv6-family vpn-instance vpn1
    [*PE1-bgp-6-vpn1] import-route direct
    [*PE1-bgp-6-vpn1] advertise l2vpn evpn
    [*PE1-bgp-6-vpn1] quit
    [*PE1-bgp] quit
    [*PE1] commit

    # Configure PE2.

    [~PE2] ip vpn-instance vpn1
    [*PE2-vpn-instance-vpn1] ipv6-family
    [*PE2-vpn-instance-vpn1-af-ipv6] route-distinguisher 200:1
    [*PE2-vpn-instance-vpn1-af-ipv6] vpn-target 1:1 evpn
    [*PE2-vpn-instance-vpn1-af-ipv6] quit
    [*PE2-vpn-instance-vpn1] quit
    [*PE2] interface gigabitethernet0/1/8
    [*PE2-GigabitEthernet0/1/8] ip binding vpn-instance vpn1
    [*PE2-GigabitEthernet0/1/8] ipv6 enable
    [*PE2-GigabitEthernet0/1/8] ipv6 address 2001:DB8:22::1 64
    [*PE2-GigabitEthernet0/1/8] quit
    [*PE2] bgp 100
    [*PE2-bgp] ipv6-family vpn-instance vpn1
    [*PE2-bgp-6-vpn1] import-route direct
    [*PE2-bgp-6-vpn1] advertise l2vpn evpn
    [*PE2-bgp-6-vpn1] quit
    [*PE2-bgp] quit
    [*PE2] commit

  4. Establish a BGP EVPN peer relationship between PEs.

    # Configure PE1.

    [~PE1] bgp 100
    [~PE1-bgp] router-id 1.1.1.1
    [*PE1-bgp] peer 2001:DB8:3::3 as-number 100
    [*PE1-bgp] peer 2001:DB8:3::3 connect-interface loopback 1
    [*PE1-bgp] l2vpn-family evpn
    [*PE1-bgp-af-evpn] peer 2001:DB8:3::3 enable
    [*PE1-bgp-af-evpn] quit
    [*PE1-bgp] quit
    [*PE1] commit

    # Configure PE2.

    [~PE2] bgp 100
    [~PE2-bgp] router-id 3.3.3.3
    [*PE2-bgp] peer 2001:DB8:1::1 as-number 100
    [*PE2-bgp] peer 2001:DB8:1::1 connect-interface loopback 1
    [*PE2-bgp] l2vpn-family evpn
    [*PE2-bgp-af-evpn] peer 2001:DB8:1::1 enable
    [*PE2-bgp-af-evpn] quit
    [*PE2-bgp] quit
    [*PE2] commit

    After the configuration is complete, run the display bgp evpn peer command on the PEs and check whether BGP EVPN peer relationships have been established between the PEs. If the Established state is displayed in the command output, the BGP EVPN peer relationships have been established successfully.

  5. Deploy SRv6 BE between PEs.

    # Configure PE1.

    [~PE1] segment-routing ipv6
    [*PE1-segment-routing-ipv6] encapsulation source-address 2001:DB8:1::1
    [*PE1-segment-routing-ipv6] locator PE1 ipv6-prefix 2001:DB8:100:: 64 static 32
    [*PE1-segment-routing-ipv6-locator] quit
    [*PE1-segment-routing-ipv6] quit
    [*PE1] isis 1
    [*PE1-isis-1] segment-routing ipv6 locator PE1
    [*PE1-isis-1] quit
    [*PE1] bgp 100
    [*PE1-bgp] l2vpn-family evpn
    [*PE1-bgp-af-evpn] peer 2001:DB8:3::3 advertise encap-type srv6
    [*PE1-bgp-af-evpn] quit
    [*PE1-bgp] ipv6-family vpn-instance vpn1
    [*PE1-bgp-6-vpn1] segment-routing ipv6 locator PE1 evpn
    [*PE1-bgp-6-vpn1] segment-routing ipv6 best-effort evpn
    [*PE1-bgp-6-vpn1] quit
    [*PE1-bgp] quit
    [*PE1] commit

    # Configure PE2.

    [~PE2] segment-routing ipv6
    [*PE2-segment-routing-ipv6] encapsulation source-address 2001:DB8:3::3
    [*PE2-segment-routing-ipv6] locator PE2 ipv6-prefix 2001:DB8:130:: 64 static 32
    [*PE2-segment-routing-ipv6-locator] quit
    [*PE2-segment-routing-ipv6] quit
    [*PE2] isis 1
    [*PE2-isis-1] segment-routing ipv6 locator PE2
    [*PE2-isis-1] quit
    [*PE2] bgp 100
    [*PE2-bgp] l2vpn-family evpn
    [*PE2-bgp-af-evpn] peer 2001:DB8:1::1 advertise encap-type srv6
    [*PE2-bgp-af-evpn] quit
    [*PE2-bgp] ipv6-family vpn-instance vpn1
    [*PE2-bgp-6-vpn1] segment-routing ipv6 locator PE2 evpn
    [*PE2-bgp-6-vpn1] segment-routing ipv6 best-effort evpn
    [*PE2-bgp-6-vpn1] quit
    [*PE2-bgp] quit
    [*PE2] commit

  6. Verify the configuration.

    Run the display bgp evpn all routing-table prefix-route command on each PE. The command output shows the IP prefix route sent from the peer end. The following example uses the command output on PE1.

    [~PE1] display bgp evpn all routing-table prefix-route
     Local AS number : 100
    
     BGP Local router ID is 1.1.1.1
     Status codes: * - valid, > - best, d - damped, x - best external, a - add path,
                   h - history,  i - internal, s - suppressed, S - Stale
                   Origin : i - IGP, e - EGP, ? - incomplete
    
     
     EVPN address family:
     Number of Ip Prefix Routes: 2
     Route Distinguisher: 200:1
           Network(EthTagId/IpPrefix/IpPrefixLen)                 NextHop
     *>    0:[2001:DB8:11::]:64                                   0.0.0.0
     *>i   0:[2001:DB8:22::]:64                                   2001:DB8:3::3

    Run the display ipv6 routing-table vpn-instance vpn1 command on each PE. The command output shows the VPN route sent from the peer end. The following example uses the command output on PE1.

    [~PE1] display ipv6 routing-table vpn-instance vpn1
    Routing Table : vpn1
             Destinations : 4        Routes : 4         
    
    Destination  : 2001:DB8:11::                           PrefixLength : 64
    NextHop      : 2001:DB8:11::1                          Preference   : 0
    Cost         : 0                                       Protocol     : Direct
    RelayNextHop : ::                                      TunnelID     : 0x0
    Interface    : GigabitEthernet0/1/8                    Flags        : D
    
    Destination  : 2001:DB8:11::1                          PrefixLength : 128
    NextHop      : ::1                                     Preference   : 0
    Cost         : 0                                       Protocol     : Direct
    RelayNextHop : ::                                      TunnelID     : 0x0
    Interface    : GigabitEthernet0/1/8                    Flags        : D
    
    Destination  : 2001:DB8:22::                           PrefixLength : 64
    NextHop      : 2001:DB8:3::3                           Preference   : 255
    Cost         : 0                                       Protocol     : IBGP
    RelayNextHop : 2001:DB8:3::3                           TunnelID     : 0x0
    Interface    : SRv6 BE                                 Flags        : RD
    
    Destination  : FE80::                                  PrefixLength : 10
    NextHop      : ::                                      Preference   : 0
    Cost         : 0                                       Protocol     : Direct
    RelayNextHop : ::                                      TunnelID     : 0x0
    Interface    : NULL0                                   Flags        : DB

Configuration Files

  • PE1 configuration file

    #
    sysname PE1
    #
    ip vpn-instance vpn1
     ipv6-family
      route-distinguisher 100:1
      apply-label per-instance
      vpn-target 1:1 export-extcommunity evpn
      vpn-target 1:1 import-extcommunity evpn
    #
    segment-routing ipv6
     encapsulation source-address 2001:DB8:1::1
     locator PE1 ipv6-prefix 2001:DB8:100:: 64 static 32
    #
    isis 1
     is-level level-1
     cost-style wide
     network-entity 10.0000.0000.0001.00
     #
     ipv6 enable topology ipv6
     segment-routing ipv6 locator PE1
     #
    #
    interface GigabitEthernet0/1/0
     undo shutdown
     ipv6 enable
     ipv6 address 2001:DB8:10::1/64
     isis ipv6 enable 1
    #
    interface GigabitEthernet0/1/8
     undo shutdown
     ip binding vpn-instance vpn1
     ipv6 enable
     ipv6 address 2001:DB8:11::1/64
    #
    interface LoopBack1
     ipv6 enable
     ipv6 address 2001:DB8:1::1/128
     isis ipv6 enable 1
    #
    bgp 100
     router-id 1.1.1.1
     peer 2001:DB8:3::3 as-number 100
     peer 2001:DB8:3::3 connect-interface LoopBack1
     #
     ipv4-family unicast
      undo synchronization
     #
     ipv6-family vpn-instance vpn1
      import-route direct
      advertise l2vpn evpn
      segment-routing ipv6 locator PE1 evpn
      segment-routing ipv6 best-effort evpn
     #
     l2vpn-family evpn
      policy vpn-target
      peer 2001:DB8:3::3 enable
      peer 2001:DB8:3::3 advertise encap-type srv6
    #
    return
  • P configuration file

    #
    sysname P
    #
    isis 1
     is-level level-1
     cost-style wide
     network-entity 10.0000.0000.0002.00
     #
     ipv6 enable topology ipv6
    #
    interface GigabitEthernet0/1/0
     undo shutdown
     ipv6 enable
     ipv6 address 2001:DB8:10::2/64
     isis ipv6 enable 1
    #
    interface GigabitEthernet0/1/8
     undo shutdown
     ipv6 enable
     ipv6 address 2001:DB8:20::1/64
     isis ipv6 enable 1
    #
    interface LoopBack1
     ipv6 enable
     ipv6 address 2001:DB8:2::2/128
     isis ipv6 enable 1
    #
    return
  • PE2 configuration file

    #
    sysname PE2
    #
    ip vpn-instance vpn1
     ipv6-family
      route-distinguisher 200:1
      apply-label per-instance
      vpn-target 1:1 export-extcommunity evpn
      vpn-target 1:1 import-extcommunity evpn
    #
    segment-routing ipv6
     encapsulation source-address 2001:DB8:3::3
     locator PE2 ipv6-prefix 2001:DB8:130:: 64 static 32
    #
    isis 1
     is-level level-1
     cost-style wide
     network-entity 10.0000.0000.0003.00
     #
     ipv6 enable topology ipv6
     segment-routing ipv6 locator PE2
     #
    #
    interface GigabitEthernet0/1/0
     undo shutdown  
     ipv6 enable
     ipv6 address 2001:DB8:20::2/64
     isis ipv6 enable 1
    #
    interface GigabitEthernet0/1/8
     undo shutdown
     ip binding vpn-instance vpn1
     ipv6 enable
     ipv6 address 2001:DB8:22::1/64
    #
    interface LoopBack1
     ipv6 enable
     ipv6 address 2001:DB8:3::3/128
     isis ipv6 enable 1
    #
    bgp 100
     router-id 3.3.3.3
     peer 2001:DB8:1::1 as-number 100
     peer 2001:DB8:1::1 connect-interface LoopBack1
     #
     ipv4-family unicast
      undo synchronization
     #
     ipv6-family vpn-instance vpn1
      import-route direct
      advertise l2vpn evpn
      segment-routing ipv6 locator PE2 evpn
      segment-routing ipv6 best-effort evpn
     #
     l2vpn-family evpn
      policy vpn-target
      peer 2001:DB8:1::1 enable
      peer 2001:DB8:1::1 advertise encap-type srv6
    #
    return
Copyright © Huawei Technologies Co., Ltd.
Copyright © Huawei Technologies Co., Ltd.
< Previous topic Next topic >