Commit graph

41120 commits

Author SHA1 Message Date
Carles Cufi
fc479e03e0 Bluetooth: controller: Use SERIES config instead of NRF52
In preparation for the new Nordic MDK and nRF52840 IC support we switch
to using the SERIES config instead of the old "NRF52" macro that will be
deprecated in the new MDK.

JIRA: ZEP-1418

Change-Id: I563f025c9db9b7497116c5af23814d95c720f836
Signed-off-by: Vinayak Chettimada <vinayak.kariappa.chettimada@nordicsemi.no>
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2016-12-20 09:14:47 -06:00
Marcus Shawcroft
f655da2b5e eth/enc28j60: CONFIG_ETHERNET no longer exists.
Change-Id: Ia011aa0ebbf4834bc068564d01cde3309f28a2a4
Signed-off-by: Marcus Shawcroft <marcus.shawcroft@arm.com>
2016-12-20 13:47:33 +00:00
Marcus Shawcroft
9094fdb8c4 eth/config: Group ethernet driver configuration into one menu.
Change-Id: Ieff568916f2c0428719e3e217ce0ca1ddf2908ff
Signed-off-by: Marcus Shawcroft <marcus.shawcroft@arm.com>
2016-12-20 13:47:32 +00:00
Marcus Shawcroft
531cb01c19 ieee802165: Device driver_api is const, honour it.
Change-Id: I6aebffb8abc52013c626e3c67c8c4f1f529932e0
Signed-off-by: Marcus Shawcroft <marcus.shawcroft@arm.com>
2016-12-20 13:47:31 +00:00
Marcus Shawcroft
af6095876c net: Device driver_api is const, honour it.
Change-Id: I3fffe80e1be884e2b58387dc7fccf2def9c5e139
Signed-off-by: Marcus Shawcroft <marcus.shawcroft@arm.com>
2016-12-20 13:47:30 +00:00
Marcus Shawcroft
78a1256646 echo_server: Fix frdm_k64f build in the absence of CC2520
Change-Id: Id8a421ad7862c03be0ac4e7293285fa01e8a93e0
Signed-off-by: Marcus Shawcroft <marcus.shawcroft@arm.com>
2016-12-20 13:44:41 +00:00
Anas Nashif
0e1022833b samples: remove obsolete KERNEL_TYPE
Change-Id: I9fec01fed0407c53b9b447e2a568bc75351cd61e
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-12-20 01:12:43 +00:00
Anas Nashif
d3578bb2fc tests: GDB server only works on qemu_x86 now
Change-Id: Ie5ebb9d1be22cbb7c7cc3b54688cc957e49e786e
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-12-19 15:48:51 -05:00
Anas Nashif
7e86380e63 tests: add gdb server test
Change-Id: If15b34ea24b68ea6527fc51c953451b656a10cf5
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-12-19 14:59:35 -05:00
Anas Nashif
87133d5def debug: gdb: move to new kernel APIs
Change-Id: Ifed1fe7c60fa150ee3ef4fefabafeb95312bf8bc
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-12-19 14:59:35 -05:00
Anas Nashif
2f203c2f92 tracing: rename CONFIG_DEBUG_TRACING_KERNEL_OBJECTS
Use a short name for this option CONFIG_OBJECT_TRACING.

Change-Id: Id27de7ef9ca299492b6b7d2324d9f5bcf8059a31
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-12-19 14:59:35 -05:00
Anas Nashif
c7f73140f6 kconfig: group options into menus
Change-Id: I24cbf7e244d74e1a2736f18d7da170d68ee47971
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-12-19 14:59:35 -05:00
Anas Nashif
d687a95611 kernel: move kernel code to kernel/ directly
Also remove mentions of unified kernel in various places in the kernel,
samples and documentation.

Change-Id: Ice43bc73badbe7e14bae40fd6f2a302f6528a77d
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-12-19 14:59:35 -05:00
Anas Nashif
9463dc0b8f kernel: merge kernel Kconfigs into one
Reorganise and cleanup Kernel Kconfig options and group options of the
same area under Menus to ease readability and to have a better structure
when using menuconfig.

