From owner-freebsd-bugs@freebsd.org Mon Apr 26 20:28:10 2021 Return-Path: Delivered-To: freebsd-bugs@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0F85A5EF959 for ; Mon, 26 Apr 2021 20:28:10 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mailman.nyi.freebsd.org (unknown [127.0.1.3]) by mx1.freebsd.org (Postfix) with ESMTP id 4FTc0T6pgFz4Y2h for ; Mon, 26 Apr 2021 20:28:09 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: by mailman.nyi.freebsd.org (Postfix) id E80595EF957; Mon, 26 Apr 2021 20:28:09 +0000 (UTC) Delivered-To: bugs@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E7CD35EF678 for ; Mon, 26 Apr 2021 20:28:09 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4FTc0T68MXz4YJT for ; Mon, 26 Apr 2021 20:28:09 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2610:1c1:1:606c::50:1d]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C219D5F1B for ; Mon, 26 Apr 2021 20:28:09 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org ([127.0.1.5]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id 13QKS99P032683 for ; Mon, 26 Apr 2021 20:28:09 GMT (envelope-from bugzilla-noreply@freebsd.org) Received: (from www@localhost) by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id 13QKS98d032682 for bugs@FreeBSD.org; Mon, 26 Apr 2021 20:28:09 GMT (envelope-from bugzilla-noreply@freebsd.org) X-Authentication-Warning: kenobi.freebsd.org: www set sender to bugzilla-noreply@freebsd.org using -f From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 255432] pf fragment reassembly leads to invalid IP checksum since 13.0-RELEASE Date: Mon, 26 Apr 2021 20:28:10 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: kern X-Bugzilla-Version: 13.0-RELEASE X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Some People X-Bugzilla-Who: topical@gmx.net X-Bugzilla-Status: New X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: bugs@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Apr 2021 20:28:10 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D255432 --- Comment #3 from topical --- Executing ping -4 -s 2000 ns1 Captured with tshark -V -ni vtnet0 -o ip.check_checksum:TRUE On sender (mtu 1500): Frame 1: 1514 bytes on wire (12112 bits), 1514 bytes captured (12112 bits) = on interface vtnet0, id 0 Internet Protocol Version 4, Src: 10.1.11.2, Dst: 10.1.2.5 0100 .... =3D Version: 4 .... 0101 =3D Header Length: 20 bytes (5) Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT) 0000 00.. =3D Differentiated Services Codepoint: Default (0) .... ..00 =3D Explicit Congestion Notification: Not ECN-Capable Tra= nsport (0) Total Length: 1500 Identification: 0x7bed (31725) Flags: 0x20, More fragments 0... .... =3D Reserved bit: Not set .0.. .... =3D Don't fragment: Not set ..1. .... =3D More fragments: Set Fragment Offset: 0 Time to Live: 64 Protocol: ICMP (1) Header Checksum: 0xb82b [correct] [Header checksum status: Good] [Calculated Checksum: 0xb82b] Source Address: 10.1.11.2 Destination Address: 10.1.2.5 Data (1480 bytes) Data: 0800f36266e6000000101623267d28ee08090a0b0c0d0e0f101112131415161718191a1b=E2= =80=A6 [Length: 1480] Frame 2: 562 bytes on wire (4496 bits), 562 bytes captured (4496 bits) on interface vtnet0, id 0 Internet Protocol Version 4, Src: 10.1.11.2, Dst: 10.1.2.5 0100 .... =3D Version: 4 .... 0101 =3D Header Length: 20 bytes (5) Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT) 0000 00.. =3D Differentiated Services Codepoint: Default (0) .... ..00 =3D Explicit Congestion Notification: Not ECN-Capable Tra= nsport (0) Total Length: 548 Identification: 0x7bed (31725) Flags: 0x00 0... .... =3D Reserved bit: Not set .0.. .... =3D Don't fragment: Not set ..0. .... =3D More fragments: Not set Fragment Offset: 1480 Time to Live: 64 Protocol: ICMP (1) Header Checksum: 0xdb2a [correct] [Header checksum status: Good] [Calculated Checksum: 0xdb2a] Source Address: 10.1.11.2 Destination Address: 10.1.2.5 [2 IPv4 Fragments (2008 bytes): #1(1480), #2(528)] [Frame: 1, payload: 0-1479 (1480 bytes)] [Frame: 2, payload: 1480-2007 (528 bytes)] [Fragment count: 2] [Reassembled IPv4 length: 2008] [Reassembled IPv4 data: 0800f36266e6000000101623267d28ee08090a0b0c0d0e0f101112131415161718191a1b=E2= =80=A6] Internet Control Message Protocol Type: 8 (Echo (ping) request) Code: 0 Checksum: 0xf362 [correct] [Checksum Status: Good] Identifier (BE): 26342 (0x66e6) Identifier (LE): 58982 (0xe666) Sequence Number (BE): 0 (0x0000) Sequence Number (LE): 0 (0x0000) Data (2000 bytes) Data: 00101623267d28ee08090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223=E2= =80=A6 [Length: 2000] On receiver (mtu 9000): Frame 1: 2042 bytes on wire (16336 bits), 2042 bytes captured (16336 bits) = on interface e0a_ns1, id 0 Internet Protocol Version 4, Src: 10.1.11.2, Dst: 10.1.2.5 0100 .... =3D Version: 4 .... 0101 =3D Header Length: 20 bytes (5) Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT) 0000 00.. =3D Differentiated Services Codepoint: Default (0) .... ..00 =3D Explicit Congestion Notification: Not ECN-Capable Tra= nsport (0) Total Length: 2028 Identification: 0x7bed (31725) Flags: 0x00 0... .... =3D Reserved bit: Not set .0.. .... =3D Don't fragment: Not set ..0. .... =3D More fragments: Not set Fragment Offset: 0 Time to Live: 63 Protocol: ICMP (1) Header Checksum: 0xb92b incorrect, should be 0xd71b(may be caused by "IP checksum offload"?) [Expert Info (Error/Checksum): Bad checksum [should be 0xd71b]] [Bad checksum [should be 0xd71b]] [Severity level: Error] [Group: Checksum] [Header checksum status: Bad] [Calculated Checksum: 0xd71b] Source Address: 10.1.11.2 Destination Address: 10.1.2.5 Internet Control Message Protocol Type: 8 (Echo (ping) request) Code: 0 Checksum: 0xf362 [correct] [Checksum Status: Good] Identifier (BE): 26342 (0x66e6) Identifier (LE): 58982 (0xe666) Sequence Number (BE): 0 (0x0000) Sequence Number (LE): 0 (0x0000) Data (2000 bytes) Data: 00101623267d28ee08090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223=E2= =80=A6 [Length: 2000] You see: packet is reassembled and IP checksum is broken. Interestingly, if I increase packets size to 20000 (i.e. it needs to be fragmented again), checksum is correct. --=20 You are receiving this mail because: You are the assignee for the bug.=