Segment Routing v6 Configuration Guide for Cisco 8000 Series Routers, Cisco IOS XR Releases

PDF

Segment Routing v6 Configuration Guide for Cisco 8000 Series Routers, Cisco IOS XR Releases

IPv6 BGP global SRv6 services

Want to summarize with AI?

Log in

Explains how BGP signals IPv6 global services over SRv6 and describes the endpoint behaviors, SID allocation methods, restrictions, and configuration used for forwarding.


IPv6 BGP global is a SRv6 feature that extends the support of SRv6-based BGP services to include IPv6 global BGP, and implements uDT6 and uDT46 SRv6 functions at the PE node.

Table 1. Feature History Table

Feature Name

Release Information

Feature Description

SRv6 Services: BGP Global IPv6

Release 25.4.1

Introduced in this release on: Fixed Systems (8700 [ASIC: K100], 8010 [ASIC: A100])(select variants only*)

*This feature is supported on:

  • 8711-48Z-M

  • 8011-32Y8L2H2FH

  • 8011-12G12X4Y-A/D

SRv6 Services: BGP Global IPv6

Release 25.1.1

Introduced in this release on: Fixed Systems (8700 [ASIC: K100], 8010 [ASIC: A100])

This feature is now supported on:

  • 8712-MOD-M

  • 8011-4G24Y4H-I

SRv6 Services: BGP Global IPv6

Release 7.8.1

With this feature, the egress PE can signal an SRv6 Service SID with the BGP global route. The ingress PE encapsulates the IPv4/IPv6 payload in an outer IPv6 header where the destination address is the SRv6 Service SID provided by the egress PE. BGP messages between PEs carry SRv6 Service SIDs to interconnect PEs.

Key concepts

  • IPv6 global BGP: Refers to BGP routing specifically for IPv6 addresses within the global routing table, typically used for internet-wide connectivity.

  • uDT46 (Endpoint with decapsulation and IPv4/IPv6 table lookup): An SRv6 behavior that supports decapsulation and a lookup in either an IPv4 or IPv6 routing table, enabling dual-stack forwarding.

  • SID allocation mode: Defines how SRv6 SIDs are assigned for prefixes.

    • per-VRF: Specifies that the same label is used for all routes advertised from a unique Virtual Routing and Forwarding (VRF) instance.

    • per-VRF-46: Specifies that the same service SID (uDT46 behavior) is used for all routes advertised from a unique VRF, supporting both IPv4 and IPv6.

    • per-CE (Per-Customer Edge): An allocation mode where a unique SID is allocated for each Customer Edge device.

    • route-policy: Uses a route policy to determine the SID allocation mode and locator for a given prefix.


Restrictions of IPv6 BGP global SRv6 services

  • SRv6 locator can be assigned globally or under IPv6 unicast address family

  • Equal-Cost Multi-path (ECMP) and Unequal Cost Multipath (UCMP) are supported.

  • BGP, OSPF, Static are supported as PE-CE protocol.

  • Dual-Stack L3 Services (IPv4 BGP global, IPv6 BGP global) are supported.


Configure IPv6 BGP global SRv6 services

The figure shows a IPv6 BGP global scenario.

Figure 1. IPv6 BGP global scenario

