Commit Graph

444 Commits

Author SHA1 Message Date
Arkadiusz Lichwa
8f7c8a3969 Bluetooth: buf: Add bt_buf_add_le16() API
Enables directly add 16-bit value at the end of operational buffer.
Value is converted to little-endian format before is appended.
Position of buffer's tail is updated during addition.
Usage of bt_buf_add() call enables monitoring available limited room
in the buffer when CONFIG_BLUETOOTH_DEBUG is on.

Change-Id: Id7ac62cd3b11ef03302e94185a7faae747eccb20
Signed-off-by: Arkadiusz Lichwa <arkadiusz.lichwa@tieto.com>
2016-02-05 20:14:40 -05:00
Johan Hedberg
5bb6b7b238 Bluetooth: buf: Take advantage of bt_buf_tail() helper macro
Change-Id: Ibd9d28e223be2e5299c8ae7e444cb19642bf8bc8
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-02-05 20:14:40 -05:00
Johan Hedberg
2cc87e319e Bluetooth: buf: Use appropriate macro for converting LE to CPU
Change-Id: I0f35c875bd2471d2e2279ae7c0a73a62c08cf080
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-02-05 20:14:40 -05:00
Ravi kumar Veeramally
de67ecb58b net: 15.4: Add support for data Tx/Rx between two qemus
Add support for 802.15.4 dummy radio driver to send frames
through qemu uart and and receive frames through uart. So
two qemus can send and receive 802.15.4 frames.

Change-Id: I325281d04234f7ec07c66bf31691c18a9d7c4d93
Signed-off-by: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
2016-02-05 20:14:40 -05:00
Luiz Augusto von Dentz
e0792a1ba2 Bluetooth: GATT: Add bt_gatt_discover_descriptor
This adds bt_gatt_discover_descriptors which can used to discover all
descriptors in the given range.

Change-Id: Idf93852ef9d8ba3bfce20dc0b95f4e11aa0dc73d
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2016-02-05 20:14:40 -05:00
Mariusz Skamra
b672324c16 Bluetooth: Look up connections only for connectable adv events
If the advertising event type is not connectable, we shouldn't
try to establish connection with this device.

Change-Id: I5be6427858856a6318553ddc0acf53aa2d991b7b
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:14:40 -05:00
Mariusz Skamra
eda6b7c0e4 Bluetooth: Use identity address to look up for connections
If we have IRK stored for device we try to connect to,
it means we should look up bt_conn based on identity address,
not the address from advertising or connection complete event.

Change-Id: Iccbd766acf9a62cfe5e967cf54597854881f37d5
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:14:40 -05:00
Mariusz Skamra
51e4fd4b8d Bluetooth: Rename device_found function
check_pending_conn gives more information about what this function
is actually doing.

Change-Id: Id21580e03bb1c341c7cf3671a666e385738fb3d4
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:14:39 -05:00
Arkadiusz Lichwa
9bf8ad20df Bluetooth: ATT: Check ATT payload len against MTU
During allocation ATT pdu buffer there's possibility to precheck
whether length of such buffer doesn't exceeds ATT MTU.

Change-Id: I7f729e4d7f7474d7f33e417ea61a00ceeb7426c5
Signed-off-by: Arkadiusz Lichwa <arkadiusz.lichwa@tieto.com>
2016-02-05 20:14:39 -05:00
Mariusz Skamra
66cf2511f1 Bluetooth: SMP: Add BT_KEYS_SLAVE_LTK key in bt_smp_distribute_keys
Without this patch, we send LTK Request Negative Reply after reconnection.
It fails in le_ltk_request:

	if (conn->keys && (conn->keys->keys & BT_KEYS_SLAVE_LTK) &&
	    conn->keys->slave_ltk.rand == evt->rand &&
	    conn->keys->slave_ltk.ediv == evt->ediv) {
		bt_hci_cmd_send(BT_HCI_OP_LE_LTK_REQ_REPLY, buf);
	} else {
		bt_hci_cmd_send(BT_HCI_OP_LE_LTK_REQ_NEG_REPLY, buf);
	}

