Commit a6db2f35 authored by Ziye Yang's avatar Ziye Yang Committed by Tomasz Zawadzki
Browse files

sock: enable placement_id configuration in sock layer



This patch is used to enable placement_id getting
in sock layer and also add the rpc support.

Signed-off-by: default avatarZiye Yang <ziye.yang@intel.com>
Change-Id: I70de57b0ed392a0aefce9d3ff1f61ef924015a87
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4146


Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
Reviewed-by: default avatarAleksey Marchuk <alexeymar@mellanox.com>
Community-CI: Broadcom CI
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
parent ebb903d4
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -19,6 +19,17 @@ Updated ISA-L submodule to v2.29.0.

Updated OCF submodule to v20.03.1

### sock

The `enable_placement_id` field was added in the struct spdk_sock_impl_opts to
make the placement_id feature configurable by users. The default setting is
not enabled.

### rpc

A new optional parameter `enable_placement_id` was added to the `sock_impl_set_options`
RPC.

## v20.07: SPDK CSI driver, new accel_fw commands, I/O abort support

### accel
+3 −1
Original line number Diff line number Diff line
@@ -6929,6 +6929,7 @@ send_buf_size | Optional | number | Size of socket send buffer in
enable_recv_pipe        | Optional | boolean     | Enable or disable receive pipe
enable_zerocopy_send    | Optional | boolean     | Enable or disable zero copy on send
enable_quick_ack        | Optional | boolean     | Enable or disable quick ACK
enable_placement_id     | Optional | boolean     | Enable or disable placement_id

### Response

@@ -6949,7 +6950,8 @@ Example request:
    "send_buf_size": 2097152,
    "enable_recv_pipe": false,
    "enable_zerocopy_send": true,
    "enable_quick_ack": false
    "enable_quick_ack": false,
    "enable_placement_id": false
  }
}
~~~
+6 −0
Original line number Diff line number Diff line
@@ -112,6 +112,12 @@ struct spdk_sock_impl_opts {
	 * Enable or disable quick ACK. Used by posix and uring socket modules.
	 */
	bool enable_quickack;

	/**
	 * Enable or disable placement_id. Used by posix and uring socket modules.
	 */
	bool enable_placement_id;

};

/**
+1 −1
Original line number Diff line number Diff line
@@ -34,7 +34,7 @@
SPDK_ROOT_DIR := $(abspath $(CURDIR)/../..)
include $(SPDK_ROOT_DIR)/mk/spdk.common.mk

SO_VER := 4
SO_VER := 5
SO_MINOR := 0

C_SRCS = sock.c net_framework.c sock_rpc.c
+6 −0
Original line number Diff line number Diff line
@@ -76,6 +76,7 @@ rpc_sock_impl_get_options(struct spdk_jsonrpc_request *request,
	spdk_json_write_named_bool(w, "enable_recv_pipe", sock_opts.enable_recv_pipe);
	spdk_json_write_named_bool(w, "enable_zerocopy_send", sock_opts.enable_zerocopy_send);
	spdk_json_write_named_bool(w, "enable_quickack", sock_opts.enable_quickack);
	spdk_json_write_named_bool(w, "enable_placement_id", sock_opts.enable_placement_id);
	spdk_json_write_object_end(w);
	spdk_jsonrpc_end_result(request, w);
	free(impl_name);
@@ -113,6 +114,11 @@ static const struct spdk_json_object_decoder rpc_sock_impl_set_opts_decoders[] =
		"enable_quickack", offsetof(struct spdk_rpc_sock_impl_set_opts, sock_opts.enable_quickack),
		spdk_json_decode_bool, true
	},
	{
		"enable_placement_id", offsetof(struct spdk_rpc_sock_impl_set_opts, sock_opts.enable_placement_id),
		spdk_json_decode_bool, true
	},

};

static void
Loading