OSPF: incorrect path computation for v2.0.5+?

Kenth Eriksson Kenth.Eriksson at infinera.com
Wed May 20 16:47:58 CEST 2020


Upgraded from 2.0.4 to 2.0.7 and observed strange OSPF path
computation. Re-tested against v2.0.5, same result. Any known issues in
this area? 

Setup when observing issue; 
5 nodes connected in a ring with PPP links (some redundant links).     
                                                                                 
       /----------------------------------------------------------------\                 
,------------.   ,------------.   ,------------.   ,------------.   ,------------.
|10.210.139.1|   |10.210.139.2|   |10.210.139.3|   |10.210.139.4|   |10.210.139.5|
|            |---|            |---|            |---|            |---|            |
|            |---|            |---|            |   |            |   |            |
`------------'   `------------'   `------------'   `------------'   `------------'

With 2.0.4 node 10.210.139.1 finds shortest path to 10.210.139.5 via
directly connected interface. With 2.0.5+ the OSPF computation results
via hop-by-hop thru 10.210.139.2.
 

Result with 2.0.4
-----------------

node_1 ~ # birdc
BIRD v2.0.4-16-g1528cec5 ready.
bird> show ospf interface ospfv2_1
ospfv2_1:
Interface p1-1-3-1-4 (peer 10.210.139.5)
        Type: ptp
        Area: 0.0.0.0 (0)
        State: PtP
        Priority: 0
        Cost: 10
        Hello timer: 10
        Wait timer: 40
        Dead timer: 40
        Retransmit timer: 5
Interface p1-1-1-1-2 (peer 10.210.139.2)
        Type: ptp
        Area: 0.0.0.0 (0)
        State: PtP
        Priority: 0
        Cost: 10
        Hello timer: 10
        Wait timer: 40
        Dead timer: 40
        Retransmit timer: 5
Interface p1-1-5-1-6 (peer 10.210.139.2)
        Type: ptp
        Area: 0.0.0.0 (0)
        State: PtP
        Priority: 0
        Cost: 10
        Hello timer: 10
        Wait timer: 40
        Dead timer: 40
        Retransmit timer: 5
bird> show ospf topology ospfv2_1

area 0.0.0.0

        router 0.0.139.1
                distance 0
                router 0.0.139.5 metric 10
                router 0.0.139.2 metric 10
                router 0.0.139.2 metric 10

        router 0.0.139.2
                distance 10
                router 0.0.139.3 metric 10
                router 0.0.139.3 metric 10
                router 0.0.139.1 metric 10
                router 0.0.139.1 metric 10

        router 0.0.139.3
                distance 20
                router 0.0.139.4 metric 10
                router 0.0.139.2 metric 10
                router 0.0.139.2 metric 10

        router 0.0.139.4
                distance 20
                router 0.0.139.3 metric 10
                router 0.0.139.5 metric 10

        router 0.0.139.5
                distance 10
                router 0.0.139.4 metric 10
                router 0.0.139.1 metric 10

bird> show route table master4
Table master4:
0.0.0.0/0            unicast [static1 14:11:45.720] * (254)
        via 10.210.129.1 on eth1
10.210.139.2/32      unicast [direct1 14:15:57.283] * (255)
        dev p1-1-1-1-2
                     unicast [ospfv2_1 14:16:12.888] E1 (145/10) [0.0.139.2]
        via 10.210.139.2 on p1-1-1-1-2
                     unicast [direct1 14:16:01.143] (255)
        dev p1-1-5-1-6
10.210.139.5/32      unicast [direct1 14:18:20.315] * (255)
        dev p1-1-3-1-4
                     unicast [ospfv2_1 14:18:34.888] E1 (145/10) [0.0.139.5]
        via 10.210.139.5 on p1-1-3-1-4
10.210.139.1/32      unicast [direct1 14:11:37.896] * (255)
        dev lo
10.210.139.4/32      unicast [ospfv2_1 14:18:34.888] * E1 (145/20) [0.0.139.4]
        via 10.210.139.5 on p1-1-3-1-4
10.210.129.0/24      unicast [direct1 14:11:45.720] * (255)
        dev eth1
10.210.139.3/32      unicast [ospfv2_1 14:17:58.888] * E1 (145/20) [0.0.139.3]
        via 10.210.139.2 on p1-1-1-1-2
10.0.0.0/20          unicast [direct1 14:11:21.625] * (255)
        dev eth0
bird> show route
Table master4:
0.0.0.0/0            unicast [static1 14:23:07.805] * (254)
        via 10.210.129.1 on eth1
10.210.139.2/32      unicast [direct1 14:23:07.763] * (255)
        dev p1-1-1-1-2
                     unicast [ospfv2_1 14:23:22.813] E1 (145/10) [0.0.139.2]
        via 10.210.139.2 on p1-1-1-1-2
