From owner-cvs-all@FreeBSD.ORG Mon Jun 27 15:31:01 2005 Return-Path: X-Original-To: cvs-all@FreeBSD.org Delivered-To: cvs-all@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C450E16A41C; Mon, 27 Jun 2005 15:31:01 +0000 (GMT) (envelope-from rizzo@icir.org) Received: from xorpc.icir.org (xorpc.icir.org [192.150.187.68]) by mx1.FreeBSD.org (Postfix) with ESMTP id A85CA43D48; Mon, 27 Jun 2005 15:31:01 +0000 (GMT) (envelope-from rizzo@icir.org) Received: from xorpc.icir.org (localhost [127.0.0.1]) by xorpc.icir.org (8.12.11/8.12.11) with ESMTP id j5RFV1dc058475; Mon, 27 Jun 2005 08:31:01 -0700 (PDT) (envelope-from rizzo@xorpc.icir.org) Received: (from rizzo@localhost) by xorpc.icir.org (8.12.11/8.12.3/Submit) id j5RFV1Dn058474; Mon, 27 Jun 2005 08:31:01 -0700 (PDT) (envelope-from rizzo) Date: Mon, 27 Jun 2005 08:31:01 -0700 From: Luigi Rizzo To: Ruslan Ermilov Message-ID: <20050627083101.B56456@xorpc.icir.org> References: <200506270736.j5R7a3OZ036531@repoman.freebsd.org> <20050627152155.GF93072@ip.net.ua> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i In-Reply-To: <20050627152155.GF93072@ip.net.ua>; from ru@FreeBSD.org on Mon, Jun 27, 2005 at 06:21:55PM +0300 Cc: cvs-src@FreeBSD.org, Gleb Smirnoff , cvs-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: cvs commit: src/sys/netinet/libalias alias_ftp.c alias_irc.c alias_local.h alias_proxy.c alias_skinny.c alias_smedia.c alias_util.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jun 2005 15:31:01 -0000 On Mon, Jun 27, 2005 at 06:21:55PM +0300, Ruslan Ermilov wrote: ... > Why can't we just say that checksum offloading is incompatible > with NAT (like with many other things), and do the software > checksum calculations in libalias? actually the more i see it the more i think checksum offloading is a disgrace rather than a performance boost. it needs a lot of special cases throughout the protocol stack to be supported properly, which constitutes extra overhead with low-end hardware which does not support the offloading; it does not pay on small packets such as acks where you have to touch the whole packet anyways; some hardware needs the checksum engine to be reprogrammed when changing protocol type (tcp <-> udp) which require extra I/O cycles on the bus that are expensive; some hardware has broken checksum engines; cheers luigi