Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 0 additions & 25 deletions applications/serial_lte_modem/src/slm_at_socket.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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);
Expand Down
5 changes: 0 additions & 5 deletions applications/serial_lte_modem/src/slm_sockopt.h
Original file line number Diff line number Diff line change
Expand Up @@ -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,
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Comment on lines +41 to +42
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that this was documented already when the change was introduced?

Copy link
Contributor Author

@MirkoCovizzi MirkoCovizzi Jul 17, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The migration guide for this specific change was introduced in our integration branch here back in 2.6.0 https://github.com/lemrey/sdk-nrf/pull/127/files but it got lost in the release notes PR here #14298. As of now the migration guide for 2.6.0 does not mention this change.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
=========
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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:

Expand Down Expand Up @@ -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
-------------------------------------

Expand Down
17 changes: 0 additions & 17 deletions lib/nrf_modem_lib/nrf9x_sockets.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion samples/cellular/modem_shell/src/ping/icmp_ping.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand Down
2 changes: 1 addition & 1 deletion west.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down