Change-Id: Ic6b39730297861367abd345ede35e41c046c099d
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-12-19 19:58:43 +00:00
Anas Nashif
0d775bcd9c x86: remove obsolete comment about tasks/fibers
Change-Id: Iff911329f5c981d0d47880924e8a4d52478423fd
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-12-19 19:58:42 +00:00
Anas Nashif
40b7183326 kernel: fixed description of THREAD_CUSTOM_DATA
Change-Id: I63ebfc6b7cf869d7a00ccbe4f20eca8060edaf43
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-12-19 19:58:42 +00:00
Anas Nashif
aa2154772a object_tracing: fixed style
Change-Id: I0881bead44b935e432559225e4f5f5b7051f1469
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-12-19 19:58:41 +00:00
Anas Nashif
e6b7ba40d1 debug: fixed style and align code
Change-Id: I75875680feb7b814ed1fdafeb42de6f2d7049a90
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-12-19 19:58:41 +00:00
Anas Nashif
569f0b4105 debug: move debug features from misc to subsys/debug
Change-Id: I446be0202325cf3cead7ce3024ca2047e3f7660d
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-12-19 19:58:40 +00:00
Anas Nashif
a9e879e273 logging: move sys_log to subsys/logging
Move logging out of misc/ to its own subsystem. Anything related to
logging and any new logging features or backends could be added here
instead of the generic location in misc/ which is overcrowded with
options that are not related to eachother.

Jira: ZEP-1467
Change-Id: If6a3ea625c3a3562a7a61a0ba5fd7e6ca75518ba
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-12-19 19:58:39 +00:00
Anas Nashif
affd58a50c doc: rename shell section to simply: Shell
Change-Id: I5152f6ddc1bfd96939fb89efcf96686c44c0d626
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-12-19 19:58:39 +00:00
Anas Nashif
f323c00daf kconfig: remove unused TASK_DEBUG options
Change-Id: I19731bd0148aed6916844f7abf6eacc7fe4e5e2c
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-12-19 19:58:38 +00:00
Anas Nashif
ed116ace6d kernel: kconfig: move power management options out
Change-Id: I5d7068ca7a5793bb3499f2bf2dc1abc4e337313e
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-12-19 19:58:37 +00:00
Anas Nashif
666afe5923 kernel: kconfig: move event logger options into file
Change-Id: I1e80375df583c5a5b6f04b216b54ed5b786e4655
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-12-19 19:58:37 +00:00
Anas Nashif
bd10845996 kernel: kconfig: replace task/fiber with threads
Change-Id: I6d44cad8b2cf195137f04808167614390ee2ec55
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-12-19 19:58:36 +00:00
Anas Nashif
59a7de8ddf kernel: Isolate logger options
Move those into a separate Kconfig file and include them instead.

Change-Id: Ifa25d6ec92937080ad5970af7ca5c3f07ddec961
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-12-19 19:58:35 +00:00
Anas Nashif
cfbe9b05a1 kernel: rename NANOKERNEL_TICKLESS_IDLE_SUPPORTED
rename NANOKERNEL_TICKLESS_IDLE_SUPPORTED to
TICKLESS_IDLE_SUPPORTED and remove nanokernel occurances in Kconfig
files.

Make TICKLESS_IDLE depend on hardware that supports it.

Change-Id: I6a2e4fb0f7cf4b45475b48e71823ea089ee98759
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-12-19 19:58:35 +00:00
Anas Nashif
f855d3558f kernel: remove unused and obsolete headers
Change-Id: I25fd7c9e3db2d171a4118a57c4d9544d2424b819
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-12-19 19:58:03 +00:00
Anas Nashif
cb888e6805 kernel: remove nano/micro wording and usage
Also remove some old cflags referencing directories that do not exist
anymore.
Also replace references to legacy APIs in doxygen documentation of
various functions.

Change-Id: I8fce3d1fe0f4defc44e6eb0ae09a4863e33a39db
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-12-19 19:58:03 +00:00
Anas Nashif
c1f2e26584 timer: hpet: rename debug function to avoid conflict
PRINTK was conflicting, reanme to DBG.

