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>
46 lines
1.6 KiB
Python
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)
|