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

Feasible distance is showing incorrect value

samsita
Level 1
Level 1

Hello All,

I have a route learning from ebgp, redistributing in eigrp. When I check show ip eigrp topology for that prefix, i got some strange o/p. FD is showing different with composite metric. FD is showing 256, while there is no successor holding this FD...Please refer below logs and suggest...

Router#sh ip eigrp topology 10.40.67.0/24
EIGRP-IPv4 Topology Entry for AS(20)/ID(57.214.61.142) for 10.40.67.0/24
State is Passive, Query origin flag is 1, 1 Successor(s), FD is 256
Descriptor Blocks:
10.40.98.153, from Redistributed, Send flag is 0x0
Composite metric is (2816/0), route is External
Vector metric:
Minimum bandwidth is 1000000 Kbit
Total delay is 10 microseconds
Reliability is 255/255
Load is 1/255
Minimum MTU is 1500
Hop count is 0
Originating router is 57.214.61.142
External data:
AS number of route is 65149
External protocol is BGP, external metric is 0
Administrator tag is 13879 (0x00003637)
10.40.118.235 (GigabitEthernet0/0.981), from 10.40.118.235, Send flag is 0x0
Composite metric is (28416/28160), route is External
Vector metric:
Minimum bandwidth is 100000 Kbit
Total delay is 110 microseconds
Reliability is 255/255
Load is 1/255
Minimum MTU is 1500
Hop count is 1
Originating router is 57.214.175.213
External data:
AS number of route is 65149
External protocol is BGP, external metric is 0
Administrator tag is 13879 (0x00003637)
Router#


Router#sh ip ro 10.40.67.0
Routing entry for 10.40.67.0/24
Known via "bgp 65149", distance 20, metric 0
Tag 13879, type external
Redistributing via eigrp 20
Advertised by eigrp 20 metric 1000000 1 255 1 1500 route-map BGP-to-EIGRP
Last update from 10.40.98.153 3w1d ago
Routing Descriptor Blocks:
* 10.40.98.153, from 10.40.98.153, 3w1d ago
Route metric is 0, traffic share count is 1
AS Hops 2
Route tag 13879
MPLS label: none
Router#

1 Accepted Solution

Accepted Solutions

Peter Paluch
Cisco Employee
Cisco Employee

Hello samsita,