Jira: ZEP-953
Change-Id: If5d6ef385c5ed223f6f7eae9bde887ae4a1b946a
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-12-19 19:17:33 +00:00
Anas Nashif
5ad2905532 arm: remove old GDB_INFO support
That module is not used anymore: it was introduced pre-Zephyr to add
some kind of awareness when debugging ARM Cortex-M3 code with GDB but
was never really used by anyone. It has bitrotted, and with the recent
move of the tTCS and tNANO data structures to common _kernel and
k_thread, it does not even compile anymore.

Jira: ZEP-1284, ZEP-951

Change-Id: Ic9afed00f4229324fe5d2aa97dc6f1c935953244
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-12-19 19:17:30 +00:00
Benjamin Walsh
1f2a5791bc kernel: add missing ___kernel_t_arch_OFFSET
Change-Id: I9913a1734f00dfb24f41214942230c4a127aa1a8
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
2016-12-19 19:10:17 +00:00
Flavio Santes
c7979f0fc4 tinycrypt: Update TinyCrypt to version 0.2.5
TinyCrypt 0.2.5 was released a few hours ago:

https://github.com/01org/tinycrypt/releases/tag/v0.2.5

This patch updates some TinyCrypt files, solving the following issues:

- Decryptions using ccm mode can incorrectly fail
- Minor style issues in code documentation

Change-Id: I606cde179888aad7a52fd277d73973f2347d8882
Signed-off-by: Flavio Santes <flavio.santes@intel.com>
2016-12-19 19:05:42 +00:00
Kumar Gala
cd7ea0b56c samples: disable single threaded hello world for configs that fail
If we have Bluetooth or GPIO SCH we need multithreading right now
so disable any platforms that enable these features from running
this test.

Change-Id: I1ea35636e1382aac0f266fe73441619f9ac00d53
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2016-12-19 10:59:10 -06:00
Marcus Shawcroft
2c3a3ea84c dhcpv4: Adjust prj file selection.
Change-Id: I8e21285bfde33612fd9ded65257195612f880249
Signed-off-by: Marcus Shawcroft <marcus.shawcroft@arm.com>
2016-12-19 10:29:15 +00:00
Marcus Shawcroft
28aff9506f dhcpv4_client: Remove unnecessary ETH_KSDK configuration.
Change-Id: I18218501949a7a408c8ecd5501e0011204801e6d
Signed-off-by: Marcus Shawcroft <marcus.shawcroft@arm.com>
2016-12-19 10:29:15 +00:00
Marcus Shawcroft
6f74a4a3dc k64f: Default the ETH_KSDK on if NET_L2_ETHERNET enabled.
The K64F board has the ENET ethernet driver.  Behavior consistently
with other driver selection logic and default the KSDK ethernet driver
on if ETHERNET drivers are enabled.

Change-Id: I2fbed7fdef22d75cf163b61b3e0530ce00d988f0
Signed-off-by: Marcus Shawcroft <marcus.shawcroft@arm.com>
2016-12-19 10:25:57 +00:00
Benjamin Walsh
8053024752 doc: update architecture porting guide to unified kernel
Change-Id: I065cc6f92e13275d993ab6ebf9dabd855b9356c9
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
2016-12-17 22:44:46 +00:00
Benjamin Walsh
cef368f578 kernel/arch: rename ARCH_HAS_NANO_FIBER_ABORT to ARCH_HAS_THREAD_ABORT
And also remove now obsolete ARCH_HAS_TASK_ABORT.

ARC does not need the options either.

Change-Id: Ie52d63178a367ce12b911dacfe2d389f4f75ed2d
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
2016-12-17 22:44:40 +00:00
Benjamin Walsh
50f4883117 kernel/arch: remove obsolete instances of irq_connect
Change-Id: I6a90bee60639b84b4cc8ffd02eae85fe44b86ee0
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
2016-12-17 22:44:35 +00:00
Anas Nashif
a99aa34cb5 samples: add configuration for single threaded hello world
Change-Id: Ib7419321a5aa664cfa78e0229cd5add3494a6747
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-12-17 16:54:45 +00:00
Benjamin Walsh
096d8e9af5 kernel: fix warnings when CONFIG_MULTITHREADING=n
Change-Id: I57c6a225c3eece9e2d4942bacdfcb097f2edaf42
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
2016-12-17 16:54:45 +00:00
Benjamin Walsh
e0ca2109a6 kernel: initialize system work queue after kernel is up
The system work queue spawns a coop thread to hanlde the work items. If
it is spawned before the kernel is up and the initialization dummy
thread's priority is lower, there will be a context switch into the
system work queue's thread at that time, before the kernel is ready to
handle this.

