In 202305 branch for Nokia 7215 platform, monit fails due to routecheck.py status failed as below -
Program 'routeCheck'
status Status failed
monitoring status Monitored
monitoring mode active
on reboot start
last exit value 255
last output Failure results: {{
"missed_FRR_routes": [
{
"destSelected": true,
"distance": 20,
"failed": true,
"installedNexthopGroupId": 384,
"internalFlags": 8,
"internalNextHopActiveNum": 4,
"internalNextHopNum": 4,
"internalStatus": 168,
"metric": 0,
"nexthopGroupId": 384,
"nexthops": [
{
"active": true,
"afi": "ipv4",
"fib": true,
"flags": 3,
"interfaceIndex": 368,
"interfaceName": "PortChannel101",
"ip": "10.0.0.57",
"weight": 1
},
data collected Tue, 28 Nov 2023 18:29:56
We have seen this issue intermittently after config reload is performed on the platform. After debugging the above error, we found that it is related to the ip routes not being programmed in the kernel.
The output of show ip route on the platform is below and all the routes are in queued state, meaning, they are yet to be programmed in the kernel but is present in the ASIC_DB and APPL_DB of Sonic.
Codes: K - kernel route, C - connected, S - static, R - RIP,
O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
F - PBR, f - OpenFabric,
> - selected route, * - FIB route, q - queued route, r - rejected route
B>q0.0.0.0/0 [20/0] via 10.0.0.57, PortChannel101, 1d00h09m
q via 10.0.0.59, PortChannel103, 1d00h09m
q via 10.0.0.61, PortChannel105, 1d00h09m
q via 10.0.0.63, PortChannel106, 1d00h09m
C>*10.0.0.56/31 is directly connected, PortChannel101, 1d00h09m
C>*10.0.0.58/31 is directly connected, PortChannel103, 1d00h09m
C>*10.0.0.60/31 is directly connected, PortChannel105, 1d00h09m
C>*10.0.0.62/31 is directly connected, PortChannel106, 1d00h09m
C>*10.0.0.64/31 is directly connected, Ethernet46, 1d00h09m
C>*10.0.0.66/31 is directly connected, Ethernet47, 1d00h09m
C>*10.1.0.32/32 is directly connected, Loopback0, 1d00h11m
B>*100.1.0.29/32 [20/0] via 10.0.0.57, PortChannel101, 1d00h09m
B>*100.1.0.30/32 [20/0] via 10.0.0.59, PortChannel103, 1d00h09m
B>*100.1.0.31/32 [20/0] via 10.0.0.61, PortChannel105, 1d00h09m
B>*100.1.0.32/32 [20/0] via 10.0.0.63, PortChannel106, 1d00h09m
B>*100.1.0.33/32 [20/0] via 10.0.0.65, Ethernet46, 1d00h09m
B>*100.1.0.34/32 [20/0] via 10.0.0.67, Ethernet47, 1d00h09m
C>*152.148.144.0/21 is directly connected, eth0, 1d00h11m
C>*192.168.0.0/24 is directly connected, Vlan1000, 1d00h10m
B>*192.168.1.64/26 [20/0] via 10.0.0.65, Ethernet46, 1d00h09m
B>*192.168.1.128/26 [20/0] via 10.0.0.67, Ethernet47, 1d00h09m
B>q192.168.1.192/26 [20/0] via 10.0.0.57, PortChannel101, 1d00h09m
q via 10.0.0.59, PortChannel103, 1d00h09m
q via 10.0.0.61, PortChannel105, 1d00h09m
q via 10.0.0.63, PortChannel106, 1d00h09m
B>q192.168.2.0/26 [20/0] via 10.0.0.57, PortChannel101, 1d00h09m
q via 10.0.0.59, PortChannel103, 1d00h09m
q via 10.0.0.61, PortChannel105, 1d00h09m
q via 10.0.0.63, PortChannel106, 1d00h09m
B>q192.168.2.64/26 [20/0] via 10.0.0.57, PortChannel101, 1d00h09m
q via 10.0.0.59, PortChannel103, 1d00h09m
q via 10.0.0.61, PortChannel105, 1d00h09m
q via 10.0.0.63, PortChannel106, 1d00h09m
B>q192.168.2.128/26 [20/0] via 10.0.0.57, PortChannel101, 1d00h09m
.
.
.
.
B>q192.169.104.64/26 [20/0] via 10.0.0.57, PortChannel101, 1d00h09m
q via 10.0.0.59, PortChannel103, 1d00h09m
q via 10.0.0.61, PortChannel105, 1d00h09m
q via 10.0.0.63, PortChannel106, 1d00h09m
B>q192.169.104.128/26 [20/0] via 10.0.0.57, PortChannel101, 1d00h09m
q via 10.0.0.59, PortChannel103, 1d00h09m
q via 10.0.0.61, PortChannel105, 1d00h09m
q via 10.0.0.63, PortChannel106, 1d00h09m
B>q192.169.104.192/26 [20/0] via 10.0.0.57, PortChannel101, 1d00h09m
q via 10.0.0.59, PortChannel103, 1d00h09m
q via 10.0.0.61, PortChannel105, 1d00h09m
q via 10.0.0.63, PortChannel106, 1d00h09m
The output of "sudo ip route show" shows that none of the above queued routes are present in the kernel.
sudo ip route show
10.0.0.56/31 dev PortChannel101 proto kernel scope link src 10.0.0.56
10.0.0.58/31 dev PortChannel103 proto kernel scope link src 10.0.0.58
10.0.0.60/31 dev PortChannel105 proto kernel scope link src 10.0.0.60
10.0.0.62/31 dev PortChannel106 proto kernel scope link src 10.0.0.62
10.0.0.64/31 dev Ethernet46 proto kernel scope link src 10.0.0.64
10.0.0.66/31 dev Ethernet47 proto kernel scope link src 10.0.0.66
100.1.0.29 nhid 354 via 10.0.0.57 dev PortChannel101 proto bgp src 10.1.0.32 metric 20
100.1.0.30 nhid 385 via 10.0.0.59 dev PortChannel103 proto bgp src 10.1.0.32 metric 20
100.1.0.31 nhid 386 via 10.0.0.61 dev PortChannel105 proto bgp src 10.1.0.32 metric 20
100.1.0.32 nhid 355 via 10.0.0.63 dev PortChannel106 proto bgp src 10.1.0.32 metric 20
100.1.0.33 nhid 611 via 10.0.0.65 dev Ethernet46 proto bgp src 10.1.0.32 metric 20
100.1.0.34 nhid 617 via 10.0.0.67 dev Ethernet47 proto bgp src 10.1.0.32 metric 20
152.148.144.0/21 dev eth0 proto kernel scope link src 152.148.150.123
192.168.0.0/24 dev Vlan1000 proto kernel scope link src 192.168.0.1
192.168.1.64/26 nhid 611 via 10.0.0.65 dev Ethernet46 proto bgp src 10.1.0.32 metric 20
192.168.1.128/26 nhid 617 via 10.0.0.67 dev Ethernet47 proto bgp src 10.1.0.32 metric 20
240.127.1.0/24 dev docker0 proto kernel scope link src 240.127.1.1 linkdown
Steps to reproduce the issue:
Bring up M0 topology
Perform "sudo config reload -y -f"
After the platform reloads, check "sudo monit status -B" output to see if the routeCheck has the above error. (Wait for it to initialise completely)
If the status is "Ok" Repeat from 2 ( Usually seen after 7-10 reloads)
Describe the results you received:
The status of routeCheck Program in monit is failed and the routes in "show ip route" are in queued state.
Describe the results you expected:
The following is the output of "sudo monit " when the issue is not present.
Program 'routeCheck'
status Status ok
monitoring status Monitored
monitoring mode active
on reboot start
last exit value 0
last output -
data collected Tue, 28 Nov 2023 18:46:11
The ip routes are present in the output of "show ip route". Note that they are not in the queued state.
Codes: K - kernel route, C - connected, S - static, R - RIP,
O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
F - PBR, f - OpenFabric,
> - selected route, * - FIB route, q - queued route, r - rejected route
B>*0.0.0.0/0 [20/0] via 10.0.0.57, PortChannel101, 01:57:06
* via 10.0.0.59, PortChannel103, 01:57:06
* via 10.0.0.61, PortChannel105, 01:57:06
* via 10.0.0.63, PortChannel106, 01:57:06
C>*10.0.0.56/31 is directly connected, PortChannel101, 02:43:03
C>*10.0.0.58/31 is directly connected, PortChannel103, 02:43:03
C>*10.0.0.60/31 is directly connected, PortChannel105, 02:42:56
C>*10.0.0.62/31 is directly connected, PortChannel106, 02:42:44
C>*10.0.0.64/31 is directly connected, Ethernet46, 02:42:37
C>*10.0.0.66/31 is directly connected, Ethernet47, 02:42:37
C>*10.1.0.32/32 is directly connected, Loopback0, 02:44:13
B>*100.1.0.29/32 [20/0] via 10.0.0.57, PortChannel101, 01:57:07
B>*100.1.0.30/32 [20/0] via 10.0.0.59, PortChannel103, 01:57:06
B>*100.1.0.31/32 [20/0] via 10.0.0.61, PortChannel105, 01:57:06
B>*100.1.0.32/32 [20/0] via 10.0.0.63, PortChannel106, 01:57:06
B>*100.1.0.33/32 [20/0] via 10.0.0.65, Ethernet46, 01:57:06
B>*100.1.0.34/32 [20/0] via 10.0.0.67, Ethernet47, 01:57:06
C>*152.148.144.0/21 is directly connected, eth0, 02:44:13
C>*192.168.0.0/24 is directly connected, Vlan1000, 02:43:21
B>*192.168.1.64/26 [20/0] via 10.0.0.65, Ethernet46, 01:57:06
B>*192.168.1.128/26 [20/0] via 10.0.0.67, Ethernet47, 01:57:06
B>*192.168.1.192/26 [20/0] via 10.0.0.57, PortChannel101, 01:57:06
* via 10.0.0.59, PortChannel103, 01:57:06
* via 10.0.0.61, PortChannel105, 01:57:06
* via 10.0.0.63, PortChannel106, 01:57:06
B>*192.168.2.0/26 [20/0] via 10.0.0.57, PortChannel101, 01:57:06
* via 10.0.0.59, PortChannel103, 01:57:06
* via 10.0.0.61, PortChannel105, 01:57:06
* via 10.0.0.63, PortChannel106, 01:57:06
B>*192.168.2.64/26 [20/0] via 10.0.0.57, PortChannel101, 01:57:06
.
.
.
The output of "sudo ip route show "
default nhid 1553 proto bgp src 10.1.0.32 metric 20
nexthop via 10.0.0.57 dev PortChannel101 weight 1
nexthop via 10.0.0.59 dev PortChannel103 weight 1
nexthop via 10.0.0.61 dev PortChannel105 weight 1
nexthop via 10.0.0.63 dev PortChannel106 weight 1
10.0.0.56/31 dev PortChannel101 proto kernel scope link src 10.0.0.56
10.0.0.58/31 dev PortChannel103 proto kernel scope link src 10.0.0.58
10.0.0.60/31 dev PortChannel105 proto kernel scope link src 10.0.0.60
10.0.0.62/31 dev PortChannel106 proto kernel scope link src 10.0.0.62
10.0.0.64/31 dev Ethernet46 proto kernel scope link src 10.0.0.64
10.0.0.66/31 dev Ethernet47 proto kernel scope link src 10.0.0.66
100.1.0.29 nhid 1540 via 10.0.0.57 dev PortChannel101 proto bgp src 10.1.0.32 metric 20
100.1.0.30 nhid 1554 via 10.0.0.59 dev PortChannel103 proto bgp src 10.1.0.32 metric 20
100.1.0.31 nhid 1555 via 10.0.0.61 dev PortChannel105 proto bgp src 10.1.0.32 metric 20
100.1.0.32 nhid 1556 via 10.0.0.63 dev PortChannel106 proto bgp src 10.1.0.32 metric 20
100.1.0.33 nhid 1579 via 10.0.0.65 dev Ethernet46 proto bgp src 10.1.0.32 metric 20
100.1.0.34 nhid 1580 via 10.0.0.67 dev Ethernet47 proto bgp src 10.1.0.32 metric 20
152.148.144.0/21 dev eth0 proto kernel scope link src 152.148.150.121
192.168.0.0/24 dev Vlan1000 proto kernel scope link src 192.168.0.1
192.168.1.64/26 nhid 1579 via 10.0.0.65 dev Ethernet46 proto bgp src 10.1.0.32 metric 20
192.168.1.128/26 nhid 1580 via 10.0.0.67 dev Ethernet47 proto bgp src 10.1.0.32 metric 20
192.168.1.192/26 nhid 1553 proto bgp src 10.1.0.32 metric 20
nexthop via 10.0.0.57 dev PortChannel101 weight 1
nexthop via 10.0.0.59 dev PortChannel103 weight 1
nexthop via 10.0.0.61 dev PortChannel105 weight 1
nexthop via 10.0.0.63 dev PortChannel106 weight 1
192.168.2.0/26 nhid 1553 proto bgp src 10.1.0.32 metric 20
nexthop via 10.0.0.57 dev PortChannel101 weight 1
nexthop via 10.0.0.59 dev PortChannel103 weight 1
nexthop via 10.0.0.61 dev PortChannel105 weight 1
nexthop via 10.0.0.63 dev PortChannel106 weight 1
192.168.2.64/26 nhid 1553 proto bgp src 10.1.0.32 metric 20
nexthop via 10.0.0.57 dev PortChannel101 weight 1
nexthop via 10.0.0.59 dev PortChannel103 weight 1
nexthop via 10.0.0.61 dev PortChannel105 weight 1
nexthop via 10.0.0.63 dev PortChannel106 weight 1
192.168.2.128/26 nhid 1553 proto bgp src 10.1.0.32 metric 20
nexthop via 10.0.0.57 dev PortChannel101 weight 1
nexthop via 10.0.0.59 dev PortChannel103 weight 1
nexthop via 10.0.0.61 dev PortChannel105 weight 1
nexthop via 10.0.0.63 dev PortChannel106 weight 1
.
.
Description
In 202305 branch for Nokia 7215 platform, monit fails due to routecheck.py status failed as below -
We have seen this issue intermittently after config reload is performed on the platform. After debugging the above error, we found that it is related to the ip routes not being programmed in the kernel.
The output of show ip route on the platform is below and all the routes are in queued state, meaning, they are yet to be programmed in the kernel but is present in the ASIC_DB and APPL_DB of Sonic.
The output of "sudo ip route show" shows that none of the above queued routes are present in the kernel.
Steps to reproduce the issue:
Describe the results you received:
The status of routeCheck Program in monit is failed and the routes in "show ip route" are in queued state.
Describe the results you expected:
The following is the output of "sudo monit " when the issue is not present.
The ip routes are present in the output of "show ip route". Note that they are not in the queued state.
The output of "sudo ip route show "
Output of
show version
:Output of
show techsupport
:Additional information you deem important (e.g. issue happens only occasionally):
This issue happens intermittently with multiple config reloads.