BFD for IPv6 BGP configuration example

Network requirements

As shown in Figure 85, configure OSPFv3 as the IGP in AS 200.

Figure 85: Network diagram

Table 21: Interface and IP address assignment

Device

Interface

IP address

Device

Interface

IP address

Switch A

Vlan-int100

3000::1/64

Switch C

Vlan-int101

3001::3/64

Vlan-int200

2000::1/64

Vlan-int201

2001::3/64

Switch B

Vlan-int100

3000::2/64

Switch D

Vlan-int200

2000::2/64

Vlan-int101

3001::2/64

Vlan-int201

2001::2/64

Configuration procedure

  1. Configure IPv6 addresses for interfaces. (Details not shown.)

  2. Configure OSPFv3 so that Switch A and Switch C can reach each other. (Details not shown.)

  3. Configure IPv6 BGP on Switch A:

    # Establish two IBGP connections to Switch C.

    <SwitchA> system-view
    [SwitchA] bgp 200
    [SwitchA-bgp-default] router-id 1.1.1.1
    [SwitchA-bgp-default] peer 3001::3 as-number 200
    [SwitchA-bgp-default] peer 2001::3 as-number 200
    [SwitchA-bgp-default] address-family ipv6
    [SwitchA-bgp-default-ipv6] peer 3001::3 enable
    [SwitchA-bgp-default-ipv6] peer 2001::3 enable
    [SwitchA-bgp-default-ipv6] quit
    

    # Create IPv6 basic ACL 2000 to permit 1200::0/64 to pass.

    [SwitchA] acl ipv6 basic 2000
    [SwitchA-acl-ipv6-basic-2000] rule permit source 1200:: 64
    [SwitchA-acl-ipv6-basic-2000] quit
    

    # Create two routing policies to set the MED for route 1200::0/64. The policy apply_med_50 sets the MED to 50, and the policy apply_med_100 sets the MED to 100.

    [SwitchA] route-policy apply_med_50 permit node 10
    [SwitchA-route-policy-apply_med_50-10] if-match ipv6 address acl 2000
    [SwitchA-route-policy-apply_med_50-10] apply cost 50
    [SwitchA-route-policy-apply_med_50-10] quit
    [SwitchA] route-policy apply_med_100 permit node 10
    [SwitchA-route-policy-apply_med_100-10] if-match ipv6 address acl 2000
    [SwitchA-route-policy-apply_med_100-10] apply cost 100
    [SwitchA-route-policy-apply_med_100-10] quit
    

    # Apply routing policy apply_med_50 to routes outgoing to peer 3001::3, and apply routing policy apply_med_100 to routes outgoing to peer 2001::3.

    [SwitchA] bgp 200
    [SwitchA-bgp-default] address-family ipv6 unicast
    [SwitchA-bgp-default-ipv6] peer 3001::3 route-policy apply_med_50 export
    [SwitchA-bgp-default-ipv6] peer 2001::3  route-policy apply_med_100 export
    [SwitchA-bgp-default-ipv6] quit
    

    # Enable BFD for peer 3001::3.

    [SwitchA-bgp-default] peer 3001::3 bfd
    [SwitchA-bgp-default] quit
    
  4. Configure IPv6 BGP on Switch C:

    # Establish two IBGP connections to Switch A.

    <SwitchC> system-view
    [SwitchC] bgp 200
    [SwitchC-bgp-default] router-id 3.3.3.3
    [SwitchC-bgp-default] peer 3000::1 as-number 200
    [SwitchC-bgp-default] peer 2000::1 as-number 200
    [SwitchC-bgp-default] address-family ipv6
    [SwitchC-bgp-default-ipv6] peer 3000::1 enable
    [SwitchC-bgp-default-ipv6] peer 2000::1 enable
    [SwitchC-bgp-default-ipv6] quit
    

    # Enable BFD for peer 3001::1.

    [SwitchC-bgp-default] peer 3000::1 bfd
    [SwitchC-bgp-default] quit
    [SwitchC] quit
    

Verifying the configuration

# Display detailed BFD session information on Switch C.

<SwitchC> display bfd session verbose
Total Session Num: 1     Up Session Num: 1     Init Mode: Active

 IPv6 Session Working Under Ctrl Mode:
       Local Discr: 513                  Remote Discr: 513
         Source IP: 3001::3
    Destination IP: 3000::1
     Session State: Up                      Interface: N/A
      Min Tx Inter: 500ms                Act Tx Inter: 500ms
      Min Rx Inter: 500ms                Detect Inter: 2500ms
          Rx Count: 13                       Tx Count: 14
      Connect Type: Indirect           Running Up for: 00:00:05
         Hold Time: 2243ms                  Auth mode: None
       Detect Mode: Async                        Slot: 0
          Protocol: BGP4+
           Version:1
         Diag Info: No Diagnostic

The output shows that a BFD session has been established between Switch A and Switch C.

# Display BGP peer information on Switch C.

<SwitchC> display bgp peer ipv6

 BGP local router ID: 3.3.3.3
 Local AS number: 200
 Total number of peers: 2                  Peers in established state: 2

  * - Dynamically created peer
  Peer                    AS  MsgRcvd  MsgSent OutQ PrefRcv Up/Down  State

  2000::1                200        8        8    0       0 00:04:45 Established
  3000::1                200        5        4    0       0 00:01:53 Established

The output shows that Switch C has established two BGP connections with Switch A, and both connections are in Established state.

# Display route 1200::0/64 on Switch C.

<SwitchC> display ipv6 routing-table 1200::0 64 verbose

Summary count : 1

Destination: 1200::/64
   Protocol: BGP4+           Process ID: 0
  SubProtID: 0x1                    Age: 00h01m07s
       Cost: 50              Preference: 255
      IpPre: N/A             QosLocalID: N/A
        Tag: 0                    State: Active Adv
  OrigTblID: 0x1                OrigVrf: default-vrf
    TableID: 0xa                 OrigAs: 0
      NibID: 0x25000001          LastAs: 0
     AttrID: 0x1               Neighbor: 3000::1
      Flags: 0x10060        OrigNextHop: 3000::1
      Label: NULL           RealNextHop: FE80::20C:29FF:FE4A:3873
    BkLabel: NULL             BkNextHop: N/A
  Tunnel ID: Invalid          Interface: Vlan-interface101
BkTunnel ID: Invalid        BkInterface: N/A

The output shows that Switch C communicates with network 1200::0/64 through the path Switch C<—>Switch B<—>Switch A.

# Break down the path Switch C<—>Switch B<—>Switch A and then display route 1200::0/64 on Switch C.

<SwitchC> display ipv6 routing-table 1200::0 64 verbose

Summary count : 1

Destination: 1200::/64
   Protocol: BGP4+           Process ID: 0
  SubProtID: 0x1                    Age: 00h00m57s
       Cost: 100             Preference: 255
      IpPre: N/A             QosLocalID: N/A
        Tag: 0                    State: Active Adv
  OrigTblID: 0x1                OrigVrf: default-vrf
    TableID: 0xa                 OrigAs: 0
      NibID: 0x25000000          LastAs: 0
     AttrID: 0x0               Neighbor: 2000::1
      Flags: 0x10060        OrigNextHop: 2000::1
      Label: NULL           RealNextHop: FE80::20C:29FF:FE40:715
    BkLabel: NULL             BkNextHop: N/A
  Tunnel ID: Invalid          Interface: Vlan-interface201
BkTunnel ID: Invalid        BkInterface: N/A

The output shows that Switch C communicates with network 1200::0/64 through the path Switch C<—>Switch D<—>Switch A.