From owner-freebsd-bluetooth@FreeBSD.ORG Fri Jul 29 20:12:11 2005 Return-Path: X-Original-To: freebsd-bluetooth@freebsd.org Delivered-To: freebsd-bluetooth@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E8F7A16A41F for ; Fri, 29 Jul 2005 20:12:11 +0000 (GMT) (envelope-from Maksim.Yevmenkin@savvis.net) Received: from mailgate1b.savvis.net (mailgate1b.savvis.net [216.91.182.6]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8213B43D46 for ; Fri, 29 Jul 2005 20:12:11 +0000 (GMT) (envelope-from Maksim.Yevmenkin@savvis.net) Received: from localhost (localhost.localdomain [127.0.0.1]) by mailgate1b.savvis.net (Postfix) with ESMTP id E10223C0A5; Fri, 29 Jul 2005 15:12:10 -0500 (CDT) Received: from mailgate1b.savvis.net ([127.0.0.1]) by localhost (mailgate1b.savvis.net [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 10508-01-38; Fri, 29 Jul 2005 15:12:10 -0500 (CDT) Received: from out002.email.savvis.net (out002.apptix.savvis.net [216.91.32.45]) by mailgate1b.savvis.net (Postfix) with ESMTP id B76243BE45; Fri, 29 Jul 2005 15:12:10 -0500 (CDT) Received: from s228130hz1ew171.apptix-01.savvis.net ([10.146.4.29]) by out002.email.savvis.net with Microsoft SMTPSVC(6.0.3790.211); Fri, 29 Jul 2005 15:12:06 -0500 Received: from [10.254.186.111] ([64.14.1.106]) by s228130hz1ew171.apptix-01.savvis.net with Microsoft SMTPSVC(6.0.3790.211); Fri, 29 Jul 2005 15:11:58 -0500 Message-ID: <42EA8D8D.40407@savvis.net> Date: Fri, 29 Jul 2005 13:11:57 -0700 From: Maksim Yevmenkin User-Agent: Mozilla Thunderbird 1.0.2 (X11/20050404) X-Accept-Language: en-us, en MIME-Version: 1.0 To: oliver.ruiz-dorantes@yellowtab.com References: <20050719031223.GA20371@alzatex.com> <42DC75F3.2000802@savvis.net> <20050729092655.GA9887@alzatex.com> <42EA4979.1000507@savvis.net> <20050729185029.15220.3@@vodafone.es> In-Reply-To: <20050729185029.15220.3@@vodafone.es> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 29 Jul 2005 20:11:59.0151 (UTC) FILETIME=[C6761BF0:01C59479] X-Virus-Scanned: amavisd-new at savvis.net Cc: freebsd-bluetooth@freebsd.org Subject: Re: segmented ACLs.. X-BeenThere: freebsd-bluetooth@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Using Bluetooth in FreeBSD environments List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 Jul 2005 20:12:12 -0000 Oliver, > Well i hope to help as much as I am asking but in same file, func: > > ng_l2cap_lp_send() > > As i see is done the creation of the L2CAP packet and its segmentation in ACL > packets. Afterwards they are linked in the connection tx_pkt chain. correct. you are not allowed to mix segments from other packets in bluetooth. basically, once you start sending the segmented acl data packet you must send it all in order. tx_pkt chain is the current l2cap packet that will be sent as segmented acl packet (per ACL connection). > So, Somewhere, a kernel_thread or some entity should check the whole chain > and send it down to the HCI one by one... Where can I find this? you are probably looking for ng_l2cap_lp_deliver(). if tx_pkt is not NULL then we are not allowed to start new transfer and must continue to send ACL packet segments (but only up to max. number of ACL packets device can hold in its buffers). if tx_pkt is NULL then we should get next l2cap command from the queue (per ACL connection), chop it into segments and send it down to hci layer thanks, max