From: Sheng Yong <shengyong1@huawei.com>
To: Li RongQing <roy.qing.li@gmail.com>, netdev <netdev@vger.kernel.org>
Cc: <kafai@fb.com>
Subject: Re: ICMPv6 too big Packet will makes the network unreachable
Date: Wed, 14 Oct 2015 17:18:32 +0800 [thread overview]
Message-ID: <561E1DE8.6070400@huawei.com> (raw)
In-Reply-To: <CAJFZqHz93RmSp369W508i8zbDmxhohG9n4UfxG1TnSxDPD4B=g@mail.gmail.com>
Hi, Rongqing,
Cced Martin KaFai Lau <kafai@fb.com>
It seems you trigger the problem that I met before, here is the link of disucssion:
http://www.spinics.net/lists/netdev/msg314717.html
You can try these patches to check if they resolve your problem:
7035870d1219 | 2015-05-03 | ipv6: Check RTF_LOCAL on rt->rt6i_flags instead of rt->dst.flags
653437d02f1f | 2015-04-28 | ipv6: Stop /128 route from disappearing after pmtu update
thanks,
Sheng
On 10/13/2015 3:09 PM, Li RongQing wrote:
> 1. Machine with 2001:1b70:82a8:18:650:65:0:2 address, and receive wrong
> icmp packets
> root@du1:~# ifconfig
> eth10.650 Link encap:Ethernet HWaddr 74:c9:9a:a7:e5:88
> inet6 addr: fe80::76c9:9aff:fea7:e588/64 Scope:Link
> inet6 addr: 2001:1b70:82a8:18:650:65:0:2/80 Scope:Global
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:1 errors:0 dropped:0 overruns:0 frame:0
> TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:0
> RX bytes:104 (104.0 B) TX bytes:934 (934.0 B)
>
> 2. ICMPv6 packet is as below.
>
> ###[ Ethernet ]###
> dst = 74:C9:9A:A7:E5:88
> src = ae:4f:44:f2:10:cc
> type = 0x86dd
> ###[ IPv6 ]###
> version = 6
> tc = 0
> fl = 0
> plen = None
> nh = ICMPv6
> hlim = 64
> src = 2001:1b70:82a8:18:650:65:0:4
> dst = 2001:1b70:82a8:18:650:65:0:2
>
> ###[ ICMPv6 Packet Too Big ]###
> type = Packet too big
> code = 0
> cksum = None
> mtu = 1280
>
> ###[ IPv6 ]###
> version = 6
> tc = 0
> fl = 0
> plen = None
> nh = ICMPv6
> hlim = 255
> src = 2001:1b70:82a8:18:650:65:0:2
> dst = 2001:1b70:82a8:18:650:65:0:2
> ###[ ICMPv6 Neighbor Discovery - Neighbor Advertisement ]###
> type = Neighbor Advertisement
> code = 0
> cksum = None
> R = 1
> S = 0
> O = 1
> res = 0x0
> tgt = 2001:1b70:82a8:18:650:65:0:2
>
> ##### Test #####
>
> 3. Send ICMPv6 with Scapy to trigger fault.
>
> conf.iface='eth1'
> eth = Ether(src='ae:4f:44:f2:10:cc', dst='74:C9:9A:A7:E5:88')
> base = IPv6(src='2001:1b70:82a8:18:650:65:0:4',
> dst='2001:1b70:82a8:18:650:65:0:2')
> ptb = ICMPv6PacketTooBig(type=2)
> packet = eth/base/ptb
> ptb_payload_na_base = IPv6(src='2001:1b70:82a8:18:650:65:0:2',
> dst='2001:1b70:82a8:18:650:65:0:2')
> ptb_payload_na = ICMPv6ND_NA(type=136, tgt='2001:1b70:82a8:18:650:65:0:2')
> ptb_payload = ptb_payload_na_base/ptb_payload_na
> packet = packet/ptb_payload
> sendp(packet, iface="eth1.650", count=1)
>
> 4. route information will enter the faulty state after Wait 600 seconds,
>
> root@du1:~# ip route get 2001:1b70:82a8:18:650:65:0:2
> local 2001:1b70:82a8:18:650:65:0:2 dev lo proto none src
> 2001:1b70:82a8:18:650:65:0:2 metric 0 expires 7sec mtu 1280
>
> root@du1:~# ip route get 2001:1b70:82a8:18:650:65:0:2
> local 2001:1b70:82a8:18:650:65:0:2 dev lo proto none src
> 2001:1b70:82a8:18:650:65:0:2 metric 0 expires 3sec mtu 1280
>
> root@du1:~# ip route get 2001:1b70:82a8:18:650:65:0:2
> 2001:1b70:82a8:18:650:65:0:2 dev eth10.650 src
> 2001:1b70:82a8:18:650:65:0:2 metric 0
> cache
> root@du1:~#
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
> .
>
next prev parent reply other threads:[~2015-10-14 9:19 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-13 7:09 ICMPv6 too big Packet will makes the network unreachable Li RongQing
2015-10-13 12:04 ` Hannes Frederic Sowa
2015-10-13 14:26 ` Hannes Frederic Sowa
2015-10-14 6:44 ` Li RongQing
2015-10-14 8:44 ` Hannes Frederic Sowa
2015-10-14 9:18 ` Sheng Yong [this message]
2015-10-14 9:53 ` Li RongQing
2015-10-14 10:58 ` Li RongQing
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=561E1DE8.6070400@huawei.com \
--to=shengyong1@huawei.com \
--cc=kafai@fb.com \
--cc=netdev@vger.kernel.org \
--cc=roy.qing.li@gmail.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.