From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752083AbbL1P0s (ORCPT ); Mon, 28 Dec 2015 10:26:48 -0500 Received: from smtp46.i.mail.ru ([94.100.177.106]:32992 "EHLO smtp46.i.mail.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750803AbbL1P0q (ORCPT ); Mon, 28 Dec 2015 10:26:46 -0500 To: Linux kernel From: Stas Sergeev Subject: Q: bad routing table cache entries X-Enigmail-Draft-Status: N1110 Message-ID: <568154B1.3060901@list.ru> Date: Mon, 28 Dec 2015 18:26:41 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Mras: Ok Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello. I was hitting a strange problem when some hosts suddenly stops responding until reboot. ping to these host gives "Destination Host Unreachable". After the initial confusion, I've finally got to ip route get and got something quite strange. Example for GOOD address (the one that I can ping): ip route get 91.189.89.237 91.189.89.237 via 192.168.8.1 dev eth0 src 192.168.10.202 cache Example for BAD address (the one that stopped responding): ip route get 91.189.89.238 91.189.89.238 via 192.168.0.1 dev eth0 src 192.168.10.202 cache Two things differ: the mark appears, and the gateway changed from 192.168.8.1 to 192.168.0.1. Now, 192.168.0.1 is also a valid gateway, but it is outside of the network mask for the eth0 interface: ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:50:43:00:0b:e0 inet addr:192.168.10.202 Bcast:192.168.11.255 Mask:255.255.252.0 As a result, this route simply doesn't work. I checked with tcpdump - the icmp packets do not even go to eth0 - they instead can be captured on lo interface for some reason. So my question is: why does linux allow an invalid redirect entries? Is it a problem with my setup, or some kernel bug, or some router setup problem? Where should I look into, to nail this down?