Project

General

Profile

Actions

Bug #16701

open

OSPF routes learned from neighbor are not removed on link down

Added by Chris Linstruth 3 days ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
FRR
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:
Plus Target Version:
Affected Version:
Affected Plus Version:
25.11.1
Affected Architecture:

Description

192.168.1.0/24 <-> FW1 <-> Transit Network vtnet2 (AREA 0) <-> FW2 <-> 192.168.2.0/24

Adjacency established and routes exchanged:

FW1

[25.11.1-RELEASE][root@FW1.home.arpa]/root: vtysh -c "show ip ospf neighbor" 

Neighbor ID     Pri State           Up Time         Dead Time Address         Interface                        RXmtL RqstL DBsmL
10.255.255.2    100 Full/Backup     3d09h06m          37.223s 172.16.30.2     vtnet2:172.16.30.1                   0     0     0

[25.11.1-RELEASE][root@FW1.home.arpa]/root: netstat -rn4
Routing tables

Internet:
Destination        Gateway            Flags         Netif Expire
default            172.25.228.1       UGS          vtnet1
10.255.255.1       link#6             UH              lo0
127.0.0.1          link#6             UH              lo0
172.16.30.0/24     link#3             U            vtnet2
snip
192.168.1.0/24     link#1             U            vtnet0
192.168.1.1        link#6             UHS             lo0
192.168.2.0/24     172.16.30.2        UG1          vtnet2

FW2

[25.11.1-RELEASE][root@FW2.home.arpa]/root: vtysh -c "show ip ospf neighbor" 

Neighbor ID     Pri State           Up Time         Dead Time Address         Interface                        RXmtL RqstL DBsmL
10.255.255.1    200 Full/DR         3d09h06m          35.926s 172.16.30.1     vtnet2:172.16.30.2                   0     0     0

[25.11.1-RELEASE][root@FW2.home.arpa]/root: netstat -rn4
Routing tables

Internet:
Destination        Gateway            Flags         Netif Expire
default            172.25.228.1       UGS          vtnet1
10.255.255.2       link#6             UH              lo0
127.0.0.1          link#6             UH              lo0
172.16.30.0/24     link#3             U            vtnet2
172.16.30.2        link#6             UHS             lo0
snip
192.168.1.0/24     172.16.30.1        UG1          vtnet2
192.168.2.0/24     link#1             U            vtnet0
192.168.2.1        link#6             UHS             lo0

Link down the transit network (vtnet2) going to FW1:

[25.11.1-RELEASE][root@FW1.home.arpa]/root: ifconfig vtnet2
vtnet2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    description: OPT1
    options=8800b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,LINKSTATE,HWSTATS>
    ether bc:24:11:76:20:19
    inet 172.16.30.1 netmask 0xffffff00 broadcast 172.16.30.255
    inet6 fe80::be24:11ff:fe76:2019%vtnet2 prefixlen 64 scopeid 0x3
    media: Ethernet autoselect (none)
    status: no carrier
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>

Adjacency is torn down but the route remains on FW1:

[25.11.1-RELEASE][root@FW1.home.arpa]/root: vtysh -c "show ip ospf neighbor" 

Neighbor ID     Pri State           Up Time         Dead Time Address         Interface                        RXmtL RqstL DBsmL

[25.11.1-RELEASE][root@FW1.home.arpa]/root: netstat -rn4
Routing tables

Internet:
Destination        Gateway            Flags         Netif Expire
default            172.25.228.1       UGS          vtnet1
10.255.255.1       link#6             UH              lo0
127.0.0.1          link#6             UH              lo0
172.16.30.0/24     link#3             U            vtnet2
172.16.30.1        link#6             UHS             lo0
snip
192.168.1.0/24     link#1             U            vtnet0
192.168.1.1        link#6             UHS             lo0
192.168.2.0/24     172.16.30.2        UG1          vtnet2

Adjacency times out on FW2 and the route is withdrawn:

[25.11.1-RELEASE][root@FW2.home.arpa]/root: vtysh -c "show ip ospf neighbor" 

Neighbor ID     Pri State           Up Time         Dead Time Address         Interface                        RXmtL RqstL DBsmL

[25.11.1-RELEASE][root@FW2.home.arpa]/root: netstat -rn4
Routing tables

Internet:
Destination        Gateway            Flags         Netif Expire
default            172.25.228.1       UGS          vtnet1
10.255.255.2       link#6             UH              lo0
127.0.0.1          link#6             UH              lo0
172.16.30.0/24     link#3             U            vtnet2
172.16.30.2        link#6             UHS             lo0
snip
192.168.2.0/24     link#1             U            vtnet0
192.168.2.1        link#6             UHS             lo0

Bring link back up, adjacency reestablishes and both routes are returned. Output omitted.

Link down the transit network (vtnet2) going to FW2:

[25.11.1-RELEASE][root@FW2.home.arpa]/root: ifconfig vtnet2
vtnet2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    description: OPT1
    options=8800b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,LINKSTATE,HWSTATS>
    ether bc:24:11:06:80:6b
    inet 172.16.30.2 netmask 0xffffff00 broadcast 172.16.30.255
    inet6 fe80::be24:11ff:fe06:806b%vtnet2 prefixlen 64 scopeid 0x3
    media: Ethernet autoselect (none)
    status: no carrier
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>

