If routes carry the Originator_ID, the originator ID is substituted for the router ID during route selection. The route with the smallest Originator_ID is preferred.
The Originator_ID attribute is four bytes long and is generated by an RR. It carries the router ID of the route originator in the local AS.
When a route is reflected by an RR for the first time, the RR adds the Originator_ID to this route. If a route already carries the Originator_ID attribute, the RR does not create a new one.
After receiving the route, a BGP speaker checks whether the Originator_ID is the same as its router ID. If Originator_ID is the same as its router ID, the BGP speaker discards this route.
The following example shows how Originator_ID is used during BGP route selection. In Figure 1, an IBGP peer relationship is established between each two neighboring devices in AS 65001. The router IDs of DeviceB and DeviceC are 2.2.2.9 and 3.3.3.9, respectively, and they function as RRs. DeviceD is a client of DeviceB, and DeviceE is a client of DeviceC. DeviceD and DeviceE are configured to import the route 10.1.4.0/30 to BGP.
Run the display bgp routing-table [ ip-address ] command on Device A to check the configurations.
# Display the routing table of Device A.
[~DeviceA] display bgp routing-table BGP Local router ID is 10.1.3.1 Status codes: * - valid, > - best, d - damped, x - best external, a - add path, h - history, i - internal, s - suppressed, S - Stale Origin : i - IGP, e - EGP, ? - incomplete RPKI validation codes: V - valid, I - invalid, N - not-found Total Number of Routes: 2 Network NextHop MED LocPrf PrefVal Path/Ogn *>i 10.1.4.0/30 10.1.5.2 0 100 0 i * i 10.1.2.2 0 100 0 i
The preceding command output shows that two routes 10.1.4.0/30 are available in the routing table of DeviceA and that DeviceA selects the route learned from DeviceC.
[~DeviceA] display bgp routing-table 10.1.4.0 BGP local router ID : 10.1.3.1 Local AS number : 65001 Paths: 2 available, 1 best, 1 select BGP routing table entry information of 10.1.4.0/30: From: 10.1.3.2 (3.3.3.9) Route Duration: 00h00m01s Relay IP Nexthop: 10.1.3.2 Relay IP Out-Interface: GigabitEthernet0/1/0 Original nexthop: 10.1.5.2 Qos information : 0x0 AS-path Nil, origin igp, MED 0, localpref 100, pref-val 0, valid, internal, best, select, pre 255, IGP cost 2 Originator: 10.1.4.1 Cluster list: 0.0.0.3 Not advertised to any peer yet BGP routing table entry information of 10.1.4.0/30: From: 10.1.1.2 (2.2.2.9) Route Duration: 00h00m17s Relay IP Nexthop: 10.1.1.2 Relay IP Out-Interface: GigabitEthernet0/1/8 Original nexthop: 10.1.2.2 Qos information : 0x0 AS-path Nil, origin igp, MED 0, localpref 100, pref-val 0, valid, internal, pre 255, IGP cost 2, not preferred for router ID Originator: 10.1.4.2 Cluster list: 0.0.0.2 Not advertised to any peer yet
The preceding command output shows that the route learned from DeviceB is not selected due to a router ID issue. In fact, the router ID of DeviceB is 2.2.2.9, smaller than that (3.3.3.9) of DeviceC. The route learned from DeviceB should be selected if the router IDs are used to determine the optimal route. However, the routes carry the Originator_ID attribute. In this situation, Originator_IDs (rather than router IDs) are compared. Consequently, the route learned from DeviceC is selected because the Originator_ID (10.1.4.1) of DeviceC is smaller than that (10.1.4.2) of the route learned from DeviceB.
Table 1 describes the attribute comparison of the routes that DeviceA learns from DeviceB and DeviceC.
Route Attribute |
Route Learned from Device B |
Route Learned from Device C |
Comparison |
---|---|---|---|
PrefVal |
0 |
0 |
The same. |
Local_Pref |
100 |
100 |
The same. |
Route type |
Learned from a peer |
Learned from a peer |
The same. |
AIGP |
- |
- |
The same. |
AS_Path |
- |
- |
The same length. |
Origin |
IGP |
IGP |
The same. |
MED |
0 |
0 |
The same. |
Peer type |
IBGP |
IBGP |
The same. |
IGP cost |
2 |
2 |
The same. |
Cluster_List |
0.0.0.2 |
0.0.0.3 |
The same length. |
Originator_ID |
10.1.4.2 |
10.1.4.1 |
The route learned from Device C is optimal. |
If routes carry Originator_ID attributes, the Originator_ID attributes (rather than router IDs) are compared.