10.210.139.5/32      unicast [direct1 14:23:08.613] * (255)
        dev p1-1-3-1-4
                     unicast [ospfv2_1 14:23:22.813] E1 (145/40) [0.0.139.5]
        via 10.210.139.2 on p1-1-1-1-2
10.210.139.1/32      unicast [direct1 14:23:02.820] * (255)
        dev lo
10.210.139.4/32      unicast [ospfv2_1 14:23:22.813] * E1 (145/30) [0.0.139.4]
        via 10.210.139.2 on p1-1-1-1-2
10.210.129.0/24      unicast [direct1 14:23:07.805] * (255)
        dev eth1
10.210.139.3/32      unicast [ospfv2_1 14:23:22.813] * E1 (145/20) [0.0.139.3]
        via 10.210.139.2 on p1-1-1-1-2
10.0.0.0/20          unicast [direct1 14:22:38.675] * (255)
        dev eth0


Result with 2.0.5 and 2.0.7
---------------------------

node_1 ~ # birdc
BIRD v2.0.5-1-gd383d5ba ready.

bird> show ospf interface ospfv2_1
ospfv2_1:
Interface p1-1-1-1-2 (peer 10.210.139.2)
        Type: ptp
        Area: 0.0.0.0 (0)
        State: PtP
        Priority: 0
        Cost: 10
        Hello timer: 10
        Wait timer: 40
        Dead timer: 40
        Retransmit timer: 5
Interface p1-1-5-1-6 (peer 10.210.139.2)
        Type: ptp
        Area: 0.0.0.0 (0)
        State: PtP
        Priority: 0
        Cost: 10
        Hello timer: 10
        Wait timer: 40
        Dead timer: 40
        Retransmit timer: 5
Interface p1-1-3-1-4 (peer 10.210.139.5)
        Type: ptp
        Area: 0.0.0.0 (0)
        State: PtP
        Priority: 0
        Cost: 10
        Hello timer: 10
        Wait timer: 40
        Dead timer: 40
        Retransmit timer: 5
bird>
bird> show ospf topology ospfv2_1

area 0.0.0.0

        router 0.0.139.1
                distance 0
                router 0.0.139.2 metric 10
                router 0.0.139.2 metric 10
                router 0.0.139.5 metric 10

        router 0.0.139.2
                distance 10
                router 0.0.139.3 metric 10
                router 0.0.139.3 metric 10
                router 0.0.139.1 metric 10
                router 0.0.139.1 metric 10

        router 0.0.139.3
                distance 20
                router 0.0.139.4 metric 10
                router 0.0.139.2 metric 10
                router 0.0.139.2 metric 10

        router 0.0.139.4
                distance 30
                router 0.0.139.3 metric 10
                router 0.0.139.5 metric 10

        router 0.0.139.5
                distance 40
                router 0.0.139.4 metric 10
                router 0.0.139.1 metric 10
bird>
bird> show route table master4
Table master4:
0.0.0.0/0            unicast [static1 14:41:12.689] * (254)
        via 10.210.129.1 on eth1
10.210.139.2/32      unicast [direct1 14:41:06.967] * (255)
        dev p1-1-1-1-2
                     unicast [ospfv2_1 14:41:22.924] E1 (145/10)
[0.0.139.2]
        via 10.210.139.2 on p1-1-1-1-2
                     unicast [direct1 14:41:08.739] (255)
        dev p1-1-5-1-6
10.210.139.5/32      unicast [direct1 14:41:41.577] * (255)
        dev p1-1-3-1-4
                     unicast [ospfv2_1 14:41:22.924] E1 (145/40)
[0.0.139.5]
        via 10.210.139.2 on p1-1-1-1-2
10.210.139.1/32      unicast [direct1 14:41:04.950] * (255)
        dev lo
10.210.139.4/32      unicast [ospfv2_1 14:41:22.924] E1 (145/30)
[0.0.139.4]
        via 10.210.139.2 on p1-1-1-1-2
10.210.129.0/24      unicast [direct1 14:41:12.689] * (255)
        dev eth1
10.210.139.3/32      unicast [ospfv2_1 14:41:22.924] E1 (145/20)
[0.0.139.3]
        via 10.210.139.2 on p1-1-1-1-2
10.0.0.0/20          unicast [direct1 14:40:48.586] * (255)
        dev eth0
bird>
bird> show ospf neighbors ospfv2_1
ospfv2_1:
Router ID       Pri          State      DTime   Interface  Router IP
0.0.139.2         0     Full/PtP        38.373  p1-1-1-1-2 10.210.139.2
0.0.139.2         0     Full/PtP        30.144  p1-1-5-1-6 10.210.139.2
0.0.139.5         0     Full/PtP        32.983  p1-1-3-1-4 10.210.139.5
bird>




More information about the Bird-users mailing list