.type = FIO_OPT_STR_STORE,
.cb = str_hostname_cb,
.help = "Hostname for net IO engine",
- .category = FIO_OPT_C_IO,
+ .category = FIO_OPT_C_ENGINE,
+ .group = FIO_OPT_G_NETIO,
},
{
.name = "port",
.minval = 1,
.maxval = 65535,
.help = "Port to use for TCP or UDP net connections",
- .category = FIO_OPT_C_IO,
+ .category = FIO_OPT_C_ENGINE,
+ .group = FIO_OPT_G_NETIO,
},
{
.name = "protocol",
.help = "UNIX domain socket",
},
},
+ .category = FIO_OPT_C_ENGINE,
+ .group = FIO_OPT_G_NETIO,
},
#ifdef CONFIG_TCP_NODELAY
{
.type = FIO_OPT_BOOL,
.off1 = offsetof(struct netio_options, nodelay),
.help = "Use TCP_NODELAY on TCP connections",
+ .category = FIO_OPT_C_ENGINE,
+ .group = FIO_OPT_G_NETIO,
},
#endif
{
.type = FIO_OPT_STR_SET,
.off1 = offsetof(struct netio_options, listen),
.help = "Listen for incoming TCP connections",
- .category = FIO_OPT_C_IO,
+ .category = FIO_OPT_C_ENGINE,
+ .group = FIO_OPT_G_NETIO,
},
{
.name = "pingpong",
.type = FIO_OPT_STR_SET,
.off1 = offsetof(struct netio_options, pingpong),
.help = "Ping-pong IO requests",
+ .category = FIO_OPT_C_ENGINE,
+ .group = FIO_OPT_G_NETIO,
},
{
.name = NULL,
{
struct netio_data *nd = td->io_ops->data;
struct netio_options *o = td->eo;
- int type, domain, optval;
+ int type, domain;
if (o->proto == FIO_TYPE_TCP) {
domain = AF_INET;
#ifdef CONFIG_TCP_NODELAY
if (o->nodelay && o->proto == FIO_TYPE_TCP) {
- optval = 1;
+ int optval = 1;
+
if (setsockopt(f->fd, IPPROTO_TCP, TCP_NODELAY, (void *) &optval, sizeof(int)) < 0) {
log_err("fio: cannot set TCP_NODELAY option on socket (%s), disable with 'nodelay=0'\n", strerror(errno));
return 1;
struct netio_data *nd = td->io_ops->data;
struct netio_options *o = td->eo;
socklen_t socklen = sizeof(nd->addr);
- int state, optval;
+ int state;
if (o->proto == FIO_TYPE_UDP) {
f->fd = nd->listenfd;
#ifdef CONFIG_TCP_NODELAY
if (o->nodelay && o->proto == FIO_TYPE_TCP) {
- optval = 1;
+ int optval = 1;
+
if (setsockopt(f->fd, IPPROTO_TCP, TCP_NODELAY, (void *) &optval, sizeof(int)) < 0) {
log_err("fio: cannot set TCP_NODELAY option on socket (%s), disable with 'nodelay=0'\n", strerror(errno));
return 1;
.options = options,
.option_struct_size = sizeof(struct netio_options),
.flags = FIO_SYNCIO | FIO_DISKLESSIO | FIO_UNIDIR |
- FIO_PIPEIO,
+ FIO_PIPEIO | FIO_BIT_BASED,
};
static int str_hostname_cb(void *data, const char *input)