Re: [Bluez-devel] Zero length L2CAP packets

Marcel Holtmann
2005-02-10T14:04:48Z

Hi Till,

> while working on the avetana jsr82 implementation we discovered, that the bt
> spec as well as jsr82 allow to transmit zero length l2cap packets. IMHO the
> linux socket interface does not support zero length packets and a read
> returning zero indicates an end of file (in this case meaning that the
> connection has been closed).
>
> What happens if the other side actually sends a zero length packet? Is this
> dropped inside the kernel? Or will read return zero which i'll misinterpret
> as the eof marker? How can i distinguish between eof and a zero length
> packet?

actually I see no problem with zero length L2CAP packets. I modified the
l2test program to actually be able to send and receive them, but there
is no problem at all. This is a socket and not a file and so you might
use poll() or select() to detect the hangup of the connection and not
some weird zero length magic.

The kernel btw is dropping no packets. I see all of these zero packets
flying from one end to the other.

Regards

Marcel