cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
319
Views
0
Helpful
6
Replies

BGP Automated Steering for IPv6

Hi everyone.

I'm trying to use automated steer to steer IPv6 traffic into an SR tunnel. R1 has an SR policy that steers anything with color 100 into POLICY1 with an endpoint of R2.

The config is as follows:

Router 1
=========
segment-routing
 traffic-eng
  policy POLICY1
   binding-sid mpls 25100
   color 100 end-point ipv4 10.2.2.2
   !
   candidate-paths
    preference 100
     dynamic
      pcep
      !
      metric
       type latency
      !
     !
    !
   !
  !
 !

Router 2
=========
interface Loopback10
 ipv4 address 10.10.10.10 255.255.255.255
 ipv6 address 2001:1ab:10::10/128
!
router bgp 101
 address-family ipv4 unicast
  network 10.10.10.10/32 route-policy RPL1
 !
 address-family vpnv4 unicast
 !
 address-family ipv6 unicast
  network 2001:1ab:10::10/128 route-policy RPL1
 !
extcommunity-set opaque COLOR-100
  100
end-set
!
route-policy RPL1
  set extcommunity color COLOR-100
end-policy
!


For IPv4 everything works ok:

RP/0/RP0/CPU0:R1#sh cef 10.10.10.10                
Wed May  7 13:02:17.494 UTC
10.10.10.10/32, version 211, internal 0x5000001 0x40 (ptr 0xeb86198) [1], 0x400 (0xdc5fc98), 0x0 (0x0)
 Updated May  7 12:48:58.420
 Prefix Len 32, traffic index 0, precedence n/a, priority 4
  gateway array (0xdabad50) reference count 1, flags 0x10, source rib (7), 0 backups
                [2 type 3 flags 0x8441 (0xdb98010) ext 0x0 (0x0)]
  LW-LDI[type=3, refc=1, ptr=0xdc5fc98, sh-ldi=0xdb98010]
  gateway array update type-time 1 May  7 12:48:58.420
 LDI Update time May  7 12:48:58.420
 LW-LDI-TS May  7 12:48:58.420
   via local-label 25100, 3 dependencies, recursive [flags 0x6000]
    path-idx 0 NHID 0x0 [0xde22d08 0x0]
    recursion-via-label
    next hop via 25100/1/21
     next hop srte_c_100_e labels imposed {ImplNull}

    Load distribution: 0 (refcount 2)

    Hash  OK  Interface                 Address
    0     Y   recursive                 25100/1         <<<<<<<<<<<<<<<<<< BINDING SID
RP/0/RP0/CPU0:R1#


But for v6 it doesn't seem to be working despite the color 100 being on the route:

RP/0/RP0/CPU0:R1#sh cef ipv6 2001:1ab:10::10/128 detail         
Wed May  7 13:03:57.177 UTC
2001:1ab:10::10/128, version 267, internal 0x5000001 0x40 (ptr 0xeb12f00) [1], 0x400 (0xd681c58), 0x0 (0x0)
 Updated May  7 12:48:58.626
 Prefix Len 128, traffic index 0, precedence n/a, priority 4
  gateway array (0xd4dc960) reference count 1, flags 0x10, source rib (7), 0 backups
                [2 type 3 flags 0x441 (0xd5b9d50) ext 0x0 (0x0)]
  LW-LDI[type=3, refc=1, ptr=0xd681c58, sh-ldi=0xd5b9d50]
  gateway array update type-time 1 May  7 12:48:58.626
 LDI Update time May  7 12:55:09.667
 LW-LDI-TS May  7 12:55:09.667

  Level 1 - Load distribution: 0
  [0] via 2001:1ab:101::2/128, recursive

   via 2001:1ab:101::2/128, 3 dependencies, recursive [flags 0x6000]
    path-idx 0 NHID 0x0 [0xeb13970 0x0]
    next hop 2001:1ab:101::2/128 via 2001:1ab:101::2/128

    Load distribution: 0 1 (refcount 2)

    Hash  OK  Interface                 Address
    0     Y   GigabitEthernet0/0/0/0    remote         
    1     Y   GigabitEthernet0/0/0/2    remote         

RP/0/RP0/CPU0:R1#

RP/0/RP0/CPU0:R1#sh bgp ipv6 unicast 2001:1ab:10::10/128 
Wed May  7 13:06:42.792 UTC
BGP routing table entry for 2001:1ab:10::10/128
Versions:
  Process           bRIB/RIB  SendTblVer
  Speaker                   3            3
