[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <39780a81-8ac8-871b-2176-2102322f9321@gmail.com>
Date: Tue, 16 Jun 2020 21:10:04 -0600
From: David Ahern <dsahern@...il.com>
To: guodeqing <geffrey.guo@...wei.com>, davem@...emloft.net
Cc: kuznet@....inr.ac.ru, netdev@...r.kernel.org,
dsa@...ulusnetworks.com, kuba@...nel.org
Subject: Re: [PATCH] net: Fix the arp error in some cases
On 6/16/20 8:07 PM, guodeqing wrote:
> ie.,
> $ ifconfig eth0 6.6.6.6 netmask 255.255.255.0
>
> $ ip rule add from 6.6.6.6 table 6666
>
> $ ip route add 9.9.9.9 via 6.6.6.6
>
> $ ping -I 6.6.6.6 9.9.9.9
> PING 9.9.9.9 (9.9.9.9) from 6.6.6.6 : 56(84) bytes of data.
>
> 3 packets transmitted, 0 received, 100% packet loss, time 2079ms
>
> $ arp
> Address HWtype HWaddress Flags Mask Iface
> 6.6.6.6 (incomplete) eth0
>
> The arp request address is error, this is because fib_table_lookup in
> fib_check_nh lookup the destnation 9.9.9.9 nexthop, the scope of
> the fib result is RT_SCOPE_LINK,the correct scope is RT_SCOPE_HOST.
> Here I add a check of whether this is RT_TABLE_MAIN to solve this problem.
fib_check_nh* is only used when the route is installed into the FIB to
verify the gateway is legit. It is not used when processing arp
requests. Why then, do you believe this fixes something?
Powered by blists - more mailing lists