From owner-freebsd-net@FreeBSD.ORG Tue May 29 04:58:31 2007 Return-Path: X-Original-To: freebsd-net@freebsd.org Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C9A7A16A554 for ; Tue, 29 May 2007 04:58:31 +0000 (UTC) (envelope-from jinmei@isl.rdc.toshiba.co.jp) Received: from shuttle.wide.toshiba.co.jp (shuttle.wide.toshiba.co.jp [202.249.10.124]) by mx1.freebsd.org (Postfix) with ESMTP id 9E54813C4BC for ; Tue, 29 May 2007 04:58:31 +0000 (UTC) (envelope-from jinmei@isl.rdc.toshiba.co.jp) Received: from jmb.local (unknown [IPv6:2001:200:1b1:1010:217:f2ff:fe26:34a0]) by shuttle.wide.toshiba.co.jp (Postfix) with ESMTP id 662187301E; Tue, 29 May 2007 13:58:29 +0900 (JST) Date: Tue, 29 May 2007 13:57:21 +0900 Message-ID: From: JINMEI Tatuya / =?ISO-2022-JP?B?GyRCP0BMQEMjOkgbKEI=?= To: freebsd-net@freebsd.org User-Agent: Wanderlust/2.14.0 (Africa) Emacs/22.0 Mule/5.0 (SAKAKI) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Subject: how ipfw2 handles fragmented packets X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 May 2007 04:58:31 -0000 Hello, I have a question about how the ipfw2 implementation performs stateful operation for (IPv4/IPv6) fragmented packets. Is it possible to make a state for a flow and match that state against fragmented packets? As far as I can see from the source code (sys/netinet/ip_fw2.c) it seems impossible because a state matching done in lookup_dyn_rule_locked() only compares src/dst address/ports. I'm also not sure whether the routine that follows IPv6 extension headers in ipfw_chk() is correct. It continues the processing after seeing a fragment header regardless of the offset value, but it should be meaningless except the first fragment (which has 0 offset). If I miss something, could anyone point it out? Thanks, JINMEI, Tatuya Communication Platform Lab. Corporate R&D Center, Toshiba Corp. jinmei@isl.rdc.toshiba.co.jp