Change-Id: I879659ab58231c5a5cfaa34f2f65c2eccab99142
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
2016-12-17 16:24:34 +00:00
Anas Nashif
f11fe9eca5 kernel: set CONFIG_MDEF by default
Legacy applications still need that, otherwise kernel objects are not
configured correctly. Will be removed later.

Change-Id: I22df10e4adcc11f035f9813bea8c93dd1a560a1d
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-12-17 10:25:20 -05:00
Baohong Liu
db20723da2 samples: bmi160: code clean up
Remove CONFIG_BMI160_TRIGGER_SOURCE_GPIO from prj config
file. It is not being used any more.

Also change CONFIG_STDOUT_CONSOLE to CONFIG_PRINTK. The
whole sample is using printk instead of printf.

Change-Id: I4ac7db37da1e45aed2457ace9e82385e37143c36
Signed-off-by: Baohong Liu <baohong.liu@intel.com>
2016-12-16 23:07:55 +00:00
Anas Nashif
bd90bb7105 boards: define onboard LED on quark se c1000 devboard
Change-Id: I215a4988b4ab8c99279202b6821f6685fa23e84f
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-12-16 16:36:53 -05:00
Tomasz Bursztyka
877972fa26 Merge net branch into master
Main changes:

- Mostly bug fixes (ZEP-1361, ZEP-1427 + others)
- DNS client gets a better API through a dedicated context
- echo apps are working again for bluetooth and 802.15.4

----------------------------------------------------------------
Andrei Emeltchenko (1):
      samples: net: Fix compile error following frdm pinmux change

Flavio Santes (14):
      net: Remove legacy tinydtls.h header
      tests/iot/http: Initialize parser struct
      tcp: Validate net_context_put return code
      iot/dns: Introduce the dns_context structure
      iot/dns: Update DNS client private routines
      iot/dns: Use a k_sem for the DNS rx routine
      iot/dns: Update sample application
      samples/mbedtls_dtlsclient: Validate destination buffer size
      samples/mbedtls_dtlsclient: Add ARG_UNUSED
      tests/tcp: Initialize buffer to NULL
      samples/net/README: Add DNS client section
      iot/dns: Update Makefile
      iot/dns: Add support for the FRDM K64F board
      iot/dns: Fix IPv6 compilation issue

Luiz Augusto von Dentz (4):
      net: echo_server: Enable Bluetooth support
      net: echo_client: Enable Bluetooth support
      net: Remove unnecessary k_wakeup
      net: echo_client: Fix using CONFIG_NETWORKING_WITH_BT

Sergio Rodriguez (1):
      samples/mbedtls_dtlsclient: Using semaphore for rx

