From: Tristan Lelong <tristan@lelong.xyz>
To: linux-bluetooth@vger.kernel.org
Subject: BCSP line discipline
Date: Wed, 10 Dec 2014 20:48:36 -0800 [thread overview]
Message-ID: <20141211044836.GA21771@dunderer> (raw)
Hi,
I worked on a BCSP application recently and did a few kernel modification.
I was wondering how valid they were compared to the bluez userland stack, and what could eventually be contributed back.
I already get a few patches that I could cleanup and submit if it makes sense.
1) Implement BCSP link establisment protocol in kernel land.
I was surprised to actually see this in the bluez userland stack while this could be done in the hci_bcsp file along with bcsp ack handling and bcsp retransmittion (there is actually a function that is half implemented for this). Is there a technical reason to keep it userland?
This patch also handle clean reset of the link if a SYNC packet is ever received, resetting the stats, and sending an -EPIPE error to all the socket previously opened on their next read/write/... operation.
2) Add the configurable TX window size option in Kconfig rather than static kernel define. Simple and straight forward, but can be usefull.
3) Add an address to hci devices at init time when doing the hci_alloc_dev. This address is statically generated: 00:XX:54:54:79:XX (TTYX) where X is the tty minor number.
I might be missing something here, but I didn't find a way to assign an address to a HCI device, and this makes it impossible to then use the hci interface.
4) Prevent new HCI socket buffers to be sent in the TX queue if the TX window is full.
This will allow preventing the send of an infinite number of buffers if the BCSP link is stalling.
Let me know your thought about this, and I can work on cleaning up those patches for submission
Thanks
next reply other threads:[~2014-12-11 4:48 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-11 4:48 Tristan Lelong [this message]
2014-12-11 12:50 ` BCSP line discipline Marcel Holtmann
2014-12-12 6:03 ` Tristan Lelong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20141211044836.GA21771@dunderer \
--to=tristan@lelong.xyz \
--cc=linux-bluetooth@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).