Thread (7 messages) flat view 7 messages, 3 authors, 2015-10-27

Re: Missing IPv4 routes

From: Alexander Duyck <hidden>
Date: 2015-10-23 22:32:26

On 10/23/2015 02:34 PM, Brian Rak wrote:
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
The use of 'x' here is going to make things confusing.  I assume you are 
using a value of 0 here, or is this a route to a specific IP address 
that you have.  If not you should be using a 0 for all bits that would 
be outside of your subnet mask.
# ip route get 108.61.171.x
108.61.171.x dev MYIF
     cache
The 'x' being the actual value here should work as this will perform a 
lookup as I recall.
# cat /proc/net/route | grep 108.61.171.x
The IPs are in network order and as just hex so this won't work.
# cat /proc/net/route  | grep -i 6c3dac
The byte ordering you are using is backwards here from what I can tell. 
  So it should be ac3d6c you are checking for, not the other way around. 
  So for example if I was using 192.168.1.x I would want to look for 01A8C0.
# 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
So at least we have the routes in the FIB.  It looks like this just 
might be a display issue.
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)
How many routes do you have on your system?  I'm just wondering if it 
might be possible that the route could be at a boundary for the dump 
call and if it might be possibly losing the data there.  Although I 
would expect

Also have you tried double checking to verify that grep isn't somehow 
missing the line?

- Alex
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help