Technically, there is nothing wrong here. FD is not the current lowest distance as it is often incorrectly explained. FD is the record of the smallest encountered distance since the last time the route went from Active to Passive state. This means that it can be either equal to the current lowest distance, or it can be smaller if the router was closer to the destination at some point in the past (without needing to go to the Active state when the distance increased). This is intended, and is required for the Feasibility Condition in EIGRP to work correctly. If the FD was the current lowest distance, EIGRP path selection mechanism would be the same as in RIP (after the distance grows, just take anyone who appears to be closer than we're now) - and that would lead to routing loops just like in RIP.

So the fact that the FD is smaller than the current smallest distance is not an indication of any error.

It is harder to explain why the FD in your case is 256. Because the metric computation formula in EIGRP uses a multiplication by 256, it shows that the inner metric computation before the multiplication must have arrived at the metric of 1 (because 1 x 256 = 256). This is where I am not certain. Is it possible that you have changed the redistribution metric after the redistribution was first configured? If the first redistribution metric caused the composite metric to evaluate as 256, and afterwards, the modified redistribution metric caused the composite metric to grow to 2816, it would cause the FD to stay at the current value.

I was actually able to reproduce this behavior. If first I redistribute a static network with the Bw set to a value higher than 10Gbps, the bandwidth component will evaluate to 0 (as the 107/Bw will evaluate to a number smaller than 1 and IOS does integer arithmetics), and the FD will be 256. After I pull down the Bw to 1Mbps, the computed metric will be 2816 but the FD will stay on its former value of 256, the so-far-experienced minimum distance:

Router(config-router)# redistribute static metric 100000000 1 255 1 1500    
Router(config-router)# do show ip eigrp topology 1.1.1.1/32
EIGRP-IPv4 Topology Entry for AS(1)/ID(1.2.3.4) for 1.1.1.1/32
  State is Passive, Query origin flag is 1, 1 Successor(s), FD is 256
  Descriptor Blocks:
  0.0.0.0, from Rstatic, Send flag is 0x0
      Composite metric is (256/0), route is External
      Vector metric:
        Minimum bandwidth is 100000000 Kbit
        Total delay is 10 microseconds
        Reliability is 255/255
        Load is 1/255
        Minimum MTU is 1500
        Hop count is 0
        Originating router is 1.2.3.4
      External data:
        AS number of route is 0
        External protocol is Static, external metric is 0
        Administrator tag is 0 (0x00000000)
Router(config-router)# redistribute static metric 1000000 1 255 1 1500   
Router(config-router)# do show ip eigrp topology 1.1.1.1/32             
EIGRP-IPv4 Topology Entry for AS(1)/ID(1.2.3.4) for 1.1.1.1/32
  State is Passive, Query origin flag is 1, 1 Successor(s), FD is 256
  Descriptor Blocks:
  0.0.0.0, from Rstatic, Send flag is 0x0
      Composite metric is (2816/0), route is External
      Vector metric:
        Minimum bandwidth is 1000000 Kbit
        Total delay is 10 microseconds
        Reliability is 255/255
        Load is 1/255
        Minimum MTU is 1500
        Hop count is 0
        Originating router is 1.2.3.4
      External data:
        AS number of route is 0
        External protocol is Static, external metric is 0
        Administrator tag is 0 (0x00000000)

I guess that could explain your observation.

Best regards,
Peter

View solution in original post

1 Reply 1

Peter Paluch
Cisco Employee
Cisco Employee

Hello samsita,

Technically, there is nothing wrong here. FD is not the current lowest distance as it is often incorrectly explained. FD is the record of the smallest encountered distance since the last time the route went from Active to Passive state. This means that it can be either equal to the current lowest distance, or it can be smaller if the router was closer to the destination at some point in the past (without needing to go to the Active state when the distance increased). This is intended, and is required for the Feasibility Condition in EIGRP to work correctly. If the FD was the current lowest distance, EIGRP path selection mechanism would be the same as in RIP (after the distance grows, just take anyone who appears to be closer than we're now) - and that would lead to routing loops just like in RIP.

So the fact that the FD is smaller than the current smallest distance is not an indication of any error.

It is harder to explain why the FD in your case is 256. Because the metric computation formula in EIGRP uses a multiplication by 256, it shows that the inner metric computation before the multiplication must have arrived at the metric of 1 (because 1 x 256 = 256). This is where I am not certain. Is it possible that you have changed the redistribution metric after the redistribution was first configured? If the first redistribution metric caused the composite metric to evaluate as 256, and afterwards, the modified redistribution metric caused the composite metric to grow to 2816, it would cause the FD to stay at the current value.

I was actually able to reproduce this behavior. If first I redistribute a static network with the Bw set to a value higher than 10Gbps, the bandwidth component will evaluate to 0 (as the 107/Bw will evaluate to a number smaller than 1 and IOS does integer arithmetics), and the FD will be 256. After I pull down the Bw to 1Mbps, the computed metric will be 2816 but the FD will stay on its former value of 256, the so-far-experienced minimum distance:

Router(config-router)# redistribute static metric 100000000 1 255 1 1500    
Router(config-router)# do show ip eigrp topology 1.1.1.1/32
EIGRP-IPv4 Topology Entry for AS(1)/ID(1.2.3.4) for 1.1.1.1/32
  State is Passive, Query origin flag is 1, 1 Successor(s), FD is 256
  Descriptor Blocks:
  0.0.0.0, from Rstatic, Send flag is 0x0
      Composite metric is (256/0), route is External
      Vector metric:
        Minimum bandwidth is 100000000 Kbit
        Total delay is 10 microseconds
        Reliability is 255/255
        Load is 1/255
        Minimum MTU is 1500
        Hop count is 0
        Originating router is 1.2.3.4
      External data:
        AS number of route is 0
        External protocol is Static, external metric is 0
        Administrator tag is 0 (0x00000000)
Router(config-router)# redistribute static metric 1000000 1 255 1 1500   
Router(config-router)# do show ip eigrp topology 1.1.1.1/32             
EIGRP-IPv4 Topology Entry for AS(1)/ID(1.2.3.4) for 1.1.1.1/32
  State is Passive, Query origin flag is 1, 1 Successor(s), FD is 256
  Descriptor Blocks:
  0.0.0.0, from Rstatic, Send flag is 0x0
      Composite metric is (2816/0), route is External
      Vector metric:
        Minimum bandwidth is 1000000 Kbit
        Total delay is 10 microseconds
        Reliability is 255/255
        Load is 1/255
        Minimum MTU is 1500
        Hop count is 0
        Originating router is 1.2.3.4
      External data:
        AS number of route is 0
        External protocol is Static, external metric is 0
        Administrator tag is 0 (0x00000000)

I guess that could explain your observation.

Best regards,
Peter

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: