From: "Guodeqing (A)" <geffrey.guo@huawei.com>
To: David Ahern <dsahern@gmail.com>,
"davem@davemloft.net" <davem@davemloft.net>
Cc: "kuznet@ms2.inr.ac.ru" <kuznet@ms2.inr.ac.ru>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"dsa@cumulusnetworks.com" <dsa@cumulusnetworks.com>,
"kuba@kernel.org" <kuba@kernel.org>
Subject: 答复: [PATCH] net: Fix the arp error in some cases
Date: Wed, 17 Jun 2020 03:38:11 +0000 [thread overview]
Message-ID: <55929b71c9b24aeeba760585fc59497f@huawei.com> (raw)
In-Reply-To: <39780a81-8ac8-871b-2176-2102322f9321@gmail.com>
rt_set_nexthop in __mkroute_output will check the nh->nh_scope value to determine whether to use the gw or not.
if (nh->nh_gw && nh->nh_scope == RT_SCOPE_LINK) {
rt->rt_gateway = nh->nh_gw;
rt->rt_uses_gateway = 1;
}
(ip_route_output_key_hash-> ip_route_output_key_hash_rcu-> __mkroute_output-> rt_set_nexthop)
-----邮件原件-----
发件人: David Ahern [mailto:dsahern@gmail.com]
发送时间: Wednesday, June 17, 2020 11:10
收件人: Guodeqing (A) <geffrey.guo@huawei.com>; davem@davemloft.net
抄送: kuznet@ms2.inr.ac.ru; netdev@vger.kernel.org; dsa@cumulusnetworks.com; kuba@kernel.org
主题: 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?
next prev parent reply other threads:[~2020-06-17 3:38 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-17 2:07 [PATCH] net: Fix the arp error in some cases guodeqing
2020-06-17 3:10 ` David Ahern
2020-06-17 3:38 ` Guodeqing (A) [this message]
2020-06-17 12:44 ` 答复: " David Ahern
-- strict thread matches above, loose matches on Subject: below --
2020-06-13 6:49 guodeqing
2020-06-13 14:31 ` David Ahern
2020-06-15 2:48 ` 答复: " Guodeqing (A)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55929b71c9b24aeeba760585fc59497f@huawei.com \
--to=geffrey.guo@huawei.com \
--cc=davem@davemloft.net \
--cc=dsa@cumulusnetworks.com \
--cc=dsahern@gmail.com \
--cc=kuba@kernel.org \
--cc=kuznet@ms2.inr.ac.ru \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox