Actions
Bug #16701
openOSPF routes learned from neighbor are not removed on link down
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