Subject: Missing IPv4 routes

From: Brian Rak <[email-masked]>
Date: Fri, 23 Oct 2015 17:34:11 -0400

I've got a weird situation here.  I have a route that the kernel knows 
about, but won't display via the general RTM_GETROUTE call, but will 
display if I query for that particular route:

# ip -4 route show | grep 108.61.171.x
# ip route get 108.61.171.x
108.61.171.x dev MYIF
     cache
# cat /proc/net/route | grep 108.61.171.x
#
# cat /proc/net/route  | grep -i 6c3dac
#
# ip route add 108.61.171.x dev MYIF
RTNETLINK answers: File exists
# ip route del 108.61.171.x  <---- it deletes successfully once
# ip route del 108.61.171.x
RTNETLINK answers: No such process

This is on a machine running 4.1.3, but I have seen it on earlier 
versions in the past.

I don't have great reproduction steps here, I've seen this 4-5 times in 
the past few months (on different hardware).  So far, I haven't really 
found any way of fixing it (deleting and readding the route has no 
effect).  I thought at first this might be related to 
e55ffaf457bcc8ec4e9d9f56f955971f834d65b3, but as far as I can tell that 
only relates to /proc/net/route.

Any suggestions on further troubleshooting here?  I'm all out of ideas 
(and since I can't easily reproduce it yet, I can't reboot to a newer 
kernel to see if it goes away)