From nobody@FreeBSD.org Sat Aug 11 01:15:55 2007 Return-Path: Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EEF9216A41A for ; Sat, 11 Aug 2007 01:15:55 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21]) by mx1.freebsd.org (Postfix) with ESMTP id E00D613C428 for ; Sat, 11 Aug 2007 01:15:55 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.14.1/8.14.1) with ESMTP id l7B1Fs80063451 for ; Sat, 11 Aug 2007 01:15:54 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.14.1/8.14.1/Submit) id l7B1Fsum063450; Sat, 11 Aug 2007 01:15:54 GMT (envelope-from nobody) Message-Id: <200708110115.l7B1Fsum063450@www.freebsd.org> Date: Sat, 11 Aug 2007 01:15:54 GMT From: Jacek Zapala To: freebsd-gnats-submit@FreeBSD.org Subject: ipv6 pmtu not working X-Send-Pr-Version: www-3.1 X-GNATS-Notify: >Number: 115413 >Category: kern >Synopsis: [ipv6] ipv6 pmtu not working >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-net >State: closed >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sat Aug 11 01:20:02 GMT 2007 >Closed-Date: Fri Aug 24 08:35:33 GMT 2007 >Last-Modified: Fri Aug 24 08:35:33 GMT 2007 >Originator: Jacek Zapala >Release: 6.2 >Organization: >Environment: FreeBSD xxxxx 6.2-RELEASE FreeBSD 6.2-RELEASE #0: Wed Apr 25 13:06:39 CEST 2007 root@xxxxxx:/usr/src/sys/i386/compile/DELL_2950 i386 >Description: IPv6 path MTU discovery does not work. ICMP6 "packet too big" messages arrive, but seem to be ignored (tcp segment with unmodified mtu is retransmitted). Instead, tcp "discarded for bad checksums" counter gets incremented (could be a coincidence?) Checksum for incoming ICMPv6 packet is ok (according to wireshark), checksum of tcp packet included in ICMPv6 message is of course wrong (as not whole original packet fits into 1280 bytes long ICMPv6 message). Interface: bce0: flags=8843 mtu 1500 options=3b Destination address is normal, unicast address (problem was noticed when sendmail could not send mail to some destinations). Reboot didn't help ;-) As a workaround I have set 1280 bytes mtu for default ipv6 route. >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: Responsible-Changed-From-To: freebsd-bugs->freebsd-net Responsible-Changed-By: linimon Responsible-Changed-When: Sat Aug 11 07:31:46 UTC 2007 Responsible-Changed-Why: Over to maintainer(s). http://www.freebsd.org/cgi/query-pr.cgi?pr=115413 From: Jacek Zapala To: bug-followup@FreeBSD.org Cc: Subject: Re: kern/115413: [ipv6] ipv6 pmtu not working Date: Mon, 20 Aug 2007 23:24:06 +0200 Described problem shows only with pf enabled. Of course icmpv6 packet too big is not rejected by filter rules: # pfctl -s rules | fgrep big No ALTQ support in kernel ALTQ related functions disabled pass in quick on bce0 inet6 proto ipv6-icmp from any to 2001:xxxx:yyyy::200 icmp6-type toobig From: Jacek Zapala To: bug-followup@FreeBSD.org Cc: Subject: Re: kern/115413: [ipv6] ipv6 pmtu not working Date: Tue, 21 Aug 2007 12:05:18 +0200 Further debugging: scp from src_addr to dst_addr which pf debug enabled shows pf: BAD ICMP 2:0 some_router -> src_addr state: TCP src_addr[50400] src_addr[50400] dst_addr[22] [lo=2463013638 high=2463020758 win=32844 modulator=0 wscale=1] [lo=2412460872 high=2412526560 win=1278 modulator=0 wscale=3] 4:4 seq=2463010534 State table: self tcp src_addr[50400] -> dst_addr[22] ESTABLISHED:ESTABLISHED State-Changed-From-To: open->closed State-Changed-By: dhartmei State-Changed-When: Fri Aug 24 08:32:46 UTC 2007 State-Changed-Why: problem was with pf (more details in http://marc.info/?t=118681762200001) now fixed (pf.c 1.46, 1.34.2.6) http://www.freebsd.org/cgi/query-pr.cgi?pr=115413 >Unformatted: