Date: Fri, 29 Jul 2005 13:11:57 -0700 From: Maksim Yevmenkin <maksim.yevmenkin@savvis.net> To: oliver.ruiz-dorantes@yellowtab.com Cc: freebsd-bluetooth@freebsd.org Subject: Re: segmented ACLs.. Message-ID: <42EA8D8D.40407@savvis.net> In-Reply-To: <20050729185029.15220.3@@vodafone.es> References: <20050719031223.GA20371@alzatex.com> <42DC75F3.2000802@savvis.net> <20050729092655.GA9887@alzatex.com> <42EA4979.1000507@savvis.net> <20050729185029.15220.3@@vodafone.es>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?42EA8D8D.40407>