Change-Id: I9b926b7ba01743dcfa79f51650271f6e12cc2ff8
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:14:39 -05:00
Mariusz Skamra
f45bbec4a1 Bluetooth: hci: Add bt_stop_advertising
This adds above function to stop ongoing advertising.

Change-Id: I16b3913524a61e844a81cbe733f2b8e6072ab442
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:14:39 -05:00
Johan Hedberg
d0950676e8 Bluetooth: Add bt_keys_add_type() convenience API
When we already have bt_keys object and want to ensure that it
contains a certain key type it's wasteful to have to go and call
bt_keys_get_type() (because of the extra lookup it'll do).

Change-Id: I97831e6817e734d7e8b6aa18c7917736577f3438
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-02-05 20:14:39 -05:00
Luiz Augusto von Dentz
001d29218a Bluetooth: ATT: Handle Find Info response
This adds function handler for Find Info Response PDU which call the
request callback:

< ACL Data TX: Handle 3585 flags 0x00 dlen 9
      ATT: Find Information Request (0x04) len 4
        Handle range: 0x0010-0x0011
> ACL Data RX: Handle 3585 flags 0x02 dlen 14
      ATT: Find Information Response (0x05) len 9
        Format: UUID-16 (0x01)
        Handle: 0x0010
        UUID: Characteristic (0x2803)
        Handle: 0x0011
        UUID: Heart Rate Control Point (0x2a39)

Change-Id: I981e9efe75f6eb032d9468549272c82720cb133d
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2016-02-05 20:14:39 -05:00
Mariusz Skamra
fcda155262 Bluetooth: SMP: Fix invalid return from smp_pairing_master
With this patch, Identity Information and Identity Address
Information are properly received. There was a bug when
returning too early from smp_pairing_master function
and not setting BT_SMP_CMD_IDENT_INFO bit in allowed_cmds.

bt: bt_smp_recv (0x0010f054): Received SMP code 0x06 len 17
bt: smp_pairing_encrypt (0x0010f054):
bt: bt_smp_recv (0x0010f054): Received SMP code 0x07 len 11
bt: smp_pairing_master (0x0010f054):
bt: bt_smp_recv (0x0010f054): Received SMP code 0x08 len 17
bt: bt_smp_recv: Unexpected SMP code 0x08
bt: bt_smp_recv (0x0010f054): Received SMP code 0x09 len 8
bt: bt_smp_recv: Unexpected SMP code 0x09

The return should be after distributing LTK, EDIV and Rand if
IdKey was not set.

bt: bt_smp_recv (0x0010effc): Received SMP code 0x06 len 17
bt: smp_pairing_encrypt (0x0010effc):
bt: bt_smp_recv (0x0010effc): Received SMP code 0x07 len 11
bt: smp_pairing_master (0x0010effc):
bt: bt_smp_recv (0x0010effc): Received SMP code 0x08 len 17
bt: smp_ident_info (0x0010effc):
bt: bt_smp_recv (0x0010effc): Received SMP code 0x09 len 8
bt: smp_ident_addr_info (0x0010effc):
bt: smp_ident_addr_info (0x0010effc): identity 88:63:DF:88:0E:83 (public)
bt: bt_smp_disconnected (0x0010effc): conn 0x0010badc handle 64

Change-Id: Ic98cf6fd6ad2f7e41c6cd506d39fc9a9571a491f
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:14:39 -05:00
Johan Hedberg
47cb69458a Bluetooth: Remove unnecessary 'err' variable from bt_connect_le()
Instead of caring about stop_scanning() failure it's better to have
bt_connect_le() do "best effort" and simply try to continue in this
case.

Change-Id: I14896a4dfbe0bfd2564a190080743f0c9b05d174
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-02-05 20:14:39 -05:00
Johan Hedberg
7d8e97c9a1 Bluetooth: Fix potential bt_conn leaks
There's no need to check for BT_CONN_CONNECTED for these HCI events or
ACL data. Even if the connection is being disconnected the stack will
do the right thing when the disconnect_complete event occurs.
Furthermore, these branches were actually leaking the bt_conn if the
state wasn't connected after being looked up.

Change-Id: I2e22d67cb43a86e742663a896e853de02fe9e325
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-02-05 20:14:39 -05:00
Johan Hedberg
636415212a Bluetooth: Fix various coding style issues
Change-Id: Iffcc0db1dca5eba16ce10039d918175e72ac8f2f
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-02-05 20:14:39 -05:00
Johan Hedberg
5ed9cb7b5b Bluetooth: Clean up bt_conn reference counting
Make the reference counting of bt_conn clearer by having the reference
taken by the first state transition and released by the last state
transition handled in the bt_conn_set_state() function.

Change-Id: Iee04758fcc7f770e6ccfd351f33be60e7d646f19
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-02-05 20:14:39 -05:00
Johan Hedberg
1732e81c58 Bluetooth: SMP: Rename PDU handlers for consistency
Change-Id: Ifb7489b0c0631c0ce4285da97ef09bc2db3200f9
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-02-05 20:14:39 -05:00
Luiz Augusto von Dentz
8ee4a9e93d Bluetooth: GATT: Simplify handling of Read Multiple Request
This process handle by handle instead of first parsing the full PDU
storing the result in another variable to only then process the handles.

Change-Id: I5b6d5d7db4a78a03b34bc1c7e5217bbcd7f4c96b
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2016-02-05 20:14:36 -05:00
Luiz Augusto von Dentz
e24f6684cb Bluetooth: ATT: Use BT_ASSERT to check context
Check conn->att context at bt_att_recv and log an error.

Change-Id: Id49e941bdf55529b517b6962fe0d401bd9295c38
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2016-02-05 20:14:36 -05:00
Johan Hedberg
3303864d3b Bluetooth: Fix inverted assert conditions in buf.c
Change-Id: Idd858ba3a3bf779e6b8084b61459ee5c9347094b
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-02-05 20:14:36 -05:00
Johan Hedberg
d87232b2a1 Bluetooth: att: Fix minor coding style issues
Change-Id: I36019a726187363e41ab72d9a26b2b8ae5c7f4bb
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-02-05 20:14:36 -05:00
Johan Hedberg
9a52d396da Bluetooth: Take advantage of BT_ASSERT() macro
Change-Id: I0795820169c437e4348a9ab54c1184233067d5e9
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-02-05 20:14:36 -05:00
Luiz Augusto von Dentz
df92f7c4c6 Bluetooth: GATT: Add bt_gatt_discover_characteritic
This adds bt_gatt_discover_characteristic which can used to discover all
characteristics in the given range.

Change-Id: Ia7ddb93dfdb0f979409e133c902a1cbd9ae9fe71
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2016-02-05 20:14:36 -05:00
Luiz Augusto von Dentz
330846b39a Bluetooth: ATT: Handle Read By Type response
This adds function handler for Read By Type Response PDU which call the
request callback:

> ACL Data TX: Handle 3585 flags 0x00 dlen 11
      ATT: Read By Type Request (0x08) len 6
        Handle range: 0x0010-0x0011
        Attribute type: Characteristic (0x2803)
> ACL Data RX: Handle 3585 flags 0x02 dlen 13
      ATT: Read By Type Response (0x09) len 8
        Attribute data length: 7
        Attribute data list: 1 entry
        Handle: 0x0010
        Value: 081100392a
< ACL Data TX: Handle 3585 flags 0x00 dlen 11
      ATT: Read By Type Request (0x08) len 6
        Handle range: 0x0011-0x0011
        Attribute type: Characteristic (0x2803)
> ACL Data RX: Handle 3585 flags 0x02 dlen 9
      ATT: Error Response (0x01) len 4
        Read By Type Request (0x08)
        Handle: 0x0011
        Error: Attribute Not Found (0x0a)

Change-Id: Ieba837f603b7d76a4adf95cd637b8423061246f7
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2016-02-05 20:14:36 -05:00
Luiz Augusto von Dentz
cfb12dbb61 Bluetooth: GATT: Fix not always calling discover destroy callback
If the function callback returns BT_GATT_ITER_STOP it should cause
the destroy callback to be called to indicate the discover is no longer
active.

Change-Id: Ifc35c375633e38483b2b4bace2c26bab7f02dcb6
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2016-02-05 20:14:36 -05:00
Jukka Rissanen
bbe73173bb net: Use 2001:db8::/32 address space for sample apps
Instead of aaaa::/64 address space which is part of global
IPv6 address space, use the 2001:db8::/32 which is meant
for documentation purposes and is not routable.

Change-Id: I56db34da852f8c313379c764bdf75a19151c45bd
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2016-02-05 20:14:36 -05:00
Mariusz Skamra
105624a4a0 Bluetooth: Remove empty line
Change-Id: If17c18e8b970c568b0a46405c1f6b36073d5e565
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:14:36 -05:00
Mariusz Skamra
e6d8bc3a59 Bluetooth: Use duplicate filtering policy in passive scanning
To limit the device_found function calls, passive scanning can
take advantage of Filter_Duplicates feature. For now, the stack
will be informed only if some new device will be found.

This solution requires a check if scan filter is used while adding
new address to connect to (bt_connect_le). If filter duplicates
is used (by active scan or passive scan), the scan should be
restarted to refresh scan results.

Change-Id: Ibf539e648288fdcd7a8119ec364cff2c97e4aab8
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:14:36 -05:00
Szymon Janc
0d7739f389 Bluetooth: Add support for enabling security as slave
As slave send Security Request for master to initiate security.

> HCI Event: LE Meta Event (0x3e) plen 19             [hci0] 569.228544
      LE Connection Complete (0x01)
        Status: Success (0x00)
        Handle: 64
        Role: Slave (0x01)
        Peer address type: Public (0x00)
        Peer address: 00:1B:DC:07:32:7E (Vencer Co., Ltd.)
        Connection interval: 70.00 msec (0x0038)
        Connection latency: 0.00 msec (0x0000)
        Supervision timeout: 420 msec (0x002a)
        Master clock accuracy: 0x01
.....

< ACL Data TX: Handle 64 flags 0x00 dlen 6            [hci0] 600.801709
      SMP: Security Request (0x0b) len 1
        Authentication requirement: Bonding, No MITM, Legacy,
          No Keypresses (0x01)
> ACL Data RX: Handle 64 flags 0x02 dlen 11           [hci0] 600.930641
      SMP: Pairing Request (0x01) len 6
        IO capability: DisplayYesNo (0x01)
        OOB data: Authentication data not present (0x00)
        Authentication requirement: Bonding, No MITM, Legacy,
          No Keypresses (0x01)
        Max encryption key size: 16
        Initiator key distribution: EncKey Sign (0x05)
        Responder key distribution: EncKey IdKey Sign (0x07)

Change-Id: I201cb99d7cbcf3115bc8a5e2968108034ab9189c
Signed-off-by: Szymon Janc <szymon.janc@tieto.com>
2016-02-05 20:14:35 -05:00
Szymon Janc
59e78e4d41 Bluetooth: SMP: Add support for sending security request
This allows to request sequrity as a slave.

Change-Id: Ieab15c2ab20403a5a22b13a331405276a7d4074f
Signed-off-by: Szymon Janc <szymon.janc@tieto.com>
2016-02-05 20:14:35 -05:00
Mariusz Skamra
8beeb0f3d3 Bluetooth: SMP: Fix smp_send_pairing_req function name
Prefix smp_send_pairing_req with bt_* to maintain proper
namespace in API.

Change-Id: Ia1f0d1291c5298034b9f1312b0d5a94aaa099cd0
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:14:35 -05:00
Jukka Rissanen
ea970e2ce1 net: Change the remaining doxygen comments to javadoc style
Change-Id: I942558ca9e4c140145de6e4a1bcebf8d9d16f3d2
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2016-02-05 20:14:35 -05:00
Jukka Rissanen
f48fb5f3ec net: tools: Add IPv4 support for echo-client tool
The IPv4 support is activated automatically if the IP address
parameter is a real IPv4 address.

Change-Id: Ief7b2a216a143416b5eec095cd6f813729a40b92
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2016-02-05 20:14:35 -05:00
Jukka Rissanen
9a59d70cf5 net: tools: Add tunslip application for IPv4
The tunslip program will setup the tun device for IPv4 traffic.

Change-Id: I1192a704f691e17016e187167dfca09df00b974f
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2016-02-05 20:14:35 -05:00
Jukka Rissanen
f2886e2af3 net: uip: Traverse only through valid UDP connections
The uip.c:uip_process() was not checking the upper bound of
the UDP connection list when traversing the connection list.
Now the code checks the upper bound of the array (UIP_UDP_CONNS)
and will not go beyond the max number of items in the array.

This commit fixes the IPv4 branch, the IPv6 branch was already
fixed by commit 07a5959c2ae9ffce27092c2a0a6161111facdb6c

Change-Id: I5c31176190e0f063b72d6742c4a9c23b433026ad
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2016-02-05 20:14:35 -05:00
Jukka Rissanen
e6020d1701 net: uip: Initial IPv4 support
Enabling IPv4 support and modifying code so that it compiles ok.

Change-Id: I605cd94adfda7675be2f2cf798588c69eb1f152e
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2016-02-05 20:14:35 -05:00
Jukka Rissanen
7d743ce57b net: uip: Remove obsolete file
The declarations in this header file are already provided by
other header files so this file can be removed.

Change-Id: I63cd99ed201af7bebb14943bf965dafd11be14fe
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
2016-02-05 20:14:35 -05:00
Johan Hedberg
d7ccefd0bd Bluetooth: Fix doxygen comment style
Change-Id: I37b85e83b54f7efb8aded70ec95fd87cafaf7e2b
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-02-05 20:14:35 -05:00
Mariusz Skamra
3fcf60a6e6 Bluetooth: Fix sending dummy buffer to kill invalid tx fiber
This fix prevents from sending dummy buffer to kill tx fiber
if this fiber didn't started.

Tx fiber is started during transition from BT_CONN_CONNECT state
(for outgoing connections) or BT_CONN_DISCONNECTED (incoming)
to BT_CONN_CONNECTED state.
So the only states that have tx fiber running are BT_CONN_CONNECTED
and BT_CONN_DISCONNECT and only transitions from these states
should be taken into account.

Change-Id: I558c937812368b0bd305f6c9935cced565c70606
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:14:35 -05:00
Luiz Augusto von Dentz
4c640515c7 Bluetooth: GATT: Add bt_gatt_discover
bt_gatt_discover can be used to discover primary GATT service by UUID in
a selected handle range, after it attribute found the function callback
is called so the user can interact the attribute found and decide to
continue to the next or stop.

Change-Id: I37514f00c82ce5520d7a14757a6ff12ee34f0736
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2016-02-05 20:14:35 -05:00
Luiz Augusto von Dentz
df0cc2697d Bluetooth: ATT: Handle Find By Type response
This adds function handler for Find By Type Response PDU which call the
request callback:

< ACL Data TX: Handle 3585 flags 0x00 dlen 13
      ATT: Find By Type Value Request (0x06) len 8
        Handle range: 0x000a-0xffff
        Attribute type: Primary Service (0x2800)
          UUID: Heart Rate (0x180d)
> ACL Data RX: Handle 3585 flags 0x02 dlen 9
      ATT: Find By Type Value Response (0x07) len 4
        Handle range: 0x000a-0x0011
< ACL Data TX: Handle 3585 flags 0x00 dlen 13
      ATT: Find By Type Value Request (0x06) len 8
        Handle range: 0x0011-0xffff
        Attribute type: Primary Service (0x2800)
          UUID: Heart Rate (0x180d)
> ACL Data RX: Handle 3585 flags 0x02 dlen 9
      ATT: Error Response (0x01) len 4
        Find By Type Value Request (0x06)
        Handle: 0x0011
        Error: Attribute Not Found (0x0a)

Change-Id: Ib5799d0530c8de40b7c7170f1b32312a42456484
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2016-02-05 20:14:35 -05:00
Luiz Augusto von Dentz
f6f64c2cda Bluetooth: ATT: Fix missing new line in BT_DBG
Change-Id: I1a9643e3d5d22cfc23baa0ebf2e5722777eaf213
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2016-02-05 20:14:35 -05:00
Mariusz Skamra
f4d142e861 Bluetooth: Remove not needed code
This check is already made in bt_start_scanning and is valid only
when task wants to enable active scanning when it's already enabled.

Change-Id: Ic8843d51d4c91a533250d8ddb4139814015f7aa4
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:14:35 -05:00
Mariusz Skamra
8ce5eda9bd Bluetooth: Move scan_enable check to trigger_scan()
bt_hci_start_scanning is called from API's bt_start_scanning to enable
active scanning and from trigger_scan to enable passive/active scan.

bt_start_scanning have already this check, it stops passive scanning
if enabled and then starts active scan.

So "if (dev.scan_enable)" check can be moved to trigger_scan to avoid
unnecessary checks.

Change-Id: I5eaa4bb5c611418b8519b0dda680f59a3a9332fc
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:14:35 -05:00
Mariusz Skamra
d699296a45 Bluetooth: Add passive scanning support
Part of General Connection Establishment Procedure.

Active scanning is enabled by task and has higher priority than
passive scan. If passive scan is running and task wants to enable
scan (active) scanning will be restarted in active mode. Passive
scan is enabled implitly while app calls bt_connect_le.
Instead of directly call hci_le_create_conn, it is called from
device_found if addr obtained from advertisement matches address
we want to connect. App calling bt_stop_scanning can only stop
active scan.

Change-Id: I01805c51f3d821bbd827af75e5d1d4350169241d
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:14:35 -05:00
Mariusz Skamra
911b91d82e Bluetooth: Move start_scanning stop_scanning and le_create_conn
Move bt_hci_start_scanning, bt_hci_stop_scanning and hci_le_create_conn.
It's needed to avoid a forward declaration in a subsequent patch.

Change-Id: I0ee048ca6e8add6a481ac4fdc8a8e2cbdf4f007c
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:14:35 -05:00
Mariusz Skamra
7ec1617b9f Bluetooth: Introduce BT_CONN_CONNECT_SCAN state
This state will be used for connection establishment during passive scan.
This additional state is necessary, because only one connection can be
in BT_CONN_CONNECT state (LE Create Connection has been sent).
It's because the LE Create Connection Cancel looks for connection in this
state (we cannot look by address, if some controllers respond with
LE Create Connection with address set to 00:00:00:00:00:00).

If connection is BT_CONN_CONNECT_SCAN state it means that we wait for
an advertisement from remote to send LE Create Connection and then we
can change the bt_conn state to BT_CONN_CONNECT.

Change-Id: I48b0352fe08e438f7bfbb1dd12de3d1719f994d8
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
2016-02-05 20:14:35 -05:00
Ravi kumar Veeramally
5d2e81c8ab net: Copy mac address to uip_lladdr
uip_lladdr is global variable which is used to generate link
local address based on mac address. Right now it is empty.

Change-Id: I89bf7ac4c7770858044ef0c4f3d667e9316c4269
Signed-off-by: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
2016-02-05 20:14:35 -05:00