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

BGP Signaling for co-existence of IP routes with or without SRv6 SID

Want to summarize with AI?

Log in

Explains how the relax-sid encapsulation type advertises routes with or without SRv6 SIDs over one BGP session, supporting incremental SRv6 deployment and migration.


BGP Signaling for co-existence of IP routes with or without SRv6 SID is an SRv6 feature that supports the coexistence of IP routes with or without SRv6 SID over an SRv6-enabled core network, enabling the integration of SRv6 capabilities into existing network infrastructures without completely replacing IP routing.

SRv6 relax-SID is a BGP encapsulation type that allows the advertisement of prefixes with or without SRv6 SID over the same BGP session.

Table 1. Feature History Table

Feature Name

Release Information

Feature Description

BGP Signaling for co-existence of IP routes

Release 25.4.1

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

*This feature is supported on Cisco 8711-48Z-M routers.

BGP Signaling for co-existence of IP routes

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

BGP Signaling for co-existence of IP routes

Release 24.4.1

Introduced in this release on: Fixed Systems (8200 [ASIC: P100], 8700 [ASIC: P100])(select variants only*); Modular Systems (8800 [LC ASIC: P100])(select variants only*)

*This feature is supported on:

  • 8212-48FH-M

  • 8711-32FH-M

  • 88-LC1-36EH

  • 88-LC1-12TH24FH-E

  • 88-LC1-52Y8H-EM

BGP Signaling for co-existence of IP routes

Release 24.3.1

