The code used wrong IPv6 address pointer for UDP registration.
This caused the packet sending to fail because the generated
IPv6 address was bogus and not routable.
Change-Id: I933d6920c6455b271e775f5cbe15afdaa948abae
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
We cannot use stack variable for local address as the address
needs to point to static memory. So change the type of the laddr
to be static. This is not a problem here as there is only one
local address defined anyway in the system.
Change-Id: Ie8763f761eea08997f0984394984050be946ae18
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
We need to reset the slip receive buffer pointers if we cannot
process the incoming message. If this is not done the rxbuf
will overflow and overwrite core kernel data.
Change-Id: If6a96177a3de57148268e48940fbc33d2e08b36a
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Add macros that check that we are not trying to use already
freed net_buf and vice versa.
Change-Id: Ifdb6a7e24cd6d7a0de46fa7b991c358ea8828d6f
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Making sure we do not include anything unless they
are inside include guard.
Change-Id: Ie88cbc0ed6dbbf4033f3c8c310df7d084ab8b126
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
This client sends pre-defined UDP data to server, reads back
the reply and verifies that the data is the same.
This test application is only usable when running in Linux
host and it is not meant to be run inside Zephyr.
Change-Id: I6df83f3a5b1ab92c724b4d3c245738eb5c56a91f
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
The echo server is listening on port 4242 and when it receives
UDP packet, it will reverse the data and send it back to the
caller. This can be used to verify that the IP stack is doing
something useful.
Change-Id: Ibbc48c21f2513d59480c5a3bb34c775eb3df8170
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
This slip driver is needed for sending packets outside of qemu.
Change-Id: Ifc37181094ddebce08d97ae889f3a58c03d01ae1
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
We need to use correct IPv6 address when registering UDP
socket.
Change-Id: I38f55bc16f72a71cb8cd58d20b3288be2f4cd475
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
The net_reply() can be used if the application wants to reply
something to peer right after receiving the data. The function
will reverse the source and destination addresses and ports,
and set the uIP internal structures in such a way that the
reply is possible. Using this function saves the application
from allocating a separate net_buf for just sending simple
message back.
Change-Id: Ia960c83b77a8f300222159ee085fed99e2b007c2
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
If the Command Complete status is read, this status shall be returned.
Change-Id: Ic3fe102c16da4b01d002a2d39952fd401e9f832d
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
This adds gatt-exchange-mtu which works as follow:
btshell> gatt-exchange-mtu <bdaddr> <bdaddr_type>
bt: bt_gatt_exchange_mtu (0x0010c138): Client MTU 65
Exchange pending
btshell> bt: bt_att_recv (0x0010e310): Received ATT code 0x03 len 3
bt: att_mtu_rsp (0x0010e310): Server MTU 517
Exchange successful
Change-Id: I7280fb9d9fafc0f4bd1ef0f2226c255a5acf2592
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
bt_gatt_exchange_mtu can be used to exchange MTU used by GATT, the MTU
is selected automatically based on the amount of data bt_buf can hold.
Change-Id: Id49a506663d922132e81c0a753a983b93579ffd0
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
This adds function handler for Exchange MTU PDU which parses MTU received
and call the request callback:
< ACL Data TX: Handle 3585 flags 0x00 dlen 7
ATT: Exchange MTU Request (0x02) len 2
Client RX MTU: 65
> ACL Data RX: Handle 3585 flags 0x02 dlen 7
ATT: Exchange MTU Response (0x03) len 2
Server RX MTU: 517
Change-Id: I8daf0e32c1e1b838c45dc488fdef68a01451d55d
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
API remains the same, only adds helpers for common code which will be
used by active and passive scanning.
Change-Id: I3ef7845af766ba1634fe959f0a93d74601c6711c
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
This adds function handler for Error Response PDU which parses the
error code and call the request callback:
< ACL Data TX: Handle 3585 flags 0x00 dlen 5
ATT: Exchange MTU Request (0x02) len 0
invalid size
> ACL Data RX: Handle 3585 flags 0x02 dlen 9
ATT: Error Response (0x01) len 4
Exchange MTU Request (0x02)
Handle: 0x0000
Error: Invalid PDU (0x04)
Change-Id: I149dc20421690e63250d3e2ec388407a5600e089
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
If remote sends Pairing Failed any subsequent pairing procedure should
be restarted from Feature Exchange phase.
Change-Id: Ieccb4e64525e82092b8b0928bd3715f46eded9a2
Signed-off-by: Szymon Janc <szymon.janc@tieto.com>
This binary file should not be here so removing it.
Change-Id: I00d4b2de353f1b7ed75e9480252ea5f3f4b0c3a4
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Specification clearly defines when each PDU is allowed to be send.
With this patch unexpected PDUs are rejected. This allows for better
resilience when remote device misbehaves. Another benefit is that
PDUs handlers doesn't have to do additional checks for unexpected
sequence or missing PDUs.
Specification is not clear on reject policy though. It could be
responding with Pairing Failed, disconnect link or just drop unexpected
data. This patch implements last option. Dropping unexpected data is
also present in other widely used implementations and proved to be
sufficient.
Change-Id: I9a28a0b7bea71775e656300f71172e60b2df3d9c
Signed-off-by: Szymon Janc <szymon.janc@tieto.com>
Master should distribute keys only after slave distributed own keys.
Change-Id: Ibd339bd18699fe054bf2443103a4dc5785f494ab
Signed-off-by: Szymon Janc <szymon.janc@tieto.com>
This is in preparation for distributing keys in correct order when
acting as a master.
Change-Id: I3054f167dfd5c7514ab1efaecab7854a24d8f11a
Signed-off-by: Szymon Janc <szymon.janc@tieto.com>
If address stored in conn structure is BT_ADDR_LE_ANY, it means
that this slot has been already freed up, and the data is invalid.
bt_addr_le_cmp(peer, &conns[i].dst) returns True if both arguments
are BT_ADDR_LE_ANY, so invalid conn with address BT_ADDR_LE_ANY
can be returned.
Change-Id: I78ecafe0f9d6e1bbca4c7bf2c44eaec858787247
Signed-off-by: Mariusz Skamra <mariusz.skamra@tieto.com>
Some LE controllers returns in LE event connection complete zeroed
LE address on action cancelling pending outgoing connection.
To catch up such case don't transit state to DISCONNECT in cancel LE
connection HCI command routine and then based on lookup by state
routine for CONNECT state instead of lookup by address, filter out
such case in LE connection complete handler.
Lookup by state when sets to pickup connection object in CONNECT state
in LE connection complete handler doesn't breaks normal outgoing and
incoming connections handling.
Change-Id: I225b5f4786192309a28b886df6ee151ab27e8a24
Signed-off-by: Arkadiusz Lichwa <arkadiusz.lichwa@tieto.com>
This makes it easier to use shell since one can copy full address
from console output. Both variants with and without braces are
accepted.
btshell> connect 7C:2F:80:94:97:39 (public)
Connection pending
btshell> Connected: 7C:2F:80:94:97:39 (public)
btshell> disconnect 7C:2F:80:94:97:39 public
btshell> Disconnected: 7C:2F:80:94:97:39 (public)
Change-Id: Ic10386ee054ade1900e5f010857c0f85e5cb364a
Signed-off-by: Szymon Janc <szymon.janc@tieto.com>
This will disable DAD for now in order to simplify the
IPv6 address assignment. This needs to be re-enabled
at some point.
Change-Id: I9d0ba58ef27df5fb8202863ccf6e33c5e29b6e14
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
If UIP_ND6_SEND_NA is not defined, then input_na() and input_ns()
functions are not needed and should be commented out.
Change-Id: I6849c7a7dba1a4cf60b8b26806df871b5f7801bf
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Return the send status (sent ok or sending failed) to the caller.
Needed so that the caller can figure out whether it needs to
release the net_buf or not.
Change-Id: I7a0617cbb625d6ffcaf503dffc55d474b8f337a7
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
The uip6.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.
Change-Id: I417ffd2bbb54922ae071f2f382f7e9470516ce55
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
We need to be able to configure link address length (6 or 8 bytes)
depending on what kind of transport we are using.
Change-Id: I9677e40a76f22e4656bcae7c9a667c0e76b0d996
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Need to define link address length for ethernet MAC addresses.
This is needed when connecting to host from qemu using slip
and when bluetooth connectivity will be used (in the future).
Change-Id: I3881e970cec52017fd4120a48ff7a99cc5559a0a
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
General information regarding the development of microkernel
applications is included. A step by step process is included but
still in development. Cross-references are added and updated as needed.
Change-Id: Ib7442883016c92c660d03d806009a0bd1932fce7
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
The license guidelines list which code licenses are acceptable and what
licenses can be problematic. It also includes the IANAL disclaimer. The
collaboration.rst was changed to include the new content.
Change-Id: I92081a13575453c68b2492129126be4b4cee9766
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
Adds new Quark platform configuration documentation to support the Galileo board.
Change-Id: I00ccc01ee75dbd54721d2d36583e9c7626e237d8
Signed-off-by: Carol Lee <carol.lee@windriver.com>
Adds infrastructure for platform configuration guides,
starting with the fsl_frdm_k64f platform configuration.
Incorporates inline sphynx tags except :guilabel:
which does not bold gui labels, a feature needed
for scanning a procedure for key info.
Change-Id: I4f5154dae896449fb709842501c69d8757deca3e
Signed-off-by: Carol Lee <carol.lee@windriver.com>
This commit removes 2 levels of checking and checks directly against
define Kconfig variables. Also reduce the code to one block and check
only once instead of twice.
This is a cosmetic change.
Change-Id: Ia427d9f15a9d09ea59d0230913168060d752ae99
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
The USERDRIVER line is currently unused, and recent driver
initialization enhancements have rendered it obsolete.
Change-Id: If14089a52871a8891223156fde99b3fc9b650b10
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Not only does the build system need the config1p.mdef files any longer, those
files do not contain any useful data.
Change-Id: Ide9122af26c7a8338512c6cf7cd848e41a2a5dfd
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Since SysGen generates the code to invoke _sys_clock_driver_init(), the build
system no longer needs anything from the config1p.mdef files.
Change-Id: Id22615ff137c9d146ccc5c3777a75b2d3bfee73a
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
SysGen generates code to invoke _sys_clock_driver_init() when
CONFIG_SYS_CLOCK_EXISTS is defined thereby reducing the number
items the user must remember to configure.
Change-Id: I6f6909378c8a865a6ef50a99179800d58be5dd68
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
The revised name conforms to Zephyr OS naming conventions.
Change-Id: I5bcdaf1df7da9d8ce5787a08b29ead91dd8f24ce
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Removing the parameter to timer_driver() as it is not used.
Change-Id: I09275287eeb541be0dd315056b4f2bc6cbc2573c
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Remove function name from comment and add @brief instead.
Also capitilize first letter.
Change-Id: Ib708b49bf02e5bc89b0066637a55874e659637e0
Signed-off-by: Anas Nashif <anas.nashif@intel.com>