linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC] bt control interface out from debugfs
@ 2021-09-28 10:47 Maxim Uvarov
  2021-09-28 11:05 ` Marcel Holtmann
  0 siblings, 1 reply; 2+ messages in thread
From: Maxim Uvarov @ 2021-09-28 10:47 UTC (permalink / raw)
  To: marcel, johan.hedberg, luiz.dentz, kuba, linux-bluetooth, netdev,
	Linux Kernel Mailing List, Ilias Apalodimas, François Ozog

Hello,

I think we need to move control for BT 6lowpan connection out of
kernel debugfs to user space tools. I.e. use hcitool or iproute2 and
add proper non debug kernel interface for the tools.
I would like to hear about some suggestions on what is the best interface here.

Currently commands to setup connection are:
echo 1 > /sys/kernel/debug/bluetooth/6lowpan_enable
echo "connect 80:E1:26:1B:95:81 1" > /sys/kernel/debug/bluetooth/6lowpan_control

It looks logical to enable 6lowpan inside hcitool. I.e. extend current
AF_BLUETOOTH socket protocol:
dd = socket(AF_BLUETOOTH, SOCK_RAW | SOCK_CLOEXEC, BTPROTO_HCI)
getsockopt(dd, SOL_HCI, HCI_FILTER, ..
add some HCI_6LOWPAN_ENABLE call.
What are your thoughts on that?

Then we have an IP stack on top of the BT layer, and hcitool does not
intend to setup ip connection. iproute2 might be more suitable for
this case. Something like:
ip link connect dev bt0 type bt 80:E1:26:1B:95:81 type local
(type 1- local, 2- public) .

But here is the problem that "ip link connect" is missing in current
tools. And usually we just set up a local connection and connect from
the app using a socket.  With IP over BT connection is different  -
we should be connected before.

If we implement "ip link connect" then it will be possible to reuse it
for all other pear to pear connections like vpn wireguard.

Any thoughts on an interface here?

Links:  kernel: ./net/bluetooth/6lowpan.c line 1283

Best regards,
Maxim.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [RFC] bt control interface out from debugfs
  2021-09-28 10:47 [RFC] bt control interface out from debugfs Maxim Uvarov
@ 2021-09-28 11:05 ` Marcel Holtmann
  0 siblings, 0 replies; 2+ messages in thread
From: Marcel Holtmann @ 2021-09-28 11:05 UTC (permalink / raw)
  To: Maxim Uvarov
  Cc: Johan Hedberg, Luiz Augusto von Dentz, Jakub Kicinski,
	linux-bluetooth, netdev, Linux Kernel Mailing List,
	Ilias Apalodimas, François Ozog

Hi Maxim,

> I think we need to move control for BT 6lowpan connection out of
> kernel debugfs to user space tools. I.e. use hcitool or iproute2 and
> add proper non debug kernel interface for the tools.
> I would like to hear about some suggestions on what is the best interface here.
> 
> Currently commands to setup connection are:
> echo 1 > /sys/kernel/debug/bluetooth/6lowpan_enable
> echo "connect 80:E1:26:1B:95:81 1" > /sys/kernel/debug/bluetooth/6lowpan_control
> 
> It looks logical to enable 6lowpan inside hcitool. I.e. extend current
> AF_BLUETOOTH socket protocol:
> dd = socket(AF_BLUETOOTH, SOCK_RAW | SOCK_CLOEXEC, BTPROTO_HCI)
> getsockopt(dd, SOL_HCI, HCI_FILTER, ..
> add some HCI_6LOWPAN_ENABLE call.
> What are your thoughts on that?

NAK.

> 
> Then we have an IP stack on top of the BT layer, and hcitool does not
> intend to setup ip connection. iproute2 might be more suitable for
> this case. Something like:
> ip link connect dev bt0 type bt 80:E1:26:1B:95:81 type local
> (type 1- local, 2- public) .
> 
> But here is the problem that "ip link connect" is missing in current
> tools. And usually we just set up a local connection and connect from
> the app using a socket.  With IP over BT connection is different  -
> we should be connected before.
> 
> If we implement "ip link connect" then it will be possible to reuse it
> for all other pear to pear connections like vpn wireguard.
> 
> Any thoughts on an interface here?

Sure, give that a spin.

Regards

Marcel


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-09-28 11:05 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-28 10:47 [RFC] bt control interface out from debugfs Maxim Uvarov
2021-09-28 11:05 ` Marcel Holtmann

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).