+ * tcp_ddp.h
+ * Author: Boris Pismenny <[email protected]>
+ * 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.