zephyr/samples/bluetooth/ipsp
Michael Scott ca6a686495 net: correct in*_addr parameter of net_addr_pton()
Currently, the function accepts a struct sockaddr * but the code
immediately type casts this to either in_addr or in6_addr.  This is
incorrect behavior as the first field in a sockaddr is sa_family_t
and not address data.

So without special knowledge, a developer will use a sockaddr structure
as the parameter and then wonder why the address information isn't being
set correctly.

Let's change this parameter to void * which makes this function similar
to inet_pton().

Jira: ZEP-1616

Change-Id: I1fc9368da999d90feb07c03fac55dcc749d4eba6
Signed-off-by: Michael Scott <michael.scott@linaro.org>
2017-02-03 15:59:13 +02:00
..
src net: correct in*_addr parameter of net_addr_pton() 2017-02-03 15:59:13 +02:00
Makefile samples: tests: remove obsolete KERNEL_TYPE and kernel variables 2016-11-04 15:47:25 -04:00
prj.conf Bluetooth: samples: Use Kconfig DEVICE_NAME variable when possible 2017-01-28 08:43:41 +02:00
README.rst doc: update bluetooth samples with pointers 2017-01-26 20:02:35 +00:00
testcase.ini net: do not skip sanitycheck on samples 2017-01-06 22:08:14 +00:00

Bluetooth: IPSP Sample
######################

Overview
********
Application demonstrating the IPSP (Internet Protocol Support Profile) Node
role. IPSP is the Bluetooth profile that underneath utilizes 6LoWPAN, i.e. gives
you IPv6 connectivity over BLE.

Requirements
************

This application currently only works with HCI based firmware since it
requires L2CAP channels support.

Building and Running
********************

This sample can be found under :file:`samples/bluetooth/ipsp` in the
Zephyr tree.

Testing with a Linux host
=========================

To test IPSP please take a look at samples/net/README, in addition to running
echo-client you must enable 6LowPAN module in Linux with the
following commands:

.. code-block:: console

   $ modprobe bluetooth_6lowpan
   $ echo 1 > /sys/kernel/debug/bluetooth/6lowpan_enable

Then to connect:

.. code-block:: console

   $ echo "connect <bdaddr> <type>" > /sys/kernel/debug/bluetooth/6lowpan_control

Once connected a dedicated interface will be created, usually bt0, which can
then be used as following:

.. code-block:: console

   $ echo-client -i bt0 <ip>