Introduced in this release on: Fixed Systems (8200 [ASIC: Q200, P100]; Modular Systems (8800 [LC ASIC: Q100, Q200, P100])

SRv6 with BGP supports the coexistence of IP routes with or without SRv6 SID over an SRv6-enabled core network. This support enables integrating SRv6 capabilities into existing network infrastructures without replacing IP routing completely.

This feature enables flexibility and scalability, transition to new technologies, and enhanced network efficiency, making it easier to migrate from MPLS to SRV6.

The feature introduces these changes:

CLI:


Configure BGP Signaling over SRv6 Core

The purpose of this task is to enable SRv6 with BGP to support the co-existence of IP routes with or without SRv6 SID.

Procedure

  1. Execute the encapsulation-type srv6 relax-sid command on neighbor to configure the neighbor.

    Set up BGP to use SRv6 for IPv4 unicast routes, with specific rules for SID allocation based on the destination prefixes. It also configures a BGP neighbor and specifies how SRv6 encapsulation should be handled for that neighbor.

    Example:

    Router(config)# route-policy alloc-sid-policy
    Router(config-rpl)# if destination in prefix-set-1 then
    Router(config-rpl-if)# set srv6-alloc-mode per-vrf locator LOC2
    Router(config-rpl-if)# else if destination is prefix-set-2 then
    Router(config-rpl-else)# drop
    Router(config-rpl-if)# else 
    Router(config-rpl-else)# set srv6-alloc-mode per-vrf
    Router(config-rpl-else)# endif
    Router(config-rpl)# end-policy
    
    Router(config)# router bgp 2
    Router(config-bgp)# address-family ipv4 unicast
    Router(config-bgp-af)# segment-routing srv6
    Router(config-bgp-af-srv6)# locator LOC1
    Router(config-bgp-af-srv6)# alloc mode route-policy alloc-sid-policy
    Router(config-bgp-af-srv6)# exit
    Router(config-bgp-af)# exit
    Router(config-bgp)# neighbor 12:100::1
    Router(config-bgp-nbr)# address-family ipv4 unicast
    Router(config-bgp-nbr-af)# encapsulation-type srv6 relax-sid
    Router(config-bgp-nbr-af)# exit
    Router(config-bgp-nbr)# exit
  2. Execute the encapsulation-type srv6 relax-sid command on the neighbor group to configure the neighbor-group.

    Example:

    Router(config-bgp)# neighbor-group srv6-core-relax
    Router(config-bgp-nbr)# address-family ipv4 unicast
    Router(config-bgp-nbr-af)# encapsulation-type srv6 relax-sid
    Router(config-bgp-nbr-af)# exit
    Router(config-bgp-nbr)# exit
    Router(config-bgp)# neighbor 12:100::1
    Router(config-bgp-nbr)# remote-as 1
    Router(config-bgp-nbr)# use neighbor-group srv6-core-relax
    Router(config-bgp-nbr)# exit
  3. Execute the encapsulation-type srv6 relax-sid command, on the address family group to configure the Address- Family Group .

    Example:

    Router(config-bgp)# af-group srv6-core-af address-family ipv4 unicast
    Router(config-bgp-nbr-af)# encapsulation-type srv6 relax-sid
    Router(config-bgp-nbr)# exit
    Router(config-bgp-nbr)# address-family ipv4 unicast
    Router(config-bgp-nbr-af)# neighbor 12:100::1
    Router(config-bgp-nbr-af))# remote-as 1
    Router(config-bgp-nbr-af))# address-family ipv4 unicast
    Router(config-bgp-nbr-af))# use af-group srv6-core-af
    Router(config-bgp-nbr)# exit
  4. Run the show commands to verify the encapsulation type is updated to SRv6 Relax-SID in all neighbor sessions.

    You can see that 192::4 has encapsulation-type srv6 relax-sid configured.

    Example:

    Router#show bgp neighbor 192::4
    For Address Family: IPv4 Unicast
      BGP neighbor version 155
      Update group: 0.1 Filter-group: 0.3  No Refresh request being processed
      Encapsulation type SRv6 Relax-SID
      NEXT_HOP is always this router
      Default information originate: default sent
      AF-dependent capabilities:
        Graceful Restart capability advertised
          Local restart time is 120, RIB purge time is 600 seconds
          Maximum stalepath time is 360 seconds
        Graceful Restart capability received
          Remote Restart time is 120 seconds
          Neighbor preserved the forwarding state during latest restart
        Extended Nexthop Encoding: advertised and received
      Route refresh request: received 0, sent 0
      3 accepted prefixes, 3 are bestpaths
    ….
    
    Router#show bgp update-group neighbor 192::4
    Update group for IPv4 Unicast, index 0.1:
      Attributes:
        Neighbor sessions are IPv6
        Internal
        Common admin
        First neighbor AS: 100
        Send communities
        Send GSHUT community if originated
        Send extended communities
        Next-hop-self enabled
        4-byte AS capable
        Advertise routes with local-label via Unicast SAFI
        Send AIGP
        Encapsulation type SRv6 Relax-SID
        Send multicast attributes
        Extended Nexthop Encoding
        Minimum advertisement interval: 0 secs
      Update group desynchronized: 0
      Sub-groups merged: 0
      Number of refresh subgroups: 0
      Messages formatted: 7, replicated: 7
      All neighbor are assigned to sub-group(s)
        Neighbors in sub-group: 0.3, Filter-Groups num:1 
         Neighbors in filter-group: 0.3(RT num: 0)
          192::4
    

    In the following example, 158.158.58.1/32 is without SRv6 SID but advertised to 192::4 and 157.157.57.1/32 with SRv6 SID, which is also advertised to 192::4. To allow IP route without SRv6 SID, you must include it in prefix-set-2.

    
    
    Router#show bgp 158.158.58.1/32                                   
    BGP routing table entry for 158.158.58.1/32
    Versions:
      Process           bRIB/RIB   SendTblVer
      Speaker                175          175
    Last Modified: Dec 13 11:38:31.000 for 00:00:04
    Paths: (2 available, best #1)
      Advertised IPv4 Unicast paths to update-groups (with more than one peer):
        0.2 
      Advertised IPv4 Unicast paths to peers (in unique update groups):
        192::4                                  
      Path #1: Received by speaker 0
      Advertised IPv4 Unicast paths to update-groups (with more than one peer):
        0.2 
      Advertised IPv4 Unicast paths to peers (in unique update groups):
        192::4                                  
      60
        16.16.16.3 from 16.16.16.3 (16.16.16.3)
          Origin IGP, localpref 100, valid, external, best, group-best, multipath
          Received Path ID 0, Local Path ID 1, version 175
          Origin-AS validity: (disabled)
      Path #2: Received by speaker 0
      Not advertised to any peer
      70
        17.17.17.3 from 17.17.17.3 (17.17.17.3)
          Origin IGP, localpref 100, valid, external, multipath
          Received Path ID 0, Local Path ID 0, version 0
          Origin-AS validity: (disabled)
    
    Note that both Prefix 157 with SID and Prefix 158 without SID are advertised to neighbor 192::4.
    
    
    Router#show bgp 157.157.57.1/32
    BGP routing table entry for 157.157.57.1/32
    Versions:
      Process           bRIB/RIB   SendTblVer
      Speaker                172          172
        SRv6-VPN SID: cafe:1:1:2:42::/128
        Format: base
    Last Modified: Dec 13 11:38:31.000 for 00:02:09
    Paths: (2 available, best #1)
      Advertised IPv4 Unicast paths to update-groups (with more than one peer):
        0.2 
      Advertised IPv4 Unicast paths to peers (in unique update groups):
        192::4                                  
      Path #1: Received by speaker 0
      Advertised IPv4 Unicast paths to update-groups (with more than one peer):
        0.2 
      Advertised IPv4 Unicast paths to peers (in unique update groups):
        192::4                                  
      50
        15.15.15.3 from 15.15.15.3 (15.15.15.3)
          Origin IGP, localpref 100, valid, external, best, group-best, multipath
          Received Path ID 0, Local Path ID 1, version 172
          Origin-AS validity: (disabled)
      Path #2: Received by speaker 0
      Not advertised to any peer
      60
        16.16.16.3 from 16.16.16.3 (16.16.16.3)
          Origin IGP, localpref 100, valid, external, multipath
          Received Path ID 0, Local Path ID 0, version 0
          Origin-AS validity: (disabled)
  5. Run these commands to view the flag details and path-elements, if needed.

    Example:

    Router#show bgp 157.157.57.1/32 detail 
    BGP routing table entry for 157.157.57.1/32
    Versions:
      Process           bRIB/RIB   SendTblVer
      Speaker                172          172
        SRv6-VPN SID: cafe:1:1:2:42::/128
        Format: base
        Alloc Mode/Locator ID: per-vrf/2
        Flags: 0x00123201+0x61010000+0x00000000; multipath; 
    Last Modified: Dec 13 11:38:31.000 for 00:04:22
    Paths: (2 available, best #1)
      Advertised IPv4 Unicast paths to update-groups (with more than one peer):
        0.2 
      Advertised IPv4 Unicast paths to peers (in unique update groups):
        192::4                                  
      Path #1: Received by speaker 0
      Flags: 0x3000000001050003+0x00, import: 0x020
      Advertised IPv4 Unicast paths to update-groups (with more than one peer):
        0.2 
      Advertised IPv4 Unicast paths to peers (in unique update groups):
        192::4                                  
      50
        15.15.15.3 from 15.15.15.3 (15.15.15.3), if-handle 0x00000000
          Origin IGP, localpref 100, valid, external, best, group-best, multipath
          Received Path ID 0, Local Path ID 1, version 172
          Origin-AS validity: (disabled)
      Path #2: Received by speaker 0
      Flags: 0x3000000000010003+0x00, import: 0x020
      Not advertised to any peer
      60
        16.16.16.3 from 16.16.16.3 (16.16.16.3), if-handle 0x00000000
          Origin IGP, localpref 100, valid, external, multipath
          Received Path ID 0, Local Path ID 0, version 0
          Origin-AS validity: (disabled)
    
    
    Router#show bgp 158.158.58.1/32 path-elements 
    BGP routing table entry for 158.158.58.1/32
    Versions:
      Process           bRIB/RIB   SendTblVer
      Speaker                175          175
        Flags: 0x00123201+0x20010000+0x00000002; multipath; 
    Last Modified: Dec 13 11:38:31.000 for 00:05:50
    Paths: (2 available, best #1)
    Path count: 2
    Path-elements: 1
      Path ID: 1
        Gateway metric 0, Version 175
        Path: Nexthop 16.16.16.3, flags 0x3000000001050003
              Neighbor 16.16.16.3, Received Path ID 0
        Flags: 0x00000001
               status: valid
               path type: bestpath
               add-path action:
        Opaque: pelem=0x7f7948026d88
                net=0x7f794d2fd968,       tblattr=0x22cc208 (ver 177)
                path=0x7f794d2dd0c8, path-tblattr=0x22cc208 (ver 177)
                           nobestpath-tblattr=0x22cd6c0 (ver 0)
                            noaddpath-tblattr=0x22cd638 (ver 0)
                bitfields=0x7f79481ce538 (val=0xc, size=1)
                pe-bitfields=0x0 (val=0x0, size=0)
                orr-bitfields=0x0 (val=0x0, size=0)
                orr-ap-bitfields=0x0 (val=0x0, size=0)
                net-next=0x0, tblattr-prev=0x7f7948026d18, tblattr-next=0x0
        Radix: rn_parent=0x7f794d2fdd88, rn_left=0x7f794d2fdf98, rn_right=0x7f794d2fd758,
               rn_version=180, rn_bit=6, rn_flags=0x0
    Active Paths: (0 available)
    Active Path-elements: 0