The txtime can be run manually with qemu_x86 but it is enough
to have native_sim compiled with twister.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
When setting boolean options using setsockopt(), the option
type should be int as the size of the option type is checked
and only int is accepted.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Recent POSIX changes caused that 3 file descriptors are now preallocated
for stdin/out/err. This caused file descriptor shortage in all-in TLS
configuration of the sample, hence increase the maximum FD count.
In the server sample this manifested itself as an accept() error. This
triggered a busy loop though in the sample, as in case of accept()
errors it'd just try again w/o any delay. This made this issue hard to
investigate, so to avoid such cases in the future, make the accept()
failure fatal in the echo_server sample.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Echo samples exchange data fragments longer than the default DTLS max
fragment length introduced in commit
f033cd5601. Hence, need to increase this
config value for the sample.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Commit 3046e95d85 introduced eventfd use
in the sample, increasing the pollfd array size, however the config
indicating maximum number of monitored events remained intact, so the
sample didn't really work.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
net_mgmt sockets do not implement internal queue but use
net_mgmt_event_wait() internally to receive events. As a consequence,
in case of events burst, some events may be lost if the receiving
thread has lower priority than the net_mgmt thread.
This was visible in the sample, where only DAD event was reported
properly, as IPv6 Add/Remove events were triggered in pair with
corresponding multicast events (from solicited-node multicast
address).
We can mitigate this by increasing main thread priority to be at the
same priority as net_mgmt thread, so that the receiving thread (main)
has a chance to run in between event reports.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
After enabled POSIX_API in the sample, not all headers were included in
the build due to #ifdefs around header inclusions. This commit fixes
this.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Achieve proper syntax highlighting using "console"
language when command snippets start with a prompt.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The sample won't build with PSA crypto enabled on non-secure platform,
causing disturbances in the CI.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
A few samples were not limiting the CI execution scope in any reasonable
way, they should at least limit the execution to platforms that support
netif capability.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
The POSIX_MAX_FDS option does not correspond to any standard
POSIX option. It was used to define the size of the file
descriptor table, which is by no means exclusively used by
POSIX (also net, fs, ...).
POSIX_MAX_FDS is being deprecated in order to ensure that
Zephyr's POSIX Kconfig variables correspond to those defined in
the specification, as of IEEE 1003.1-2017. Namely,
POSIX_OPEN_MAX. CONFIG_POSIX_MAX_OPEN_FILES is being deprecated
for the same reason.
To mitigate any possible layering violations, that option is
not user selectable. It tracks the newly added
CONFIG_ZVFS_OPEN_MAX option, which is native to Zephyr.
With this deprecation, we introduce the following Kconfig
options that map directly to standard POSIX Option Groups by
simply removing "CONFIG_":
* CONFIG_POSIX_DEVICE_IO
Similarly, with this deprecation, we introduce the following
Kconfig options that map directly to standard POSIX Options by
simply removing "CONFIG":
* CONFIG_POSIX_OPEN_MAX
In order to maintain parity with the current feature set, we
introduce the following Kconfig options.
* CONFIG_POSIX_DEVICE_IO_ALIAS_CLOSE
* CONFIG_POSIX_DEVICE_IO_ALIAS_OPEN
* CONFIG_POSIX_DEVICE_IO_ALIAS_READ
* CONFIG_POSIX_DEVICE_IO_ALIAS_WRITE
Gate open(), close(), read(), and write() via the
CONFIG_POSIX_DEVICE_IO Kconfig option and move
implementations into device_io.c, to be conformant with the
spec.
Lastly, stage function names for upcoming ZVFS work, to be
completed as part of the LTSv3 Roadmap (e.g. zvfs_open(), ..).
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
In an effort to shave off code size, remove out-of-the-box
enabling of crypto features (except SHA-256).
Configurations are adjusted to enable what they need.
Bonuses:
- When enabled, AES now defaults to using a smaller version
(`CONFIG_MBEDTLS_AES_ROM_TABLES` isn't default enabled anymore,
and if enabled, `CONFIG_MBEDTLS_AES_FEWER_TABLES` defaults to y).
- Conditions around Mbed TLS Kconfig options have been improved
to reflect the reality of the dependencies.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
In order to be compatible with Linux AF_PACKET socket calls, the
protocol field needs to be in network byte order.
So for example, if user wants to receive all packets, then the
protocol field needs to be set as "htons(ETH_P_ALL)".
See Linux manual page at
https://www.man7.org/linux/man-pages/man7/packet.7.html
for details.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Socket service library uses eventfd, which does not work with
native_posix platform, hence need to exclude it from samples that now
rely on socket services.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
CONFIG_POSIX_API depends on !CONFIG_NATIVE_APPLICATION, which is
incompatible with the native_posix platforms.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
Remove the `_MAC` part because those Kconfig options enable only hash
algorithms, nothing MAC-related, and the `_ENABLED` part to align the
naming to the Mbed TLS defines (plus we don't need such a part).
As a bonus, enabling SHA-256 does not automatically enable SHA-224
anymore.
See the migration guide entries for more details on the practical
changes.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
Because of changes in other network header files, the net_if.h
was not included so add it directly to the echo-client and
mqtt_azure sources.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Improve navigability in the documentation by adding a link to the main
HTTP Server documentation page to the HTTP Server sample.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This sample assumes that two separate sockets can be bound on IPv4 and
IPv6. On Linux (via Native Simulator Offloaded Sockets) this is possible
when there is no IPv4 to IPv6 mapping. Same can be true to other offloaded
sockets.
CONFIG_NET_IPV4_MAPPING_TO_IPV6 is disabled for this sample, so IPv4 to
IPv6 mapping is disabled for Zephyr native IPv6 layer. For offloaded
sockets this option does not define whether mapping is enabled or not, so
try to unconditionally (and without error checking) disable it.
This patch fixes compatibility with NSOS, since two separate sockets can be
bound on the same address and port, one for IPv4 and second for IPv6.
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
Add documentation page for HTTP server functionality.
Rename existing HTTP documentation to HTTP client, as it only covers the
client library.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Do not print progress report so that makes debugging things
a lot harder. It is still possible to enable printouts if needed
by setting PRINT_PROGRESS symbol.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
If the IPv6 address that our socket is bound to deprecates, then
re-create the socket so that we avoid using deprecated IPv6 address.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Fix the failures introduced in #72078 by manually enabling all the
hash algorithms as they used to be.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
A scheduler fix for free memory usage on aborted threads is now using
a per-CPU dummy thread instead of a single stack-based one at startup.
These static thread objects need spots in the kobj bitmasks, and a few
tests are sitting right at the default limit (16 threads).
Signed-off-by: Andy Ross <andyross@google.com>
A simple HTTP server sample application.
Signed-off-by: Emna Rekik <emna.rekik007@gmail.com>
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Updates the linker script fragments under 'samples' to use
Z_LINK_ITERABLE_SUBALIGN for the subalignment instead of
a hardcoded value of 4.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
The last parameter to getsockopt() should be a socklen_t *
not an int *.
Let's fix it to avoid a build warning which breaks this tests
in CI.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
The native_posix compilations fail with various socket
errors like this:
samples/net/sockets/can/src/main.c:65:9: error: implicit \
declaration of function ‘send’ [-Werror=implicit-function-declaration]
65 | ret = send(fd, &sframe, sizeof(sframe), 0);
| ^~~~
So disable the native_posix board from networking samples as
native_posix board is not compatible with CONFIG_POSIX_API
This is related to commit b8fc1c4c3e ("samples: net: Disable
native_posix target in samples") but disables more network samples
for native_posix board.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
- TCP should not be disbled by default for subg in this particular
sample since it is mostly used to test network rather than
performance.
Signed-off-by: Ayush Singh <ayushdevel1325@gmail.com>
- TCP should not be disbled by default for subg in this particular
sample since it is mostly used to test network rather than
performance.
Signed-off-by: Ayush Singh <ayushdevel1325@gmail.com>
Remove IPSP support from the tree.
It has no maintainers, and is regularly broken. The fact that it's
nontrivial to set-up in linux makes it hard to fix reported issues.
Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
If there are multiple tunnels, then use the tunnel device name
to select the correct one. Note that this tunnel is only used
for network packet capture in this sample application.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
The CONFIG_MAX_THREAD_BYTES=3 needs to be set for multiple
boards like mr_canhubk3 and xiao_ble when running in usermode.
Too many thread objects (18)
Increase CONFIG_MAX_THREAD_BYTES to 3
Fixes#70955
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
The native_posix compilations fail with various socket
errors like this:
samples/net/sockets/echo_server/src/udp.c:45:26: error: implicit \
declaration of function ‘socket’ [-Werror=implicit-function-declaration]
45 | data->udp.sock = socket(bind_addr->sa_family, SOCK_DGRAM,
| IPPROTO_UDP);
Disable the native_posix board from networking samples so that CI can pass.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
The native_sim USB driver gives this error currently if one
enables CONFIG_POSIX_API.
drivers/usb/device/usb_dc_native_posix_adapt.c:22:10: \
fatal error: sys/un.h: No such file or directory
22 | #include <sys/un.h>
| ^~~~~~~~~~
compilation terminated.
Disable the netusb support from networking shells for native_sim
board for now so that CI can pass.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>