Subject: Re: DLT/bpf questions
To: Greg Troxel <gdt@ir.bbn.com>
From: Iain Hibbert <plunky@rya-online.net>
List: tech-kern
Date: 10/05/2005 07:54:44
On Tue, 4 Oct 2005, Greg Troxel wrote:
> So the bluetooth frame arrives and has a type byte first, and then
> addresses beyond that? In that case, it feels to me like the header
> length is 0 and it's all data. Is this the complete on-the-air frame?
> Or is this after some parsing?
This is what comes out of the device (controller). The computer (host) is
completely insulated from on-the-air. This HCI (host-controller-interface)
level contains four packet types, command (h->c) and event (c->h) packets and
acl (data) & sco (audio) which are connection based and encapsulate higher
level protocols.
So yes, I think the header length could be 0, though it could also be 1 since
the type byte is common to all packets.
This is to be a bluetooth protocol stack, in netbt/
The current bluetooth code in NetBSD is only a character device interface to
the hardware. All I have done really, is turn it into a sockets based interface
to this so other protocols can layer on top.
it goes something like:
device ubt bt3c ...
ifnet if_bt
protocol hci
protocol l2cap
protocol rfcomm sdp bnep obex ...
protocol ppp
I have bt3c, if_bt and hci working (there is a [probably more useful] usb
driver for the character device but its waiting until I get a bluetooth
dongle). I'm wanting to insert bpf taps at if_bt level so I can watch what goes
on once I start upstream.
My net access is rather limited until mid month (9600bps @ 15c/min) but once I
get to the wireless zone again I will upgrade my system to -current (from 2.0)
and submit a patch.
iain