Re: 6lowpan Support for Raspberry PI 3B+ - CYW43455

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Tue, 15 Sep 2020 at 16:35, Michael Richardson <mcr@xxxxxxxxxxxx> wrote:
>
>
> Achim Kraus <achimkraus@xxxxxxx> wrote:
>     > it seems to be possible for the hardware, but I could not find hints,
>     > that it is working with the software. According
>
>     > https://linux-wpan.org/hardware
>
>     > it's not listed, but the nrf52840 is also not listed (but working with
>     > the openthread setup from nordic).
>
>     > So:
>     > Does someone have tried to use a Raspberry PI 3B+ native CYW43455 for
>     > 6lowpan?
>
> I don't think anyone has done RFC7668
>   _IPv6 over BLUETOOTH(R) Low Energy_
>

I tried to use BT 6LoWPAN and experienced a lot of races there, sadly
nobody is fixing it. I sent a RFC some years ago to tackle these
issues, also that the link-layer address is reconstructed by L3
address and not by a ndisc lookup is very weird. I don't know if this
is fixed or not.  However it was nothing related to the new BT mesh
stuff.

> for any BT device.  I would love to be wrong!!
>
> Running BTLE mesh is something I'd really like to do.
> My guess is that one could probably prototype this in userspace on top of
> bluez, and then use Alex' 6lowpan tap interface.

I did not do the "6lowpan tap" interface, the bluetooth people did
that and I complained about it and I never would accept this upstream.
It basically was working to "map" bluetooth link-layer addresses to an
ethernet interface (remember in Linux world TAP is an ethernet
specific interface only). Then the code was somewhat doing parsing the
ethernet link-layer addresses to feed the bt 6lowpan decompression
algorithm.
This might work until there is any draft which wants more than just
link-layer addresses from L2 header, I think you would agree here?
There are also corner cases that a bluetooth address is not an
ethernet address...

I am not against a "tap like" interface, but then the whole L2 header
needs to feed to a, I name it "generic tap" interface from userspace
(only describe receiving side, it's easier).

I _think_ we also need to have not just L2 headers... all layers below
6LoWPAN adaptation because the compression can use _any_ of this
information. You agree?

However, basically when people talk about TAP/TUN 6lowpan interfaces
my thoughts are:

6LoWPAN TAP:

Ethernet specific, need to be a generic TAP interface to feed all
layers below 6lowpan to kernel space/from kernel space. Ideal would be
that the kernel 6lowpan stack creates/receives all layers below
6lowpan... but then such interface makes no sense because it will
require a kernel stack for all these layers and you want to run these
in user space.
I think about an own header format which describes "6lowpan parameters
for everything to do in layers 6lowpan and above". Each is adaptation
specific, I would like to see a draft about that! It's not the full
info of all layers below, only the one what the upper-layer (6lowpan,
etc) needs.

That is for me the only thing that makes sense for me...

6LoWPAN TUN:

That wording makes no sense, TUN is RAW IPv6, there can't be RAW
6LoWPAN without having information below that, see 6LoWPAN TAP.

- Alex



[Index of Archives]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux