Spdk/scripts/rpc/sock.py
Shuhei Matsumoto 61cd9d308e lib/sock: Add option to enable or disable quick ACK
TCP delayed ACK can be disabled or enabled by enabling or disabling
quick ACK, respectively.

The recently added spdk_sock_impl_opts is helpful for sock library
to control quick ACK.

Hence this patch adds and uses an option enable_quickack. The option
is effective only for the POSIX sock module.

We have spdk_sock_opts now too but spdk_sock_impl_opts will be better
for this case.

This option is not supported on FreeBSD. FreeBSD users can set the
option globally via sysctl if desired.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: Ic89620267acce5872dc8ecaf7a99bb70ae97e993
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3603
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2020-08-10 11:29:20 +00:00

46 lines
1.6 KiB
Python

def sock_impl_get_options(client, impl_name=None):
"""Get parameters for the socket layer implementation.
Args:
impl_name: name of socket implementation, e.g. posix
"""
params = {}
params['impl_name'] = impl_name
return client.call('sock_impl_get_options', params)
def sock_impl_set_options(client,
impl_name=None,
recv_buf_size=None,
send_buf_size=None,
enable_recv_pipe=None,
enable_zerocopy_send=None,
enable_quickack=None):
"""Set parameters for the socket layer implementation.
Args:
impl_name: name of socket implementation, e.g. posix
recv_buf_size: size of socket receive buffer in bytes (optional)
send_buf_size: size of socket send buffer in bytes (optional)
enable_recv_pipe: enable or disable receive pipe (optional)
enable_zerocopy_send: enable or disable zerocopy on send (optional)
enable_quickack: enable or disable quickack (optional)
"""
params = {}
params['impl_name'] = impl_name
if recv_buf_size is not None:
params['recv_buf_size'] = recv_buf_size
if send_buf_size is not None:
params['send_buf_size'] = send_buf_size
if enable_recv_pipe is not None:
params['enable_recv_pipe'] = enable_recv_pipe
if enable_zerocopy_send is not None:
params['enable_zerocopy_send'] = enable_zerocopy_send
if enable_quickack is not None:
params['enable_quickack'] = enable_quickack
return client.call('sock_impl_set_options', params)