Procedure

  1. Configure BGP global IPv6 over SRv6.

    • Use Case 1: BGP Global IPv6 over SRv6 with Per-AFI SID Allocation.

      The following example shows how to configure BGP global IPv6 over SRv6 with per-AFI SID allocation.

      Node1(config)# router bgp 100
      Node1(config-bgp)# bgp router-id 1.1.1.1
      Node1(config-bgp)# segment-routing srv6
      Node1(config-bgp-gbl-srv6)# locator Node1
      Node1(config-bgp-gbl-srv6)# exit
      Node1(config-bgp)# address-family ipv6 unicast
      Node1(config-bgp-af)# segment-routing srv6
      Node1(config-bgp-af-srv6)# locator Node1
      Node1(config-bgp-af-srv6)# alloc mode per-vrf
      Node1(config-bgp-af-srv6)# exit
      Node1(config-bgp-af)# exit
      Node1(config-bgp)# neighbor cafe:0:4::4
      Node1(config-bgp-nbr)# address-family ipv6 unicast
      Node1(config-bgp-nbr-af)# encapsulation-type srv6
      Node1(config-bgp-nbr-af)# exit
      Node1(config-bgp-nbr)# exit
      Node1(config-bgp)# neighbor cafe:0:5::5
      Node1(config-bgp-nbr)# address-family ipv6 unicast
      Node1(config-bgp-nbr-af)# encapsulation-type srv6
      Node1(config-bgp-nbr-af)# commit
      
      

      Running Configuration

      router bgp 100
       bgp router-id 1.1.1.1
       segment-routing srv6
        locator Node1
       !
       address-family ipv6 unicast
        segment-routing srv6
         locator Node1
         alloc mode per-vrf
        !
       !
       neighbor cafe:0:4::4
        address-family ipv6 unicast
         encapsulation-type srv6
        !
       !
       neighbor cafe:0:5::5
        address-family ipv6 unicast
         encapsulation-type srv6
      
      

      The following example shows how to configure BGP global IPv4/IPv6 over SRv6 with uDT46 SID allocation using per-VRF-46 allocation mode (uDT46 behavior).

      Node1(config)# router bgp 200
      Node1(config-bgp)# bgp router-id 1.1.1.1
      Node1(config-bgp)# segment-routing srv6
      Node1(config-bgp-gbl-srv6)# locator Node1
      Node1(config-bgp-gbl-srv6)# exit
      Node1(config-bgp)# address-family ipv4 unicast
      Node1(config-bgp-af)# segment-routing srv6
      Node1(config-bgp-af-srv6)# locator Node1
      Node1(config-bgp-af-srv6)# alloc mode per-vrf-46
      Node1(config-bgp-af-srv6)# exit
      Node1(config-bgp-af)# exit
      Node1(config-bgp)# address-family ipv6 unicast
      Node1(config-bgp-af)# segment-routing srv6
      Node1(config-bgp-af-srv6)# locator Node1
      Node1(config-bgp-af-srv6)# alloc mode per-vrf-46
      Node1(config-bgp-af-srv6)# exit
      Node1(config-bgp-af)# exit
      Node1(config-bgp)# neighbor cafe:0:4::4
      Node1(config-bgp-nbr)# address-family ipv6 unicast
      Node1(config-bgp-nbr-af)# encapsulation-type srv6
      Node1(config-bgp-nbr-af)# exit
      Node1(config-bgp-nbr)# exit
      Node1(config-bgp)# neighbor cafe:0:5::5
      Node1(config-bgp-nbr)# address-family ipv6 unicast
      Node1(config-bgp-nbr-af)# encapsulation-type srv6
      Node1(config-bgp-nbr-af)# commit
      
      

      Running Configuration

      router bgp 200
       bgp router-id 1.1.1.1
       segment-routing srv6
        locator Node1
       !
       address-family ipv4 unicast
        segment-routing srv6
         locator Node1
         alloc mode per-vrf-46
        !
       !
       address-family ipv6 unicast
        segment-routing srv6
         locator Node1
         alloc mode per-vrf-46
        !
       !
       neighbor cafe:0:4::4
        address-family ipv6 unicast
         encapsulation-type srv6
        !
       !
       neighbor cafe:0:5::5
        address-family ipv6 unicast
         encapsulation-type srv6
      
      
  2. Verify the BGP global IPv6 configuration.

    The sequence of commands included correspond to router Node1 acting as Ingress PE, and routers Node4 and Node5 acting as Egress PEs.

    1. Verify the BGP global IPv6 configuration using the show bgp ipv6 unicast commands.

      Example:

      Node1# show bgp ipv6 unicast summary
      Fri Jan 29 19:48:23.255 UTC
      BGP router identifier 1.1.1.1, local AS number 100
      BGP generic scan interval 60 secs
      Non-stop routing is enabled
      BGP table state: Active
      Table ID: 0xe0800000   RD version: 4
      BGP main routing table version 4
      BGP NSR Initial initsync version 2 (Reached)
      BGP NSR/ISSU Sync-Group versions 0/0
      BGP scan interval 60 secs
      
      BGP is operating in STANDALONE mode.
      
      
      Process       RcvTblVer   bRIB/RIB   LabelVer  ImportVer  SendTblVer  StandbyVer
      Speaker               4          4          4          4           4           0
      
      Neighbor        Spk    AS MsgRcvd MsgSent   TblVer  InQ OutQ  Up/Down  St/PfxRcd
      cafe:0:4::4       0   100     137     138        4    0    0 00:35:27          1
      cafe:0:5::5       0   100     138     137        4    0    0 00:10:54          1
        
      Node1# show bgp ipv6 unicast
      Fri Jan 29 19:49:05.688 UTC
      BGP router identifier 1.1.1.1, local AS number 100
      BGP generic scan interval 60 secs
      Non-stop routing is enabled
      BGP table state: Active
      Table ID: 0xe0800000   RD version: 4
      BGP main routing table version 4
      BGP NSR Initial initsync version 2 (Reached)
      BGP NSR/ISSU Sync-Group versions 0/0
      BGP scan interval 60 secs
      
      Status codes: s suppressed, d damped, h history, * valid, > best
                    i - internal, r RIB-failure, S stale, N Nexthop-discard
      Origin codes: i - IGP, e - EGP, ? - incomplete
         Network            Next Hop            Metric LocPrf Weight Path
      *> 3001::13:1:1:1/128 ::                       0         32768 i
      *>i3001::13:1:1:4/128 cafe:0:4::4              0    100      0 i
      *>i3001::13:1:1:5/128 cafe:0:5::5              0    100      0 i
      
      Processed 3 prefixes, 3 paths
        
      Node1# show bgp ipv6 unicast 3001::13:1:1:4/128
      Fri Jan 29 19:49:22.067 UTC
      BGP routing table entry for 3001::13:1:1:4/128
      Versions:
        Process           bRIB/RIB  SendTblVer
        Speaker                  3           3
      Last Modified: Jan 29 19:14:13.858 for 00:35:08
      Paths: (1 available, best #1)
        Not advertised to any peer
        Path #1: Received by speaker 0
        Not advertised to any peer
        Local
          cafe:0:4::4 (metric 30) from cafe:0:4::4 (1.1.1.4)
            Origin IGP, metric 0, localpref 100, valid, internal, best, group-best
            Received Path ID 0, Local Path ID 1, version 3
            PSID-Type:L3, SubTLV Count:1
             SubTLV:
              T:1(Sid information), Sid:cafe:0:4:e009::, Behavior:62, SS-TLV Count:1
               SubSubTLV:
                T:1(Sid structure):
    2. Verify the current routes in the Routing Information Base (RIB):

      Example:

      Node1# show route ipv6 3001::13:1:1:4/128
      Fri Jan 29 19:53:26.839 UTC
      
      Routing entry for 3001::13:1:1:4/128
        Known via "bgp 100", distance 200, metric 0, type internal
        Installed Jan 29 19:14:13.397 for 00:35:28
        Routing Descriptor Blocks
          cafe:0:4::4, from cafe:0:4::4
            Route metric is 0
        No advertising protos.
      
      Node1# show route ipv6 3001::13:1:1:4/128 detail
      Fri Jan 29 19:50:08.601 UTC
      
      Routing entry for 3001::13:1:1:4/128
        Known via "bgp 100", distance 200, metric 0, type internal
        Installed Jan 29 19:14:13.397 for 00:35:55
        Routing Descriptor Blocks
          cafe:0:4::4, from cafe:0:4::4
            Route metric is 0
            Label: None
            Tunnel ID: None
            Binding Label: None
            Extended communities count: 0
            NHID:0x0(Ref:0)
            SRv6 Headend: H.Encaps.Red [f3216], SID-list {cafe:0:4:e009::}
        Route version is 0x1 (1)
        No local label
        IP Precedence: Not Set
        QoS Group ID: Not Set
        Flow-tag: Not Set
        Fwd-class: Not Set
        Route Priority: RIB_PRIORITY_RECURSIVE (12) SVD Type RIB_SVD_TYPE_LOCAL
        Download Priority 4, Download Version 106
        No advertising protos.
    3. Verify the current IPv6 Cisco Express Forwarding (CEF) table:

      Example:

      Node1# show cef ipv6 3001::13:1:1:4/128
      Fri Jan 29 19:50:29.149 UTC
      3001::13:1:1:4/128, version 106, SRv6 Headend, internal 0x5000001 0x40 (ptr 0x78    cd3944) [1], 0x0 (0x0), 0x0 (0x888a3a80)
       Updated Jan 29 19:14:13.401
       Prefix Len 128, traffic index 0, precedence n/a, priority 4
         via cafe:0:4::/128, 7 dependencies, recursive [flags 0x6000]
          path-idx 0 NHID 0x0 [0x78cd2a14 0x0]
          next hop cafe:0:4::/128 via cafe:0:4::/48
          SRv6 H.Encaps.Red SID-list {cafe:0:4:e009::}
      
      Node1# show cef ipv6 3001::13:1:1:4/128 detail
      Fri Jan 29 19:51:00.920 UTC
      3001::13:1:1:4/128, version 106, SRv6 Headend, internal 0x5000001 0x40 (ptr 0x78cd3944) [1], 0x0 (0x0), 0x0 (0x888a3a80)
       Updated Jan 29 19:14:13.401
       Prefix Len 128, traffic index 0, precedence n/a, priority 4
        gateway array (0x78afe150) reference count 1, flags 0x2010, source rib (7), 0 backups
                      [1 type 3 flags 0x48441 (0x78ba99e8) ext 0x0 (0x0)]
        LW-LDI[type=0, refc=0, ptr=0x0, sh-ldi=0x0]
        gateway array update type-time 1 Jan 29 19:14:13.401
       LDI Update time Jan 29 19:14:13.401
      
        Level 1 - Load distribution: 0
        [0] via cafe:0:4::/128, recursive
      
         via cafe:0:4::/128, 7 dependencies, recursive [flags 0x6000]
          path-idx 0 NHID 0x0 [0x78cd2a14 0x0]
          next hop cafe:0:4::/128 via cafe:0:4::/48
          SRv6 H.Encaps.Red SID-list {cafe:0:4:e009::}
      
          Load distribution: 0 1 (refcount 1)
      
          Hash  OK  Interface                 Address
          0     Y   HundredGigE0/0/0/0        remote
          1     Y   HundredGigE0/0/0/1        remote