From: "Wei Dong" <weid@np.css.fujitsu.com>
To: "YOSHIFUJI Hideaki / ????" <yoshfuji@linux-ipv6.org>
Cc: <netdev@vger.kernel.org>, <usagi-users@linux-ipv6.org>
Subject: Re: [Patch][IPv6] Fix wrong routing mechanism for Link Local IPv6 packets
Date: Tue, 30 Jan 2007 16:55:12 +0900 [thread overview]
Message-ID: <024b01c74443$f882d590$ccb1220a@ZhaoleiSOTEC> (raw)
In-Reply-To: 20070130.162441.39376131.yoshfuji@linux-ipv6.org
Hello, Mr yoshfuji
Take ping6 for example. Asumming there is a router which has 2 NICs.
eth0 on router has ipv6 addr fe80::20c:29ff:fe24:fa0a, eth1 on router has
ipv6 addr fe80::20c:29ff:fe24:fa14. Also there is a host connected to
router's eth0, and the host's ipv6 addr is fe80::200:ff:fe00:100. We ping6
to router's eth1(ipv6 addr fe80::20c:29ff:fe24:fa14). But now Linux kernel
deals with this kind of packet incorrectly. Router forward the Echo request
to eth0. And send ICMP redirect packet to the host. In ICMP redirect packt
TargetAddress =fe80::20c:29ff:fe24:fa14, DestinationAddress =
fe80::20c:29ff:fe24:fa14. So I think Linux kernel considers that
fe80::200:ff:fe00:100 and fe80::20c:29ff:fe24:fa14 are neighbors.
I dived into the kernel, and found that maybe function rt6_score_route() has
problems. In rt6_score_route(), if rt6_check_dev() return 0, and the dst
ipv6 addr is link local addr, rt6_socre_route() return -1 directly. I think
this is not correct, we should return -1 only if the entry is in the route
cache, and the dst addr is link local addr. Only entries in cache will
select wrong IPv6 Link Local NIC for a link local addr, because they are
copied from static IPv6 fib tables.
----- Original Message -----
> Hello.
>
> In article <1172042666.4512.8.camel@LINE> (at Wed, 21 Feb 2007
> 02:24:26 -0500), weidong <weid@np.css.fujitsu.com> says:
>
>> eth0: fe80::20c:29ff:fe24:fa0a
>> | eth1: fe80::20c:29ff:fe24:fa14
>> | |
>> ------------------------------------------------
>> | |
>> | |
>> | LAN1 |LAN2
>> | |
>> -----
>> ^
>> |
>> Send Echo Request(src addr = fe80::200:ff:fe00:100)
>
> Sorry, I could not understand this figure....
> Would you elaborate this?
>
> --yoshfuji
next prev parent reply other threads:[~2007-01-30 7:55 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-30 7:02 (usagi-users 03778) [Patch][IPv6] Fix wrong routing mechanism for Link Local IPv6 packets weidong
2007-01-30 7:24 ` YOSHIFUJI Hideaki / 吉藤英明
2007-01-30 7:55 ` Wei Dong [this message]
2007-01-30 8:40 ` YOSHIFUJI Hideaki / 吉藤英明
-- strict thread matches above, loose matches on Subject: below --
2007-01-30 7:12 weidong
[not found] <001501c7444d$ed731020$ccb1220a@ZhaoleiSOTEC>
2007-01-30 23:47 ` weidong
[not found] ` <1172069832.2682.18.camel@LINE>
2007-01-31 1:08 ` YOSHIFUJI Hideaki / 吉藤英明
[not found] <001101c744ec$5ee31720$ccb1220a@ZhaoleiSOTEC>
2007-01-31 4:11 ` weidong
2007-01-31 5:09 ` YOSHIFUJI Hideaki / 吉藤英明
2007-01-31 5:14 ` (usagi-users 03788) " YOSHIFUJI Hideaki / 吉藤英明
2007-01-31 5:42 ` (usagi-users 03789) " YOSHIFUJI Hideaki / 吉藤英明
2007-02-05 0:59 ` David Miller
2017-05-16 15:37 Michael Ulmer
2017-05-17 15:39 ` David Miller
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='024b01c74443$f882d590$ccb1220a@ZhaoleiSOTEC' \
--to=weid@np.css.fujitsu.com \
--cc=netdev@vger.kernel.org \
--cc=usagi-users@linux-ipv6.org \
--cc=yoshfuji@linux-ipv6.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