Last Modified: May  7 12:48:59.070 for 00:17:43
Paths: (1 available, best #1)
  Not advertised to any peer
  Path #1: Received by speaker 0
  Not advertised to any peer
  Local
    2001:1ab:101::2 (metric 200) from 10.2.2.2 (10.2.2.2)
      Origin IGP, metric 0, localpref 100, valid, internal, best, group-best
      Received Path ID 0, Local Path ID 1, version 3
      Extended community: Color:100
RP/0/RP0/CPU0:R1#

I'm using XR 7.9.2.

Should IPv6 Automated Steering be supported and if so, can anyone see what is wrong with my setup? Do I need an IPv6 endpoint or something like that?


6 Replies 6

Harold Ritter
Spotlight
Spotlight

Hi @steven.crutchley ,

Should IPv6 Automated Steering be supported and if so, can      > anyone see what is wrong with my setup? Do I need an IPv6      > endpoint or something like that?

By default the policy needs to match the next-hop and the colour.

You can use colour only SR policies in certain scenarios, but those need to be configured with an explicit path.

https://www.cisco.com/c/en/us/td/docs/iosxr/cisco8000/segment-routing/711x/configuration/guide/b-segment-routing-cg-cisco8000-711x/configuring-sr-te-policy.html#concept_ppm_jjn_rkb

 

Regards,
Harold Ritter, CCIE #4168 (EI, SP)

Hi @steven.crutchley ,


Well friend, you need to transport your ipv6 with labels. If you have full mesh ibgp or using RR, use "address-family ipv6 labeled-unicast" in the peerings (or ibgp neighbor-groups) so that your bgp ipv6 route assumes the traffic via SR-TE, and remove your af ipv6-unicast to avoid confusion. then, use "allocate-label all unlabeled-path" in the router where you advertise the ipv6 prefix with the color, and then your tunnel will work.

Joéster Brondani
CCIE SP/EI
CCDE

 

 



Hi @Joester Brondani ,

You do not necessarily need to configure labelled ipv6. From the documentation:

"You can configure an SR-TE policy to automatically steer incoming unlabeled IPv6 traffic at the headend router into that SR-TE policy with an IPv4 endpoint. Compared to MPLS/RSVP-TE, SR-TE provides more granular and automated steering techniques."

https://www.cisco.com/c/en/us/td/docs/iosxr/cisco8000/segment-routing/711x/configuration/guide/b-segment-routing-cg-cisco8000-711x/configuring-sr-te-policy.html#concept_ppm_jjn_rkb

Regards,
Harold Ritter, CCIE #4168 (EI, SP)

Hello @Harold Ritter , You are correct. When I did this it was with an old version. I tested it now using  7.11.1 and the "autoroute include ipv6 all" was there ;). Much simpler!  thanks


Edit:  Ps. When using autoroute ipv6 include all, if you try to check via BGP you will not see that the prefix is ​​using the tunnel (as you see for bgp ipv4 prefixes), but via CEF IPV6 you can see it perfectly

Joéster Brondani
CCIE SP/EI
CCDE

So, if I'm understandin this correctly. My current configuration is advertisng 2001:1ab:10::10 with a next-hop of 2001:1ab:101::2 and color 100. This does not match the (color, endpoint) tuple of my policy - Color 100, Endpoint 10.2.2.2.

So there are two ways to fix this. 

1) Essentially configre 6PE - so that that the next hop of the IPv6 route changes to 10.2.2.2 and matches the tuple (I've just tested this and it works)
2) Create a second SR Policy with an IPv6 endpoint so that the (color, endpoint) tuple matches.

I've just attempted to configure an SR policy with IPv6 as an endpoint (both ::0 and the ipv6 nexthop on BGP). But the policy isn't coming up (Last error: No path found). Config was this:

segment-routing
 traffic-eng
  policy POLICY1A
   binding-sid mpls 25101
   color 100 end-point ipv6 2001:1ab:101::2
   !
   candidate-paths
    preference 100
     dynamic
      pcep
      !
      metric
       type latency

 Have I misconfigured that? Or am I misunderstanding something?

I know `autoroute include ipv6` all is a possibility - but that catches ALL IPv6 routes, not just the colored ones.

Hi @steven.crutchley , do you are using ios XRV/XRd? (virtual plattforms?). If so, I can simulate your environment here to see what happens. (Virtual iOS XR has some silly limitations, but I believe your problem is not one of them).