Tomasz Bursztyka (26):
      net: Update TODO list on L2 and 15.4 tasks
      samples: wpanusb: Removing legacy left-over
      samples: net: echo apps: Add cc2520 configuration for frdm_k64f
      samples: echo apps: Use Kconfig options to setup IPv6 on cc2520 config
      net: l2: ethernet: Handle Ethernet II minimal frame size relevantly
      drivers: enc28j60: Let's remove the CRC in the end of the frame
      drivers: ethernet: Push DW specific Kconfig options to its own file
      drivers: ethernet: Enable sys log levels depending on NET_ETHERNET_L2
      drivers: enc28j60: Fix a tiny style issue
      drivers: enc28j60: Fix a Kconfig comment
      drivers: enc28j60: Fix one tiny naming issue
      drivers: ennc28j60: There is a unique L2 driver
      drivers: enc28j60: Add logging
      drivers: enc28j60: Expose RX thread stack size and prio config
      drivers: enc28j60: Removing useless legacy driver
      drivers: eth_ksdk: Theres is no longer 'ETHERNET' Kconfig option
      drivers: eth_ksdk: There is a unique L2 driver
      drivers: eth_ksdk: Simplifying MAC address generation
      samples: net: Remove useless prj.mdef from dhcpv4_client
      samples: net: Add Arduino 101 dedicated config for dhcpv4_client
      samples: net: Add dedicated dhcpv4 prj.conf for frdm k64f board
      samples: net: mbedtls: Let's enable fastest enc28j60 speed on a101
      net: buf: Use buf->pool instead of now removed buf->free
      samples: net: Fix echo applications setting for 15.4
      sample: net: Updating qemu config for 802.15.4 testing
      net: nbuf: Initialize nbuf memory area after allocation

 boards/arm/frdm_k64f/Kconfig.defconfig              |   4 +-
 drivers/ethernet/Kconfig                            |  66 +------------------
 drivers/ethernet/Kconfig.dw                         |  78 ++++++++++++++++++++++
 drivers/ethernet/Kconfig.enc28j60                   |  18 ++++-
 drivers/ethernet/Kconfig.ksdk                       |  23 +------
 drivers/ethernet/eth_enc28j60.c                     |  79 ++++++++++++++--------
 drivers/ethernet/eth_enc28j60_legacy.c              | 644 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 drivers/ethernet/eth_enc28j60_priv.h                |   6 +-
 drivers/ethernet/eth_ksdk.c                         |  34 ++++------
 include/iot/dns_client.h                            | 221 +++++++++++++++++++++----------------------------------------
 include/net/ethernet.h                              |   9 ++-
 include/net/tinydtls.h                              |  33 ----------
 lib/iot/dns/dns_client.c                            | 167 ++++++++++++++++++++++------------------------
 lib/iot/dns/dns_pack.c                              |   4 +-
 lib/iot/dns/dns_pack.h                              |   2 +-
 samples/net/README                                  |  19 ++++++
 samples/net/common/cc2520_frdm_k64f.c               | 100 ++++++++++++++++++++++++++++
 samples/net/dhcpv4_client/Makefile                  |   3 +-
 samples/net/dhcpv4_client/prj.mdef                  |   5 --
 samples/net/dhcpv4_client/prj_arduino_101.conf      |  43 ++++++++++++
 samples/net/dhcpv4_client/prj_frdm_k64f.conf        |  31 +++++++++
 samples/net/dns_client/Makefile                     |   1 -
 samples/net/dns_client/README_IPv4                  | 128 ++++++++++++++++++++++++++----------
 samples/net/dns_client/README_arduino_101           |   6 +-
 samples/net/dns_client/prj_frdm_k64f.conf           |  36 ++++++++++
 samples/net/dns_client/src/config.h                 |   2 +-
 samples/net/dns_client/src/main.c                   |  53 ++++++++-------
 samples/net/echo_client/Makefile                    |   2 +-
 samples/net/echo_client/prj_arduino_101_cc2520.conf |   4 +-
 samples/net/echo_client/prj_bt.conf                 |  33 ++++++++--
 samples/net/echo_client/prj_cc2520.conf             |   8 ++-
 samples/net/echo_client/prj_frdm_k64f_cc2520.conf   |  52 +++++++++++++++
 samples/net/echo_client/prj_qemu_802154.conf        |  31 +++++----
 samples/net/echo_client/src/Makefile                |  13 ++--
 samples/net/echo_client/src/echo-client.c           |   2 +-
 samples/net/echo_server/Makefile                    |   2 +-
 samples/net/echo_server/prj_arduino_101_cc2520.conf |   4 +-
 samples/net/echo_server/prj_bt.conf                 |  31 +++++++--
 samples/net/echo_server/prj_cc2520.conf             |   6 +-
 samples/net/echo_server/prj_frdm_k64f_cc2520.conf   |  51 +++++++++++++++
 samples/net/echo_server/prj_qemu_802154.conf        |  28 ++++----
 samples/net/echo_server/src/Makefile                |  13 ++--
 samples/net/echo_server/src/echo-server.c           |   4 +-
 samples/net/mbedtls_dtlsclient/prj_arduino_101.conf |   4 ++
 samples/net/mbedtls_dtlsclient/src/udp.c            |  39 ++++++++---
 samples/net/mbedtls_dtlsclient/src/udp.h            |   1 +
 samples/net/wpanusb/prj-legacy.conf                 |  20 ------
 subsys/net/TODO                                     |  34 +---------
 subsys/net/buf.c                                    |   7 +-
 subsys/net/ip/l2/ethernet.c                         |  35 ++++++++++
 subsys/net/ip/nbuf.c                                |  15 ++---
 subsys/net/ip/net_core.c                            |   2 -
 subsys/net/ip/tcp.c                                 |   6 +-
 tests/iot/test_http_header/src/test_http_header.c   |  14 ++--
 tests/net/tcp/src/main.c                            |  22 +++----
 55 files changed, 1007 insertions(+), 1291 deletions(-)
 create mode 100644 drivers/ethernet/Kconfig.dw
 delete mode 100644 drivers/ethernet/eth_enc28j60_legacy.c
 delete mode 100644 include/net/tinydtls.h
 create mode 100644 samples/net/common/cc2520_frdm_k64f.c
 delete mode 100644 samples/net/dhcpv4_client/prj.mdef
 create mode 100644 samples/net/dhcpv4_client/prj_arduino_101.conf
 create mode 100644 samples/net/dhcpv4_client/prj_frdm_k64f.conf
 create mode 100644 samples/net/dns_client/prj_frdm_k64f.conf
 create mode 100644 samples/net/echo_client/prj_frdm_k64f_cc2520.conf
 create mode 100644 samples/net/echo_server/prj_frdm_k64f_cc2520.conf
 delete mode 100644 samples/net/wpanusb/prj-legacy.conf

