From owner-p4-projects@FreeBSD.ORG Sun Jan 6 22:15:48 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ED9E816A46D; Sun, 6 Jan 2008 22:15:47 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B32E416A46C for ; Sun, 6 Jan 2008 22:15:47 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B592A13C447 for ; Sun, 6 Jan 2008 22:15:47 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m06MFlcR082833 for ; Sun, 6 Jan 2008 22:15:47 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m06MFl2A082830 for perforce@freebsd.org; Sun, 6 Jan 2008 22:15:47 GMT (envelope-from hselasky@FreeBSD.org) Date: Sun, 6 Jan 2008 22:15:47 GMT Message-Id: <200801062215.m06MFl2A082830@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 132646 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jan 2008 22:15:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=132646 Change 132646 by hselasky@hselasky_laptop001 on 2008/01/06 22:15:06 Add new CDC subclass protocol: o UIPROTO_CDC_ETH_512X4 This is the new Accelerated Zero Copy USB Ethernet protocol, which I have created. I would like to have some BSD Network experts to review the protocol before I freeze it. Basically the new USB ethernet protocol works like this: 1. Send fragment length list to peer. 2. Send all fragments accross like separate USB transfers. 3. The peer receives the frament list. 4. The peer builds up an USB chain to receive all the USB packets having one interrupt in the end. In other words: All fragmented IP packets gets defragmented at this point. The protocol supports a maximum of 511 ethernet frames that are split into a maximum of 4 fragments per interrupt. Question: Do we need to support more than 4 fragments per ethernet frame ? Please see coming commits to "if_cdce". Affected files ... .. //depot/projects/usb/src/sys/dev/usb/usb.h#29 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/usb.h#29 (text+ko) ==== @@ -454,6 +454,7 @@ #define UISUBCLASS_ETHERNET_NETWORKING_CONTROL_MODEL 6 #define UISUBCLASS_ATM_NETWORKING_CONTROL_MODEL 7 #define UIPROTO_CDC_AT 1 +#define UIPROTO_CDC_ETH_512X4 0x76 /* FreeBSD specific */ #define UICLASS_HID 0x03 #define UISUBCLASS_BOOT 1