From owner-freebsd-net@FreeBSD.ORG Fri Dec 22 12:59:26 2006 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 00CF916A586; Fri, 22 Dec 2006 12:59:26 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from sj-iport-5.cisco.com (sj-iport-5.cisco.com [171.68.10.87]) by mx1.freebsd.org (Postfix) with ESMTP id CC2D213C45A; Fri, 22 Dec 2006 12:59:25 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from sj-dkim-5.cisco.com ([171.68.10.79]) by sj-iport-5.cisco.com with ESMTP; 22 Dec 2006 04:30:37 -0800 Received: from sj-core-4.cisco.com (sj-core-4.cisco.com [171.68.223.138]) by sj-dkim-5.cisco.com (8.12.11/8.12.11) with ESMTP id kBMCUbC1006306; Fri, 22 Dec 2006 04:30:37 -0800 Received: from xbh-sjc-211.amer.cisco.com (xbh-sjc-211.cisco.com [171.70.151.144]) by sj-core-4.cisco.com (8.12.10/8.12.6) with ESMTP id kBMCUbUH013551; Fri, 22 Dec 2006 04:30:37 -0800 (PST) Received: from xfe-sjc-211.amer.cisco.com ([171.70.151.174]) by xbh-sjc-211.amer.cisco.com with Microsoft SMTPSVC(6.0.3790.1830); Fri, 22 Dec 2006 04:30:37 -0800 Received: from [127.0.0.1] ([171.68.225.134]) by xfe-sjc-211.amer.cisco.com with Microsoft SMTPSVC(6.0.3790.1830); Fri, 22 Dec 2006 04:30:36 -0800 Message-ID: <458BCFB9.6000207@cisco.com> Date: Fri, 22 Dec 2006 07:29:45 -0500 From: Randall Stewart User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20050920 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Fernando Gont References: <5628d8010612160452y5c562757h8ef8ed0776c5525d@mail.gmail.com> <458745F8.4090707@FreeBSD.org> <4587E869.90108@cisco.com> <7.0.1.0.0.20061220030810.0675daa8@gont.com.ar> In-Reply-To: <7.0.1.0.0.20061220030810.0675daa8@gont.com.ar> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 22 Dec 2006 12:30:36.0717 (UTC) FILETIME=[FB8825D0:01C725C4] DKIM-Signature: v=0.5; a=rsa-sha256; q=dns/txt; l=1902; t=1166790637; x=1167654637; c=relaxed/simple; s=sjdkim5002; h=Content-Type:From:Subject:Content-Transfer-Encoding:MIME-Version; d=cisco.com; i=rrs@cisco.com; z=From:=20Randall=20Stewart=20 |Subject:=20Re=3A=20UDP=20lite=20for=20FreeBSD |Sender:=20; bh=1vFm7lVVO4druZ98Jja/GDUmexnGfZDYq4iJPrhXllQ=; b=Gca/FBApTgkq5XZ3KunFkJN+rlDB6JsaWX+W9+1LYGK7mZ3MCL8943MXPu7nbh7apvz+sDL6 TUZGPzzl3yrAWexWPumH1yUOCwgaElpoBtJNGX/lLgomjDKV06HkUYCt; Authentication-Results: sj-dkim-5; header.From=rrs@cisco.com; dkim=pass (sig from cisco.com/sjdkim5002 verified; ); Cc: freebsd-net@freebsd.org, "Bruce M. Simpson" , dave jones Subject: Re: UDP lite for FreeBSD 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: Fri, 22 Dec 2006 12:59:26 -0000 Fernando: comments in-line.. Fernando Gont wrote: > At 10:26 19/12/2006, Randall Stewart wrote: > >> I have always thought of it as a bit of a hack as well... and >> there is one really big problem with it.. It has no value >> unless you can tell your network-interface card to deliver >> damaged packets. I don't know if some cards have this option >> now or not.. nor if an API in any driver exists for it... without this >> you will find very very few packets that are "damaged" that >> do get through.. since generally the link layer checksum >> is a MUCH better CRC vs the very weak IP/UDP checksum :-0 > > > Each check is meant to detect a different type/source of errors. The CRC > is meant to detect burst errors, which are lokely to occur due to, eg, > noise. OTOH, the checksum is meant to detect single bit errors, which > are more likely to occur in the memory of the processing systems. > > There'sa paper by Stone and Partridge (in ACM's CCR) in which they show > errors that, IIRC, were not caught by the CRC, but *were* caught by the > checksum. That is not my point, I am well aware of Jonathan's work (we worked together to change SCTP's checksum).. my point is that the whole idea of the udp-lite is so that damaged packets still will arrive at the codec. The encoders would like ALL damaged packets.. not just the ones corrupted by the intervening routers and hosts. So the solution is not complete without a tweak at layer-2 to get the information. Especially since layer-2 is, in most cases, going to have more errors than layer-3/4. Of course we need to be glad of that since the UDP/TCP checksum will pass (on average) bad data every 1 in 10-million packets... if the link layer were not as good it would pass more than that :-0 R -- Randall Stewart NSSTG - Cisco Systems Inc. 803-345-0369 803-317-4952 (cell)