Change-Id: I87bb9a677c4dc3dc288a1b5050599410c399abd4
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2016-12-16 19:29:25 +01:00
Tomasz Bursztyka
675277e28d net: nbuf: Initialize nbuf memory area after allocation
After commit 71c7c01819 about buf pool, we
started to get spurious behaviors on various places of the code on
different boards (a101, frdm...) BUT on qemu. Basically, outgoing ip/udp
packets were full of garbage. Or sometimes it was the abilitty to parse
incoming packet that was happening.

The difference between qemu and actualy boards is - afaik, at least, let
me know if I am wrong - that qemu provide initialized memory (full of
0s). Following this asssumption, this patch just reset the nbuf right
after it got allocated. And all started to work again as thought.

It's in fact a good thing to reset nbuf memory. Even before the above
commit: after being used more than once, a buffer would have ended up
with old content, and this could have been generating a bug. So let's be
on the safe side and always intialize nbuf content.

Change-Id: I50647d9e9b82a4ed340a5ceb0d69409b0194dddd
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2016-12-16 19:14:56 +01:00
Tomasz Bursztyka
7a19370f84 sample: net: Updating qemu config for 802.15.4 testing
Removing useless options, refining the logging and of course setting the
right IP to make it work.

Change-Id: I0c0c1979d590bc4c4fcb3a1d1a252b87b0153511
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2016-12-16 19:14:56 +01:00
Tomasz Bursztyka
e7af4b8947 samples: net: Fix echo applications setting for 15.4
When zephyr receives a 15.4 frames it allocates 1 RX buf (nbuf) and 1
DATA (buf), and it gets queued on net stack for post processing.

Problem: receiving a lot of frames is just completely nominal and very
fast (timing is critical in radio, and the rx thread of the radio driver
has a high priority, much higher than net stack's rx post processing).
So guess what happens when CONFIG_NET_NBUF_RX_COUNT=10 though let's say
12 packets are coming in?

The RX buffer pools gets empty and soon the system hangs on getting a
newly allocated one.

This proper CONFIG_NET_NBUF_RX_COUNT tweak fixes the issue, however some
future work will reduce the need of so many RX meta buf:
- l2's recv could be called right away at net_recv_data, before queuing
  the buffer for post-processing, but this could affects reception
  timing on radio side, which is critical.
- An l2 pre-processing (in the middle of what current l2 recv does)
  could be implemented, it would be technology depenedent (aka: not
  mandatory on all l2) and could quickly decide what to do and at best
  drop the whole, or at least drop the RX meta buf (frag would still be
  kept). Let's see.

Jira: ZEP-1427

Change-Id: Ic75b02efa36e35b450c02b3e6439a8d73f03f839
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2016-12-16 19:14:56 +01:00