Hi Josua,
On 2/28/19 12:00 PM, Josua Mayer wrote:
Ping
Did anyone get a chance to look at this yet?
@Jukka I have added you in CC since this is about both 6lowpan and ble.
Am 08.02.19 um 16:25 schrieb Josua Mayer:
Dear maintainers,
This patch set deals with an issue I reported earlier this year, where
1) packets addressed to a non-link-local address
2) any packets when at least 2 peers are connected
were not delivered if they matched a direct peer i.e. no routing.
The full explanation of the issue including steps to reproduce are:
https://www.spinics.net/lists/linux-bluetooth/msg78486.html
Thank you for submitting these patches! I've been debugging what seems
to be the very same issue.
My setup:
- a Linux-based gateway running a fairly recent kernel (4.18) connected
to my local network (and the internet) via wifi/ethernet.
- several Zephyr(RTOS)-based devices (mostly Nordic) connected via BLE
6lowpan to the gateway
- the gateway provides DNS64 and NAT64 translation, so that the
IPv6-based nodes can communicate with IPv4 services
Much as you describe, everything works flawlessly when only 1 BLE
6lowpan node is connected.
Once a 2nd node is connected, all non-link local communication fails.
Using tcpdump to watch bt0 interface traffic on the gateway: it *looks*
like the packets are being sent back to the various nodes. However, on
the node side those packets are never received. The very second you
bring the 2nd node down so that only 1 node is connected, communication
on non-link local IPs is immediately restored.
NOTE: I can reproduce the same behavior on a 4.20 kernel using my
laptop, so this issue is still valid.
I should be able to apply these patches to my local setup today or
tomorrow, and I'll write back regarding the experience.
Thank you again,
- Mike
Please comment if I am on the right track here, especially on the
second patch in this series where I am nto completely sure if I found
the right api call to the neighbour cache.
Josua Mayer (3):
bluetooth: 6lowpan: search for destination address in all peers
bluetooth: 6lowpan: check neighbour table for SLAAC
bluetooth: 6lowpan: always check destination address
net/bluetooth/6lowpan.c | 40 ++++++++++++++++++++++++----------------
1 file changed, 24 insertions(+), 16 deletions(-)
--
Michael Scott
Embedded Software Engineer at Foundries.io
"microPlatforms™ for Connected Products"
E: mike@xxxxxxxxxxxx
W: https://www.foundries.io