cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
892
Views
0
Helpful
5
Replies

Can't enable SRv6 for address-family ipv4 unicast

Hi everyone,

Normally I would configure SRv6 for a VRF as follows:

 

router bgp 100
 segment-routing srv6
  locator LOCATOR1
 !
 address-family vpnv4 unicast
 !
 !
 neighbor-group iBGP
  remote-as 100
  update-source Loopback0
  address-family vpnv4 unicast
   next-hop-self
   encapsulation-type srv6
  !
  !
 !
 neighbor 10.1.1.2
  use neighbor-group iBGP
 !
 neighbor 10.1.1.3
  use neighbor-group iBGP
  !
 !
 vrf ACME
  address-family ipv4 unicast
   mpls alloc enable
   segment-routing srv6
    alloc mode per-vrf
   !
  !
  !
  neighbor 172.16.1.2
   remote-as 1000
   address-family ipv4 unicast
    route-policy PASS in
    route-policy PASS out
    as-override
   !
  !

 

It works fine and SRv6 uSID headers are placed on packets between devices in vrf ACME. 

So I figured I would try it with just ipv4 unicast. So I removed the interfaces from their ACME VRF, adjusted the BGP config and moved the BGP neighbor to be in global rather than under a VRF. My config now looks like this:


 

router bgp 100
 segment-routing srv6
  locator LOCATOR1
 !
 address-family ipv4 unicast
  segment-routing srv6
   alloc mode per-ce
 !
 neighbor-group iBGP
  remote-as 100
  update-source Loopback0
  address-family ipv4 unicast
   next-hop-self
   encapsulation-type srv6
  !
 !
 neighbor 10.1.1.2
  use neighbor-group iBGP
 !
 neighbor 10.1.1.3
  use neighbor-group iBGP
  !
 !
 neighbor 172.16.1.2
  remote-as 1000
  address-family ipv4 unicast
   route-policy PASS in
   route-policy PASS out
   as-override
   !
  !

 

But now my ipv4 prefixes on each PE are 'not advertised to any peer` and I've no idea why. 

 

RP/0/RP0/CPU0:PE1#sh bgp ipv4 unicast 172.20.40.3
Sun Feb 23 17:37:12.490 UTC
BGP routing table entry for 172.20.40.3/32
Versions:
  Process           bRIB/RIB  SendTblVer
  Speaker                   2            2
Last Modified: Feb 23 17:25:39.540 for 00:11:33
Paths: (1 available, best #1)
  Not advertised to any peer
  Path #1: Received by speaker 0
  Not advertised to any peer   <<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  1000
    172.16.1.2 from 172.16.1.2 (172.16.10.10)
      Origin IGP, metric 0, localpref 100, valid, external, best, group-best
      Received Path ID 0, Local Path ID 1, version 2
      Origin-AS validity: (disabled)
RP/0/RP0/CPU0:PE1# 
 !

 

If I strip the `encapsulation-type srv6` IPv4 routes are advertised as normal.

Is there some config I am missing that would make this work or am I missing something fundamental about SRv6?

Locator config as follows:

 

segment-routing
 global-block 16000 23999
 local-block 26000 27999
 srv6
  logging locator status
  encapsulation
   source-address 2001:1ab:101::1
  !
  locators
   locator LOCATOR1
    micro-segment behavior unode psp-usd
    prefix fccc:100:1::/48

 



 

--
Network Engineer
CCIE SP #69245
1 Accepted Solution

Accepted Solutions

Hi @steven.crutchley,

Interestingly, if take a PE, create a loopback in the global GRT and then use the network command to push it into BGP,    > the prefix is advertised to the other PEs with SRv6 encapsulation attributes. 

The PE loopback interface prefix will be allocated a per vrf label.

> But if I get a prefix from an eBGP IPv4 neighbor (the CE). The PE will receive the prefix, but not advertise it on to any      > peer. When I strip the sr-encap command, it advertises it fine. 

The prefixes coming from the CE will be allocated a per CE label, since this is the label allocation mode you configured. Can you try changing the label allocation mode to per vrf and see if it solves the issue?

BTW, I quickly tried with XRd 24.4 and it works like a charm with the label allocation mode per ce for both v4 and v6 prefixes coming from the CE.

Regards,

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

View solution in original post

5 Replies 5

Harold Ritter
Spotlight
Spotlight

Hi @steven.crutchley ,

It is most probably related to the level of code you are running. What version of XRv9k are you using?

Regards,

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

Cisco IOS XR Software, Version 7.9.2

--
Network Engineer
CCIE SP #69245

So I tested it again using 7.3.2 and I get the same behaviour. 

Interestingly, if take a PE, create a loopback in the global GRT and then use the network command to push it into BGP, the prefix is advertised to the other PEs with SRv6 encapsulation attributes. 

But if I get a prefix from an eBGP IPv4 neighbor (the CE). The PE will receive the prefix, but not advertise it on to any peer. When I strip the sr-encap command, it advertises it fine. 

--
Network Engineer
CCIE SP #69245

Hi @steven.crutchley,

Interestingly, if take a PE, create a loopback in the global GRT and then use the network command to push it into BGP,    > the prefix is advertised to the other PEs with SRv6 encapsulation attributes. 

The PE loopback interface prefix will be allocated a per vrf label.

> But if I get a prefix from an eBGP IPv4 neighbor (the CE). The PE will receive the prefix, but not advertise it on to any      > peer. When I strip the sr-encap command, it advertises it fine. 

The prefixes coming from the CE will be allocated a per CE label, since this is the label allocation mode you configured. Can you try changing the label allocation mode to per vrf and see if it solves the issue?

BTW, I quickly tried with XRd 24.4 and it works like a charm with the label allocation mode per ce for both v4 and v6 prefixes coming from the CE.

Regards,

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

Success! Changing the made to per-vrf makes everything work ok. 

Thanks so much.

--
Network Engineer
CCIE SP #69245