| 58ae1bdd | 30-Oct-2024 |
Ankit Kumar <ankit.kumar@samsung.com> |
stdinc.h: move epoll header over here
Change-Id: Iaee83f78f3586548ded3c54af862011c380d0d75 Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk
stdinc.h: move epoll header over here
Change-Id: Iaee83f78f3586548ded3c54af862011c380d0d75 Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25395 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris <jim.harris@samsung.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
show more ...
|
| 2c646ca9 | 18-Sep-2024 |
Krzysztof Goreczny <krzysztof.goreczny@dell.com> |
sock/posix: fix busy poller in the interrupt mode
Setting EPOLLOUT flag makes the epoll_wait exit immidiately on the tqpair socket as it's always ready for the write operation. This was a bad fix fo
sock/posix: fix busy poller in the interrupt mode
Setting EPOLLOUT flag makes the epoll_wait exit immidiately on the tqpair socket as it's always ready for the write operation. This was a bad fix for the async writes in the interrupt mode. Proper fix is to flush async writes on nvmf/tcp level.
Extend test script for the interrupt mode to include case of idle initiator in which CPU cores shall not be busy looping.
Change-Id: I17a97a74be9740dd67531f6e3b72bf38f0850edd Signed-off-by: Krzysztof Goreczny <krzysztof.goreczny@dell.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24959 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Changpeng Liu <changpeliu@tencent.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
show more ...
|
| 186b109d | 20-Aug-2024 |
Jim Harris <jim.harris@samsung.com> |
env: add SPDK_ENV_NUMA_ID_ANY and replace socket_id with numa_id
We will try to avoid further proliferation of "SOCKET_ID" to refer to a NUMA socket ID moving forward, and just use "NUMA_ID" to avoi
env: add SPDK_ENV_NUMA_ID_ANY and replace socket_id with numa_id
We will try to avoid further proliferation of "SOCKET_ID" to refer to a NUMA socket ID moving forward, and just use "NUMA_ID" to avoid confusion with TCP sockets.
Change all of the existing in-tree SPDK_ENV_SOCKET_ID_ANY uses to SPDK_ENV_NUMA_ID_ANY, but keep the old #define around, at least for now. Also change all 'socket_id' parameters to 'numa_id'.
We still have spdk_env_get_socket_id(), we will need to keep this but next patch will add spdk_env_get_numa_id().
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: Idc31c29e32b708c24d88f9c6fecaf9a99e34ba1e Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24607 Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-by: Ben Walker <ben@nvidia.com> Community-CI: Mellanox Build Bot
show more ...
|
| 9475ec8d | 20-Aug-2024 |
Jim Harris <jim.harris@samsung.com> |
sock: remove "socket" from "numa_socket_id"
We will just use "numa_id" to refer to a NUMA socket ID (also called NUMA node ID). This will eliminate any confusion over conflicts with "socket" used to
sock: remove "socket" from "numa_socket_id"
We will just use "numa_id" to refer to a NUMA socket ID (also called NUMA node ID). This will eliminate any confusion over conflicts with "socket" used to describe TCP sockets.
These APIs were all added since last release, so we can change this freely.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: Ifb8591c1066a61a78c31ad0e40745a59abb2759f Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24606 Community-CI: Mellanox Build Bot Reviewed-by: Ben Walker <ben@nvidia.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
show more ...
|
| 2b46c17d | 16-Aug-2024 |
Jim Harris <jim.harris@samsung.com> |
sock: change socket_id to int32_t
These changes were added since last release, so it's safe to just change them now without breaking API/ABI.
I mistakenly used uint32_t for the socket_id, when in f
sock: change socket_id to int32_t
These changes were added since last release, so it's safe to just change them now without breaking API/ABI.
I mistakenly used uint32_t for the socket_id, when in fact DPDK and our env layer really treat it as an int. This mostly shows up with the SPDK_ENV_SOCKET_ID_ANY that is defined as -1, which forces a lot of annoying casting if we're trying to pass this value through a uint32_t interface.
This socket_id concept will be getting plumbed into nvme, bdev and nvmf layers, so instead of proliferating the uint32_t socket_id there, just change sock layer to use int32_t instead.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: I573ba7f9aeed3b216bef72f39fc671c9c6688d3a Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24577 Reviewed-by: Ben Walker <ben@nvidia.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Krzysztof Karas <krzysztof.karas@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
show more ...
|
| 227b8322 | 09-Aug-2024 |
Marcin Spiewak <marcin.spiewak@intel.com> |
module/sock: free addr info before return
Fixed issue found by Coverity. In some cases, uring_sock_create() and posix_sock_create() functions were not freeing resources before exiting. Now it is fix
module/sock: free addr info before return
Fixed issue found by Coverity. In some cases, uring_sock_create() and posix_sock_create() functions were not freeing resources before exiting. Now it is fixed.
Change-Id: I2fef551a1384335597e12aa57a9cd2ce3686c4c2 Signed-off-by: Marcin Spiewak <marcin.spiewak@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24486 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com>
show more ...
|
| 044b7416 | 03-Jul-2024 |
Konrad Sztyber <konrad.sztyber@intel.com> |
sock/posix: support src_{addr,port} in connect()
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: Ia2b3a365b13c126115f6062ce1855e027ccd98cb Reviewed-on: https://review.spdk.io/ger
sock/posix: support src_{addr,port} in connect()
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: Ia2b3a365b13c126115f6062ce1855e027ccd98cb Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24066 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz@tzawadzki.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Community-CI: Mellanox Build Bot
show more ...
|
| 34edd9f1 | 10-Jul-2024 |
Kamil Godzwon <kamilx.godzwon@intel.com> |
general: fix misspells and typos
Signed-off-by: Kamil Godzwon <kamilx.godzwon@intel.com> Change-Id: Iab206ef526eb7032c6681a3145450010c91705a4 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+
general: fix misspells and typos
Signed-off-by: Kamil Godzwon <kamilx.godzwon@intel.com> Change-Id: Iab206ef526eb7032c6681a3145450010c91705a4 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24120 Community-CI: Mellanox Build Bot Reviewed-by: Karol Latecki <karol.latecki@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Jim Harris <jim.harris@samsung.com>
show more ...
|
| 72c41fdd | 10-Jul-2024 |
Jim Harris <jim.harris@samsung.com> |
sock: add spdk_sock_get_numa_socket_id
Elsewhere in SPDK/DPDK, we always just say "socket_id", but since this is the sock module for TCP sockets, we clarify the name with "numa".
Signed-off-by: Jim
sock: add spdk_sock_get_numa_socket_id
Elsewhere in SPDK/DPDK, we always just say "socket_id", but since this is the sock module for TCP sockets, we clarify the name with "numa".
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: I792c29e4db5094c88b6ced5f5e017cdee31c8fb8 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24124 Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
show more ...
|
| dfef7970 | 05-Jul-2024 |
Jim Harris <jim.harris@samsung.com> |
sock: add spdk_sock_get_interface_name
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: Ibccfac4350afba1e687edca40139316809ec1d00 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/
sock: add spdk_sock_get_interface_name
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: Ibccfac4350afba1e687edca40139316809ec1d00 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24081 Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Community-CI: Mellanox Build Bot Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
| 7923828f | 11-Jul-2024 |
Jim Harris <jim.harris@samsung.com> |
util: add spdk_net_getaddr
This enables reuse of the vast bulk of the getaddr code that was previously duplicated in the posix and uring sock modules.
Signed-off-by: Jim Harris <jim.harris@samsung.
util: add spdk_net_getaddr
This enables reuse of the vast bulk of the getaddr code that was previously duplicated in the posix and uring sock modules.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: I0d8d1de9907850013736b1766019649c0eddb5f5 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24143 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
show more ...
|
| 9645ea13 | 03-Jul-2024 |
Jim Harris <jim.harris@samsung.com> |
util: move module/sock/sock_kernel.h contents to net.c
This header file contained helper functions that both posix and uring sock modules were using to operate on file descriptors. Promote them to t
util: move module/sock/sock_kernel.h contents to net.c
This header file contained helper functions that both posix and uring sock modules were using to operate on file descriptors. Promote them to the util library in the newly formed net.c file, and rename the functions as follows:
get_addr_str => spdk_net_get_address_string sock_is_loopback => spdk_net_is_loopback
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: I89b6e766ad8cf272afcefb8bf5a87ad3b1db2d6b Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24047 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
show more ...
|
| 3291ed04 | 13-May-2024 |
Krzysztof Goreczny <krzysztof.goreczny@dell.com> |
sock/posix: unmark socket_has_data also for listening sockets
This is a prework for polling listening sockets via sock groups. If the socket_has_data flag is not cleared and the socket is not remove
sock/posix: unmark socket_has_data also for listening sockets
This is a prework for polling listening sockets via sock groups. If the socket_has_data flag is not cleared and the socket is not removed from the group->sockets_with_data then spdk_sock_group_poll() called on the listening sockets group would forever return all sockets that ever had received an accept request.
Change-Id: I37b41e5118a557e7cc5f28ada553be3cfb8ee37e Signed-off-by: Krzysztof Goreczny <krzysztof.goreczny@dell.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23212 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Reviewed-by: Boris Glimcher <Boris.Glimcher@emc.com>
show more ...
|
| 29f02008 | 11-Apr-2024 |
Krzysztof Goreczny <krzysztof.goreczny@dell.com> |
sock: Add interrupt APIs for socket groups
Add spdk_sock_group_register_interrupt() API for setting interrupts on the socket groups. Only POSIX and SSL sockets are supported.
Change-Id: I4201de7650
sock: Add interrupt APIs for socket groups
Add spdk_sock_group_register_interrupt() API for setting interrupts on the socket groups. Only POSIX and SSL sockets are supported.
Change-Id: I4201de7650cff8f97e0cb7d4ad4d2c31a7e9a79f Signed-off-by: Krzysztof Goreczny <krzysztof.goreczny@dell.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22744 Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Reviewed-by: Boris Glimcher <Boris.Glimcher@emc.com> Community-CI: Mellanox Build Bot
show more ...
|
| 7521dc6f | 09-Apr-2024 |
Krzysztof Karas <krzysztof.karas@intel.com> |
sock: replace sock impl priorities
Instead of using socket priorities, use a macro to set the default implementation. POSIX is the simplest impl compared to other sockets in SPDK and it should be us
sock: replace sock impl priorities
Instead of using socket priorities, use a macro to set the default implementation. POSIX is the simplest impl compared to other sockets in SPDK and it should be used as default (POSIX is most likely to be present at all times and has the minimal requirements to work).
Change-Id: I8f0dc47777183154773ac6905aa9306418657e06 Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22139 Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris <jim.harris@samsung.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
| 158d15b7 | 28-Feb-2023 |
Ben Walker <benjamin.walker@intel.com> |
util/pipe: Add spdk_pipe_group
Pool the data buffers backing the pipe. When a pipe reaches empty state, it puts the data buffer into the group's pool. If a pipe needs a data buffer, it takes one fro
util/pipe: Add spdk_pipe_group
Pool the data buffers backing the pipe. When a pipe reaches empty state, it puts the data buffer into the group's pool. If a pipe needs a data buffer, it takes one from the pool. Since the pool is a stack, a small number of data buffers tend to be re-used very frequently.
Change-Id: Ic660a326ce33f2ba99820708171597370414a750 Signed-off-by: Ben Walker <benjamin.walker@intel.com> Signed-off-by: Jacek Kalwas <jacek.kalwas@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16992 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Community-CI: Mellanox Build Bot
show more ...
|
| 94123731 | 02-Mar-2023 |
Jim Harris <james.r.harris@intel.com> |
pipe: return buffer when destroying pipe
Upcoming patches will introducing pipe_group concept, which may cause pipes to change their associated buffers over time. So when destroying the pipe, retur
pipe: return buffer when destroying pipe
Upcoming patches will introducing pipe_group concept, which may cause pipes to change their associated buffers over time. So when destroying the pipe, return the currently associated buffer. Then the caller can free that buffer.
Change-Id: I2ce9486160be98a8a2f90cd13f62b0440f453380 Signed-off-by: Jim Harris <james.r.harris@intel.com> Signed-off-by: Jacek Kalwas <jacek.kalwas@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/17043 Community-CI: Mellanox Build Bot Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com>
show more ...
|
| 355312bf | 26-Jan-2024 |
Tomasz Zawadzki <tomasz.zawadzki@intel.com> |
so_ver: increase all major versions after SPDK 24.01
To allow SO_MINOR updates on LTS for the whole year it is supported, the major version for all components needs to be increased. This is to preve
so_ver: increase all major versions after SPDK 24.01
To allow SO_MINOR updates on LTS for the whole year it is supported, the major version for all components needs to be increased. This is to prevent scenario where two versions exists with matching versions, but conflicting ABI. Ex. Next SPDK release adds an API call increasing the minor version, then LTS needs just a subset of those additions.
Increasing major so version after LTS, allows the future releases to update versions as needed. Yet allowing LTS to increase minor version separately.
This patch: - increases SO_VER by 1 for all components - resets SO_MINOR to 0 for all components
Due to patch below being introduced after v24.01 code freeze, bdev lib version should not be increased: 61623c5ca9 bdev: add spdk_bdev_io padding in place of io_submit_ch
Short reference to how the versions were changed: MAX=$(git grep "SO_VER := " | cut -d" " -f 3 | sort -ubnr | head -1) for((i=$MAX;i>0;i-=1)); do find . -name "Makefile" -exec \ sed -i -e "s/SO_VER := $i\$/SO_VER := $(($i+1))/g" {} +; done find . -name "Makefile" -exec \ sed -i -e "s/SO_MINOR := .*/SO_MINOR := 0/g" {} +
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: I0166d6be6c17bbbf985d48b5dfcb36f1d4af1b48 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/21582 Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
| 5c23b7b1 | 26-Jul-2023 |
Boris Glimcher <Boris.Glimcher@emc.com> |
sock/posix: remove explicit SSL_connect and SSL_accept
According to openssl documentation, If necessary, a read/write function will negotiate a TLS/SSL session. This will allow us to address #3077 A
sock/posix: remove explicit SSL_connect and SSL_accept
According to openssl documentation, If necessary, a read/write function will negotiate a TLS/SSL session. This will allow us to address #3077 And remove blocking code when establishing SSL conections.
SSL_set_app_data() sets a pointer for ssl object for additional application data. Up till now impl_opts structures were being allocated in posix_sock_create() and then passed to ssl_sock_connect_loop() for a handshake. Now, when SSL_connect() is removed, the handshake happens after execution returns from posix_sock_create(), so the memory is already discarded. Setting the pointer in the right place now avoids accessing freed memory.
Fixes #3077
Change-Id: I8389b34b5e61573dafb946419f922603d8d79b1d Signed-off-by: Boris Glimcher <Boris.Glimcher@emc.com> Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/19241 Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
| 9c6458d9 | 24-May-2023 |
Krzysztof Karas <krzysztof.karas@intel.com> |
sock/posix: don't overwrite posix impl opts with ssl impl opts
The SSL impl borrows a lot of code from the POSIX impl, but it can't use the g_spdk_posix_sock_impl_opts to store its opts - it needs i
sock/posix: don't overwrite posix impl opts with ssl impl opts
The SSL impl borrows a lot of code from the POSIX impl, but it can't use the g_spdk_posix_sock_impl_opts to store its opts - it needs its own copy.
Replace references to global opts with pointers to spdk_sock.spdk_sock_impl_opts where possible. This will let us use socket data at hand instead of always referencing posix implementation.
If changing the global reference is not possible, split shared functions into posix/ssl specific.
Fixes: 2fb5ff4 ("sock: Add support for SSL") Fixes: #2911
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: Idbd36ccf347c47fc7e9322f58e8fe2be7c60fa3b Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16841 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Community-CI: Mellanox Build Bot
show more ...
|
| 5925bc2a | 24-May-2023 |
Krzysztof Karas <krzysztof.karas@intel.com> |
sock: change name of global posix impl_opts structure
Shorten the name of global socket implementation options structure. This patch aims to remove unnecessary parts of this name, while preserving i
sock: change name of global posix impl_opts structure
Shorten the name of global socket implementation options structure. This patch aims to remove unnecessary parts of this name, while preserving its descriptiveness: - "spdk" part can be removed, as this structure is not directly used outside `posix.c` file, - "sock" is redundant, as "posix" part already points to the socked module.
Change-Id: Ie1b7c992dc46d8822652b8a6f7b2d2fbbade5e56 Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/18335 Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
| 169ee6c3 | 04-Jan-2023 |
Krzysztof Karas <krzysztof.karas@intel.com> |
TCP: prepare for usage of supported cipher suites
Prepare for cipher suite selection introduced in the next patch. Cipher suites are going to be selected based on size of provided PSK in interchange
TCP: prepare for usage of supported cipher suites
Prepare for cipher suite selection introduced in the next patch. Cipher suites are going to be selected based on size of provided PSK in interchange format.
Choosing hash function for retained PSK will be introduced in a future patch along with PSK interchange format.
Use TLS_AES_128_GCM_SHA256 until information about cipher suite can be derived from length of PSK configured.
Cipher TLS_AES_256_GCM_SHA384 requires us to use newer version of OpenSSL callbacks: instead of setting them with SSL_set_psk_server_callback() we'll need to use SSL_set_psk_find_session_callback() for server callbacks. As a part of this patch introduce required server side changes.
Change-Id: I3683f6366aab3fea71ab218dbf4e2589292120e2 Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16125 Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
show more ...
|
| dd824d4e | 31-Jan-2023 |
Krzysztof Karas <krzysztof.karas@intel.com> |
sock: add TLS cipher suite field
Add a field to structure spdk_sock_impl_opts that will be set with selected cipher suite for connecting side or cipher suite list for listening side. Then set cipher
sock: add TLS cipher suite field
Add a field to structure spdk_sock_impl_opts that will be set with selected cipher suite for connecting side or cipher suite list for listening side. Then set cipher suite with SSL_CTX_set_ciphersuites().
Cipher TLS_AES_256_GCM_SHA384 requires us to use newer version of OpenSSL callbacks, which are incompatibilie with TLS 1.2 and below: - instead of setting them with SSL_set_psk_client_callback() we'll need to use SSL_set_psk_use_session_callback for client callbacks. As a part of this patch introduce required client side changes. - remove support for TLS 1.2 and below, as required cipher suites are incompatibile with earlier TLS versions.
Change-Id: Id4e274ad2cc265f79d8dd02e65692678981926f2 Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16672 Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
| 84c04174 | 27-Jan-2023 |
Ben Walker <benjamin.walker@intel.com> |
sock: Remove spdk_sock_readv_async
Prefer to use spdk_sock_recv_zcopy instead.
Change-Id: Ia1920c2cbda4f787094e939ad91e52b4b4bb4ac2 Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on
sock: Remove spdk_sock_readv_async
Prefer to use spdk_sock_recv_zcopy instead.
Change-Id: Ia1920c2cbda4f787094e939ad91e52b4b4bb4ac2 Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16609 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
| 7a50a6bc | 09-Jan-2023 |
Krzysztof Karas <krzysztof.karas@intel.com> |
nvme_tcp: generate retained PSK
Transform raw PSK into retained psk to be stored inside TCP transport. The same transformation has to be done on the NVMe driver's side, to later derive the same TLS
nvme_tcp: generate retained PSK
Transform raw PSK into retained psk to be stored inside TCP transport. The same transformation has to be done on the NVMe driver's side, to later derive the same TLS PSK. TLS PSK is going to be introduced in the next patch.
To avoid supporting two types of PSKs (hexadecimal strings and byte arrays) drop unhexlifying PSK in SSL socket code and make sure other places (hello_sock app) that do not use NVMe TCP driver are responsible for this transformation.
Since PSK is now stored as binary data rather than char array, add a field "psk_size" to tcp_psk_entry structure.
Change-Id: I921faa54714c333cf64c59c35cf96cf1f6eda6d6 Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16246 Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris <james.r.harris@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
show more ...
|