diff --git a/applications/serial_lte_modem/src/slm_at_socket.c b/applications/serial_lte_modem/src/slm_at_socket.c index 2f91323d412a..2d1be0c7cdaf 100644 --- a/applications/serial_lte_modem/src/slm_at_socket.c +++ b/applications/serial_lte_modem/src/slm_at_socket.c @@ -354,26 +354,6 @@ static int at_sockopt_to_sockopt(enum at_sockopt at_option, int *level, int *opt *level = SOL_SOCKET; *option = SO_RAI; break; - case AT_SO_RAI_NO_DATA: - *level = SOL_SOCKET; - *option = SO_RAI_NO_DATA; - break; - case AT_SO_RAI_LAST: - *level = SOL_SOCKET; - *option = SO_RAI_LAST; - break; - case AT_SO_RAI_ONE_RESP: - *level = SOL_SOCKET; - *option = SO_RAI_ONE_RESP; - break; - case AT_SO_RAI_ONGOING: - *level = SOL_SOCKET; - *option = SO_RAI_ONGOING; - break; - case AT_SO_RAI_WAIT_MORE: - *level = SOL_SOCKET; - *option = SO_RAI_WAIT_MORE; - break; case AT_SO_TCP_SRV_SESSTIMEO: *level = IPPROTO_TCP; *option = SO_TCP_SRV_SESSTIMEO; @@ -404,11 +384,6 @@ static int sockopt_set(enum at_sockopt at_option, int at_value) tmo.tv_sec = at_value; value = &tmo; len = sizeof(tmo); - } else if (level == SOL_SOCKET && (option == SO_RAI_LAST || option == SO_RAI_NO_DATA || - option == SO_RAI_ONE_RESP || option == SO_RAI_ONGOING || - option == SO_RAI_WAIT_MORE)) { - value = NULL; - len = 0; } ret = setsockopt(sock.fd, level, option, value, len); diff --git a/applications/serial_lte_modem/src/slm_sockopt.h b/applications/serial_lte_modem/src/slm_sockopt.h index c0a2ff46bb67..71960baf1911 100644 --- a/applications/serial_lte_modem/src/slm_sockopt.h +++ b/applications/serial_lte_modem/src/slm_sockopt.h @@ -24,11 +24,6 @@ enum at_sockopt { AT_SO_IP_ECHO_REPLY = 31, AT_SO_IPV6_ECHO_REPLY = 32, AT_SO_BINDTOPDN = 40, - AT_SO_RAI_NO_DATA = 50, - AT_SO_RAI_LAST = 51, - AT_SO_RAI_ONE_RESP = 52, - AT_SO_RAI_ONGOING = 53, - AT_SO_RAI_WAIT_MORE = 54, AT_SO_TCP_SRV_SESSTIMEO = 55, AT_SO_RAI = 61, }; diff --git a/doc/nrf/releases_and_maturity/migration/migration_guide_2.8.rst b/doc/nrf/releases_and_maturity/migration/migration_guide_2.8.rst index 45317fe0ae65..5c1d308297ee 100644 --- a/doc/nrf/releases_and_maturity/migration/migration_guide_2.8.rst +++ b/doc/nrf/releases_and_maturity/migration/migration_guide_2.8.rst @@ -33,7 +33,25 @@ Samples and applications This section describes the changes related to samples and applications. -|no_changes_yet_note| +Serial LTE Modem (SLM) +---------------------- + +.. toggle:: + + * The handling of Release Assistance Indication (RAI) socket options has been updated in the ``#XSOCKETOPT`` command. + The individual RAI-related socket options have been consolidated into a single ``SO_RAI`` option. + You must modify your application to use the new ``SO_RAI`` option with the corresponding value to specify the RAI behavior. + The changes are as follows: + + The ``SO_RAI_NO_DATA``, ``SO_RAI_LAST``, ``SO_RAI_ONE_RESP``, ``SO_RAI_ONGOING``, and ``SO_RAI_WAIT_MORE`` options have been replaced by the ``SO_RAI`` option with values from ``1`` to ``5``. + + Replace the following commands in your application code if they were used previously: + + * ``AT#XSOCKETOPT=1,50,`` with ``AT#XSOCKETOPT=1,61,1`` to indicate ``RAI_NO_DATA``. + * ``AT#XSOCKETOPT=1,51,`` with ``AT#XSOCKETOPT=1,61,2`` to indicate ``RAI_LAST``. + * ``AT#XSOCKETOPT=1,52,`` with ``AT#XSOCKETOPT=1,61,3`` to indicate ``RAI_ONE_RESP``. + * ``AT#XSOCKETOPT=1,53,`` with ``AT#XSOCKETOPT=1,61,4`` to indicate ``RAI_ONGOING``. + * ``AT#XSOCKETOPT=1,54,`` with ``AT#XSOCKETOPT=1,61,5`` to indicate ``RAI_WAIT_MORE``. Libraries ========= diff --git a/doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst b/doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst index 6be124e6fc64..23da8c17b1bc 100644 --- a/doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst +++ b/doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst @@ -241,6 +241,7 @@ Serial LTE modem * Removed: * Support for the :file:`overlay-native_tls.conf` configuration file with the ``thingy91/nrf9160/ns`` board target. + * Support for deprecated RAI socket options ``AT_SO_RAI_LAST``, ``AT_SO_RAI_NO_DATA``, ``AT_SO_RAI_ONE_RESP``, ``AT_SO_RAI_ONGOING``, and ``AT_SO_RAI_WAIT_MORE``. * Updated: @@ -575,6 +576,10 @@ Modem libraries * Fixed a potential issue with scanf in the :c:func:`modem_info_get_current_band` function, which could lead to memory corruption. +* :ref:`nrf_modem_lib_readme` library: + + * Removed support for deprecated RAI socket options ``SO_RAI_LAST``, ``SO_RAI_NO_DATA``, ``SO_RAI_ONE_RESP``, ``SO_RAI_ONGOING``, and ``SO_RAI_WAIT_MORE``. + Multiprotocol Service Layer libraries ------------------------------------- diff --git a/lib/nrf_modem_lib/nrf9x_sockets.c b/lib/nrf_modem_lib/nrf9x_sockets.c index b518e524bd90..cd1aa5d0bfd4 100644 --- a/lib/nrf_modem_lib/nrf9x_sockets.c +++ b/lib/nrf_modem_lib/nrf9x_sockets.c @@ -216,23 +216,6 @@ static int z_to_nrf_optname(int z_in_level, int z_in_optname, case SO_REUSEADDR: *nrf_out_optname = NRF_SO_REUSEADDR; break; - - /* SO_RAI_* and NRF_SO_RAI_* are deprecated */ - case SO_RAI_LAST: - *nrf_out_optname = NRF_SO_RAI_LAST; - break; - case SO_RAI_NO_DATA: - *nrf_out_optname = NRF_SO_RAI_NO_DATA; - break; - case SO_RAI_ONE_RESP: - *nrf_out_optname = NRF_SO_RAI_ONE_RESP; - break; - case SO_RAI_ONGOING: - *nrf_out_optname = NRF_SO_RAI_ONGOING; - break; - case SO_RAI_WAIT_MORE: - *nrf_out_optname = NRF_SO_RAI_WAIT_MORE; - break; case SO_RAI: *nrf_out_optname = NRF_SO_RAI; break; diff --git a/samples/cellular/modem_shell/src/ping/icmp_ping.c b/samples/cellular/modem_shell/src/ping/icmp_ping.c index 8039dce35608..4310934b09d0 100644 --- a/samples/cellular/modem_shell/src/ping/icmp_ping.c +++ b/samples/cellular/modem_shell/src/ping/icmp_ping.c @@ -431,7 +431,7 @@ static uint32_t send_ping_wait_reply(struct icmp_ping_shell_cmd_argv *ping_args, ret = setsockopt(fd, SOL_SOCKET, SO_RAI, &rai_option, sizeof(rai_option)); if (ret) { ping_error( - ping_args, "setsockopt() for SO_RAI_NO_DATA failed with error %d", + ping_args, "setsockopt() for RAI_NO_DATA failed with error %d", errno); goto close_end; } diff --git a/west.yml b/west.yml index 245e09ad0e5a..ac7d96a011b1 100644 --- a/west.yml +++ b/west.yml @@ -72,7 +72,7 @@ manifest: # https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/guides/modules.html - name: zephyr repo-path: sdk-zephyr - revision: 98194577de1a3850de578da2a26c5f355e984090 + revision: 3b6c6e00baa6acd7a01753d7d6d0a31dca7f8920 import: # In addition to the zephyr repository itself, NCS also # imports the contents of zephyr/west.yml at the above