From owner-freebsd-bugs Mon Dec 2 3:50: 7 2002 Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5D4B737B401 for ; Mon, 2 Dec 2002 03:50:05 -0800 (PST) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id E7DEA43E88 for ; Mon, 2 Dec 2002 03:50:04 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.6/8.12.6) with ESMTP id gB2Bo4x3043060 for ; Mon, 2 Dec 2002 03:50:04 -0800 (PST) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.6/8.12.6/Submit) id gB2Bo4jL043059; Mon, 2 Dec 2002 03:50:04 -0800 (PST) Date: Mon, 2 Dec 2002 03:50:04 -0800 (PST) Message-Id: <200212021150.gB2Bo4jL043059@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org Cc: From: Motoyuki Konno Subject: Re: kern/33653: DSL PPPoE connection error on 4.5-PRERELEASE Reply-To: Motoyuki Konno Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org The following reply was made to PR kern/33653; it has been noted by GNATS. From: Motoyuki Konno To: FreeBSD-gnats-submit@freebsd.org Cc: motoyuki@freebsd.org, Ian Dowse Subject: Re: kern/33653: DSL PPPoE connection error on 4.5-PRERELEASE Date: Mon, 02 Dec 2002 20:42:29 +0900 In the previous mail, I forgot to cc: to GNATS DB. Ian Dowse wrote: > Synopsis: DSL PPPoE connection error on 4.5-PRERELEASE > > State-Changed-From-To: open->feedback > State-Changed-By: iedowse > State-Changed-When: Sun Dec 1 13:11:06 PST 2002 > State-Changed-Why: > > Does this problem still occur with more recent releases? > > http://www.freebsd.org/cgi/query-pr.cgi?pr=33653 I'm sorry I've forgotten to write follow-ups. I've examined this problem since I submitted this PR. I think this is IPv6 problem. 1. ppp hangs up at physical_Write() in src/usr.sbin/ppp/physical.c. I found that write() in physical_Write() failed. 2. When write() faied, physical_Write() tries to write following data. ------ 00 21 60 06 62 c2 00 20 06 40 3f fe 05 05 20 22 .!`.b.. .@?... " 00 00 00 00 00 00 00 00 00 01 20 01 02 18 04 99 .......... ..... 00 01 00 00 00 00 00 00 00 02 00 50 0d d5 ac 44 ...........P...D 35 29 44 e3 14 c1 80 11 81 c4 08 fd 00 00 01 01 5)D............. 08 0a 00 1b b3 63 00 30 63 3a 63 2e .....c.0c:c. ------ First 2 bytes (0x00 0x21) tells that this is PPP encapsulated data (RFC 1548). Third byte (0x60) tells that this is IPv6 packet. 3. ppp calculates the size of packet using bit 16-31 of IP header (Total Length field of IPv4 header). bit 16-31 of IPv6 header is "Flow Label", not "Total Length". So, when ppp tries to write IPv6 packet to ppp line, the size of data size must be illegal. 4. How to prevent this problem is: # ip6fw add deny all from any to any via tun* 5. I think the reasons of this problem are: o /usr/sbin/ppp cannot recognize IPv6 packet o kernel sends IPv6 packet to tun* interface which does not have IPv6 address. 6. Now, I'm using FreeBSD 4.7-STABLE. Here is the ip6fw log: -------- Dec 2 10:23:08 mserver /kernel: ip6fw: 2000 Deny P:0 [fe80::02d0:b7ff:fe83:3679] [ff02::0001:ff83:3679] out via tun1 Dec 2 10:23:08 mserver /kernel: ip6fw: 2000 Deny P:0 [fe80::02d0:b7ff:fe83:3679] [ff02::0002:f470:729c] out via tun1 Dec 2 10:23:08 mserver /kernel: ip6fw: 2000 Deny IPV6-ICMP:135.0 [::] [ff02::0001:ff83:3679] out via tun1 -------- It seems that kernel tries to write illegal IPv6 packets to tun* (ppp). -- ------------------------------------------------------------------------ Motoyuki Konno motoyuki@bsdclub.org (Home) motoyuki@FreeBSD.ORG (FreeBSD Project) http://www.freebsd.org/~motoyuki/ (WWW) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message