This time, the adjacency is immediately removed on FW2 but the route remains there:

[25.11.1-RELEASE][root@FW2.home.arpa]/root: vtysh -c "show ip ospf neighbor" 

Neighbor ID     Pri State           Up Time         Dead Time Address         Interface                        RXmtL RqstL DBsmL

[25.11.1-RELEASE][root@FW2.home.arpa]/root: netstat -rn4
Routing tables

Internet:
Destination        Gateway            Flags         Netif Expire
default            172.25.228.1       UGS          vtnet1
10.255.255.2       link#6             UH              lo0
127.0.0.1          link#6             UH              lo0
172.16.30.0/24     link#3             U            vtnet2
172.16.30.2        link#6             UHS             lo0
snip
192.168.1.0/24     172.16.30.1        UG1          vtnet2
192.168.2.0/24     link#1             U            vtnet0
192.168.2.1        link#6             UHS             lo0

This time, on FW1, there is no link down but the adjacency times out and the route is removed:

[25.11.1-RELEASE][root@FW1.home.arpa]/root: netstat -rn4
Routing tables

Internet:
Destination        Gateway            Flags         Netif Expire
default            172.25.228.1       UGS          vtnet1
10.255.255.1       link#6             UH              lo0
127.0.0.1          link#6             UH              lo0
172.16.30.0/24     link#3             U            vtnet2
172.16.30.1        link#6             UHS             lo0
snip
192.168.1.0/24     link#1             U            vtnet0
192.168.1.1        link#6             UHS             lo0
192.168.2.0/24     172.16.30.2        UG1          vtnet2
[25.11.1-RELEASE][root@FW1.home.arpa]/root: vtysh -c "show ip ospf neighbor" 

Neighbor ID     Pri State           Up Time         Dead Time Address         Interface                        RXmtL RqstL DBsmL
10.255.255.2    100 Full/DR         1m04s              5.462s 172.16.30.2     vtnet2:172.16.30.1                   0     0     0

[25.11.1-RELEASE][root@FW1.home.arpa]/root: vtysh -c "show ip ospf neighbor" 

Neighbor ID     Pri State           Up Time         Dead Time Address         Interface                        RXmtL RqstL DBsmL

[25.11.1-RELEASE][root@FW1.home.arpa]/root: netstat -rn4
Routing tables

Internet:
Destination        Gateway            Flags         Netif Expire
default            172.25.228.1       UGS          vtnet1
10.255.255.1       link#6             UH              lo0
127.0.0.1          link#6             UH              lo0
172.16.30.0/24     link#3             U            vtnet2
172.16.30.1        link#6             UHS             lo0
snip
192.168.1.0/24     link#1             U            vtnet0
192.168.1.1        link#6             UHS             lo0

Note that when the route remains when it should be removed, OSPF knows the route is gone:

[25.11.1-RELEASE][root@FW1.home.arpa]/root: vtysh -c "show ip ospf route" 
============ OSPF network routing table ============
N    172.16.30.0/24        [100] area: 0.0.0.0
                           directly attached to vtnet2
N    192.168.1.0/24        [10] area: 0.0.0.0
                           directly attached to vtnet0
N    192.168.2.0/24        [110] area: 0.0.0.0
                           via 172.16.30.2, vtnet2

============ OSPF router routing table =============

============ OSPF external routing table ===========

[25.11.1-RELEASE][root@FW1.home.arpa]/root: ifconfig vtnet2
vtnet2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    description: OPT1
    options=8800b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,LINKSTATE,HWSTATS>
    ether bc:24:11:76:20:19
    inet 172.16.30.1 netmask 0xffffff00 broadcast 172.16.30.255
    inet6 fe80::be24:11ff:fe76:2019%vtnet2 prefixlen 64 scopeid 0x3
    media: Ethernet autoselect (none)
    status: no carrier
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>

[25.11.1-RELEASE][root@FW1.home.arpa]/root: vtysh -c "show ip ospf route" 
============ OSPF network routing table ============
N    192.168.1.0/24        [10] area: 0.0.0.0
                           directly attached to vtnet0

============ OSPF router routing table =============

============ OSPF external routing table ===========

[25.11.1-RELEASE][root@FW1.home.arpa]/root: netstat -rn4
Routing tables

Internet:
Destination        Gateway            Flags         Netif Expire
default            172.25.228.1       UGS          vtnet1
10.255.255.1       link#6             UH              lo0
127.0.0.1          link#6             UH              lo0
172.16.30.0/24     link#3             U            vtnet2
172.16.30.1        link#6             UHS             lo0
snip
192.168.1.0/24     link#1             U            vtnet0
192.168.1.1        link#6             UHS             lo0
192.168.2.0/24     172.16.30.2        UG1          vtnet2
[25.11.1-RELEASE][root@FW1.home.arpa]/root:

No data to display

Actions

Also available in: Atom PDF