+ * tcp_ddp.h + * Author: Boris Pismenny <bor...@mellanox.com> + * Copyright (C) 2020 Mellanox Technologies. + */ +#ifndef _TCP_DDP_H +#define _TCP_DDP_H + +#include <linux/blkdev.h>
Why is blkdev.h needed?
+#include <linux/netdevice.h> +#include <net/inet_connection_sock.h> +#include <net/sock.h> + +/* limits returned by the offload driver, zero means don't care */ +struct tcp_ddp_limits { + int max_ddp_sgl_len; +}; + +enum tcp_ddp_type { + TCP_DDP_NVME = 1, +}; + +struct tcp_ddp_config { + enum tcp_ddp_type type; + unsigned char buf[];
A little kdoc may help here as its not exactly clear what is buf used for (at this point at least)...
+}; + +struct nvme_tcp_config {
struct nvme_tcp_ddp_config
+ struct tcp_ddp_config cfg; + + u16 pfv; + u8 cpda; + u8 dgst; + int queue_size; + int queue_id; + int io_cpu; +}; +
Other than that this looks good to me.