Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933091AbbHKUwc (ORCPT ); Tue, 11 Aug 2015 16:52:32 -0400 Received: from mail-pa0-f46.google.com ([209.85.220.46]:32927 "EHLO mail-pa0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933031AbbHKUwa (ORCPT ); Tue, 11 Aug 2015 16:52:30 -0400 Subject: Re: [BUG] net/ipv4: inconsistent routing table To: Hannes Frederic Sowa , Zang MingJie References: <55C1D207.3040905@iogearbox.net> <55C24BAE.7090702@gmail.com> <55C3B8C8.9030507@redhat.com> <55C4D803.3090108@redhat.com> <878u9njaon.fsf@stressinduktion.org> <878u9jijuc.fsf@stressinduktion.org> <87y4hjgy6p.fsf@stressinduktion.org> Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org From: Alexander Duyck Message-ID: <55CA608B.1070302@gmail.com> Date: Tue, 11 Aug 2015 13:52:27 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 MIME-Version: 1.0 In-Reply-To: <87y4hjgy6p.fsf@stressinduktion.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1767 Lines: 43 On 08/10/2015 04:50 AM, Hannes Frederic Sowa wrote: > Hello, > > Zang MingJie writes: > >> Here comes several options: >> >> 1. reject local next hop w/ EINVAL >> 2. delete route when local next hop removed > Will also cause some people to complain. > >> 3. transition between RT_SCOPE_HOST amd RT_SCOPE_LINK > I don't understand the scope transition. I know Alex mentioned it for > the first time. Maybe he can explain? If I am not mistaken part of the issue in terms of the behaviour being seen is due to the fact that the nexthop scope is recorded only when the route is added, and there is code in place in rt_set_nexthop which will only use the gateway if the scope is RT_SCOPE_LINK. So what we would probably need to do is go through and audit any routes on a given interface every time an address is added or removed and if the nh_gw is equal to the address added or removed would would need to transition between RT_SCOPE_LINK and RT_SCOPE_HOST since the gateway is transitioning between the local system and somewhere on the other side of the link. The problem is that this would still be a behaviour change and there may be somebody that has heartburn about it. >> 4. document it > I prefer that one :) Yeah, me too. The fact is things have worked this way up until now and I suspect the reason why this hasn't been reported until now is simply because in many cases it works since routes are usually updated if you are moving the gateway onto the local system. - Alex -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/