zephyr/tests/net
Rene Beckmann cc33491265 net: mqtt-sn: Wait for register & subscribe to complete
From the MQTT-SN spec:

6.5 Topic Name Registration Procedure

...
At any point in time a client may have only one
REGISTER message outstanding, i.e. it has to wait
for a REGACK message before it can register another
topic name.
...

6.9 Client’s Topic Subscribe/Un-subscribe Procedure

...
As for the REGISTER procedure, a client may have only
one SUBSCRIBE or one UNSUBCRIBE transaction open at a time.
...

Until now, the library did not comply with these requirements.
An additional "waiting" state for topics was introduced:
REGISTER, SUBSCRIBE and UNSUBSCRIBE as an extra step before
switching to REGISTERING, SUBSCRIBING and UNSUBSCRIBING. The
library now makes sure that only one topic can be REGISTERING
and only one topic can be in either SUBSCRIBING or UNSUBSCRIBING.
Additionally, requesting to UNSUBSCRIBE is now denied if the topic
is not yet SUBSCRIBED, to avoid weird race conditions.

Also, added two tests that verify this behavior.

This fixes #84644

Signed-off-by: Rene Beckmann <rene.bckmnn@gmail.com>
2025-02-11 11:44:52 +00:00
..
6lo
all net: openthread: Allow a platform to select a Settings backend. 2024-12-02 18:18:20 +01:00
arp tests: net: arp: Remove the ARP cache clear from the tests 2025-01-21 19:29:55 +01:00
bridge
checksum_offload
conn_mgr_conn
conn_mgr_monitor samples, tests: remove usage of space-separated lists 2024-12-04 14:14:53 -05:00
context
dhcpv4 samples, tests: remove usage of space-separated lists 2024-12-04 14:14:53 -05:00
dhcpv6 samples, tests: remove usage of space-separated lists 2024-12-04 14:14:53 -05:00
ethernet_mgmt
hostname
icmp samples, tests: remove usage of space-separated lists 2024-12-04 14:14:53 -05:00
icmpv4
icmpv6
ieee802154
iface tests: net: ipv6: Add tests for stable IIDs 2024-11-16 15:55:49 -05:00
igmp tests: net: igmp: Add re-join multicast group test 2024-12-19 10:20:56 +01:00
ip-addr tests: net: ip-addr: Add test case verifying default iface is preferred 2024-11-29 11:44:39 +01:00
ipv4_fragment tests: net: ipv4_fragment: Make test to run faster 2024-11-18 07:26:07 -05:00
ipv6 tests: net: ipv6: Increase stack size for variable buf test 2025-01-28 14:13:21 +01:00
ipv6_fragment tests: net: ipv6_fragment: Add PMTU testing 2024-11-18 07:26:07 -05:00
lib net: mqtt-sn: Wait for register & subscribe to complete 2025-02-11 11:44:52 +00:00
mgmt
mld
mocks
neighbor
net_pkt tests: net: pkt: Add build test for allocation statistics 2024-10-22 20:38:57 +02:00
npf
offloaded_netdev
pm
pmtu tests: net: pmtu: Add IPV6_MTU socket option tests 2024-11-18 07:26:07 -05:00
ppp/driver
promiscuous
ptp/clock drivers: ptp_clock: Place API into iterable section 2024-12-02 23:04:22 +01:00
route
route_mcast
shell
socket tests: net: socket: Fix -Wsometimes-uninitialized warning 2025-02-07 02:23:24 +01:00
tcp
traffic_class
trickle
tx_timestamp
udp
utils net: utils: Port parsing failure in net_ipaddr_parse() 2024-11-16 13:51:27 -05:00
virtual
vlan tests: net: vlan: Support case where VLAN count is 0 2025-01-31 16:12:50 +01:00
wifi tests: wifi: configs: Add a test for disable of advanced features 2025-01-15 19:06:22 +01:00