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

%BGP-4-NORTRID: BGP could not pick a router-id. when using vrf's with no global table

iswift
Level 1
Level 1

Hi
I am receiving the log message

%BGP-4-NORTRID: BGP could not pick a router-id.  Please configure manually.

when performing a sh bgp all summary

command.

I'm ok that the reason is because we have no routing in the global table, all traffic goes via vrf's.
Peering is fine, there are no routing issues, so please no rabbit holes on fixing stuff that isn't broke.
e.g.

CE#sh bgp al sum
% BGP cannot run because the router-id is not configured
For address family: VPNv4 Unicast

BGP router identifier 0.0.0.0, local AS number 65149

..snip..

 

router bgp 65149
bgp log-neighbor-changes
no bgp default ipv4-unicast
timers bgp 3 10
!
address-family ipv4 vrf xxxx

 

The reason I want to get rid of it is that it creates false positive alarms for our Ops guys and we need to stop it.

All my interfaces are in vrf's so I can't assign an interface in another address-family as the [global] router-id. I know that would be a workaround, and for the 'wrong' reasons, but it would do no harm  - but the IOS won't allow it anyway.

below, my Lo0 is in my 1st vrf.

CE(config-router)#bgp router-id int lo0
%Interface Loopback0 not usable, Ignoring 'bgp router-id interface Loopback0'

 

has anyone seen this and worked around it - any thoughts ?

Ian

 

5 Replies 5

Cristian Matei
VIP Alumni
VIP Alumni

Hi,

 

    1. You can manually assign a BGP router-ID as a 32 bit number, which will be used by BGP for each address-family (router bgp x / bgp router-id x.x.x.x).

    2. You can tell BGP to automatically pick up a per-VRF BGP router ID, following the well-known rules to pick up the router ID, via "bgp router-id vrf auto-assign"

 

You need to fix this, as otherwise a BGP router if of "0.0.0.0" may cause issues on the long run.

Regards,

Cristian Matei.

Thanks

1. I don't have anything in the global table to use as a corresponding IP
2. I've seen that command in docs. But it doesn't apply here as a) I have already assigned IPs explicitly in the vrf address families, and b) the issue is with the global table and not within the vrfs.
Can you elaborate on what issues I may have with an id of 0.0.0.0 in the global table as nothing is routed via the global table.

a router-id is a router-id, not an IP-address, it just has the same format as an ip-address (4 numbers separated by dot's)

and it is nice to have a corresponding IP-address to match the router ID with (unique IP<->unique router-ID) but this is not an requirement.

(an ipv6 router-id is also 4 numbers separated by dots, not an ipv6 address)

so pick any router-id that does not interfere with other router-id's on your network (and BGP communication)

and use this to manually configure the router-id.

 

Thank you, that's a subtle distinction I hadn't appreciated.

Hi,

 

   If you have manually configured router ID for each VRF at the address-family level, you're good to go. If you don't run BGP in the GRT, no neighbors, the fact that BGP cannot run due to not having a router ID, does not affect you. A router ID of 0.0.0.0 would be selected if you configure a neighbor before having any interfaces with IP addresses configured in the UP/UP state.

 

Regards,

Cristian Matei.

Review Cisco Networking for a $25 gift card