[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <7702f04c-648d-eed1-d6eb-20132012d29f@gmail.com>
Date: Sat, 4 May 2019 20:56:39 -0600
From: David Ahern <dsahern@...il.com>
To: linmiaohe <linmiaohe@...wei.com>, davem@...emloft.net,
kuznet@....inr.ac.ru, yoshfuji@...ux-ipv6.org,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Cc: mousuanming <mousuanming@...wei.com>,
Mingfangsen <mingfangsen@...wei.com>
Subject: Re: [PATCH v2] net: route: Fix vrf dst_entry ref count false
increasing
On 5/4/19 8:11 PM, linmiaohe wrote:
>
>
> On 2019/5/4 22:59, David Ahern wrote:
>> On 5/4/19 7:13 AM, linmiaohe wrote:
>>> From: Suanming.Mou <mousuanming@...wei.com>
>>>
>>> When config ip in default vrf same as the ip in specified
>>> vrf, fib_lookup will return the route from table local
>>> even if the in device is an enslaved l3mdev. Then the
>>
>> you need to move the local rule with a preference of 0 after the l3mdev
>> rule.
>>
>>
>
> Move the local rule after l3mdev rule can get rid of this problem. And
> even if this happend, we can delete the same ip address in default vrf
> to fix it.
> But I think maybe it's still a problem because other rule with default
> vrf out device holds the specified vrf device. It looks unreasonable.
>
> Many Thanks.
>
VRF is implemented using policy routing. If you do not move the local
rule below the l3mdev rule, you are doing a lookup in the local table
first, then vrf table, then main table. Doing the local table first can
result in false hits - like the case of duplicate IP addresses in
default VRF and a VRF. In short, it is just wrong.
Looking at the VRF documentation in the kernel tree I do see such a
comment is missing, but I do mention in all of the VRF tutorials such as
this one (see slide 79):
http://schd.ws/hosted_files/ossna2017/fe/vrf-tutorial-oss.pdf
Powered by blists - more mailing lists