Re: [RFC] bt control interface out from debugfs

From: Marcel Holtmann
Date: Tue Sep 28 2021 - 07:05:25 EST


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