xref: /dflybsd-src/sys/netgraph7/bluetooth/l2cap/TODO (revision 86d7f5d305c6adaa56ff4582ece9859d73106103)
186d7f5d3SJohn Marino$Id: TODO,v 1.1 2002/11/24 19:47:06 max Exp $
286d7f5d3SJohn Marino$FreeBSD: src/sys/netgraph/bluetooth/l2cap/TODO,v 1.2 2003/05/10 21:44:41 julian Exp $
386d7f5d3SJohn Marino
486d7f5d3SJohn MarinoFIXME/TODO list
586d7f5d3SJohn Marino
686d7f5d3SJohn Marino0) Ping itself. Should L2CAP layer loopback data?
786d7f5d3SJohn Marino
886d7f5d3SJohn Marino1) Locking/SMP
986d7f5d3SJohn Marino
1086d7f5d3SJohn Marino	External code now uses ng_send_fn to inject data into Netgraph, so
1186d7f5d3SJohn Marino	it should be fine as long as Netgraph is SMP safe. Just need to
1286d7f5d3SJohn Marino	verify it.
1386d7f5d3SJohn Marino
1486d7f5d3SJohn Marino2) Understand and implement L2CAP QoS
1586d7f5d3SJohn Marino
1686d7f5d3SJohn Marino	Will fix later. I only have CSR based hardware and it does not
1786d7f5d3SJohn Marino	support QoS.
1886d7f5d3SJohn Marino
1986d7f5d3SJohn Marino3) Better functions to manage CIDs and command ident's.
2086d7f5d3SJohn Marino
2186d7f5d3SJohn Marino	Resource manager is not good because it uses MTX_DEF mutexes,
2286d7f5d3SJohn Marino	(i.e. could block/sleep)
2386d7f5d3SJohn Marino
2486d7f5d3SJohn Marino4) Implement group channels (multicast)
2586d7f5d3SJohn Marino
2686d7f5d3SJohn Marino	Will fix later
2786d7f5d3SJohn Marino
2886d7f5d3SJohn Marino5) Add bytes/packets counters and commands to get/reset them
2986d7f5d3SJohn Marino
3086d7f5d3SJohn Marino	Will fix later. What to count?
3186d7f5d3SJohn Marino
3286d7f5d3SJohn Marino6) Better way to get information about channels
3386d7f5d3SJohn Marino
3486d7f5d3SJohn Marino	L2CAP can support about 65000 channels. Need define some good way
3586d7f5d3SJohn Marino	to get data from kernel to user space. For example if we need to pass
3686d7f5d3SJohn Marino	1K of information for every channel, then worst case is that we need
3786d7f5d3SJohn Marino	to pass 65Mbytes of data from kernel to user space. Not good.
3886d7f5d3SJohn Marino
3986d7f5d3SJohn Marino7) Deal properly with "shutdown"s and hook "disconnect"s
4086d7f5d3SJohn Marino
4186d7f5d3SJohn Marino	For now we destroy all channels when upstream hook is disconnected.
4286d7f5d3SJohn Marino	Is there a better way to handle this?
4386d7f5d3SJohn Marino
44