diff options
| author | Simon Rettberg | 2025-12-09 15:49:52 +0100 |
|---|---|---|
| committer | Simon Rettberg | 2025-12-09 15:49:52 +0100 |
| commit | b3062b85b6778acb499998216fb8f3fd71119583 (patch) | |
| tree | 2df3de5930e1430cfaf792f4b6dae7b8993dfc0c /inc | |
| parent | [KERNEL] Fix build on newer gcc (diff) | |
| parent | [SERVER] iscsi: More comments (diff) | |
| download | dnbd3-b3062b85b6778acb499998216fb8f3fd71119583.tar.gz dnbd3-b3062b85b6778acb499998216fb8f3fd71119583.tar.xz dnbd3-b3062b85b6778acb499998216fb8f3fd71119583.zip | |
Merge branch 'iscsi-refactor'
Diffstat (limited to 'inc')
| -rw-r--r-- | inc/dnbd3/afl.h | 4 | ||||
| -rw-r--r-- | inc/dnbd3/config/server.h | 2 | ||||
| -rw-r--r-- | inc/dnbd3/shared/sockhelper.h | 5 | ||||
| -rw-r--r-- | inc/dnbd3/types.h | 7 |
4 files changed, 12 insertions, 6 deletions
diff --git a/inc/dnbd3/afl.h b/inc/dnbd3/afl.h new file mode 100644 index 0000000..071293f --- /dev/null +++ b/inc/dnbd3/afl.h @@ -0,0 +1,4 @@ +#ifdef DNBD3_SERVER_AFL +#define send(a,b,c,d) write((a) == 0 ? 1 : (a), b, c) +#define recv(a,b,c,d) read(a, b, c) +#endif diff --git a/inc/dnbd3/config/server.h b/inc/dnbd3/config/server.h index b6eee2c..9330915 100644 --- a/inc/dnbd3/config/server.h +++ b/inc/dnbd3/config/server.h @@ -17,6 +17,8 @@ #define UPLINK_MAX_CLIENTS_PER_REQUEST 32 // Maximum number of clients that can attach to one uplink request #define SERVER_UPLINK_QUEUELEN_THRES 900 // Threshold where we start dropping incoming clients #define SERVER_MAX_PENDING_ALT_CHECKS 500 // Length of queue for pending alt checks requested by uplinks +#define SERVER_TCP_BUFFER_MIN_SIZE_PAYLOAD 1048576 // Tweak socket buffer for direction with payload (image data) to be at least this size (1MiB) +#define SERVER_TCP_BUFFER_MIN_SIZE_REQUESTS 8192 // Tweak socket buffer for direction without payload (requests) to be at least this large (8KiB) // Wait a maximum of 5 minutes before saving cache map (if data was received at all) #define CACHE_MAP_MAX_SAVE_DELAY 300 diff --git a/inc/dnbd3/shared/sockhelper.h b/inc/dnbd3/shared/sockhelper.h index 5c7d903..728ebfc 100644 --- a/inc/dnbd3/shared/sockhelper.h +++ b/inc/dnbd3/shared/sockhelper.h @@ -117,4 +117,9 @@ ssize_t sock_sendAll(const int sock, const void *buffer, const size_t len, int m */ ssize_t sock_recv(const int sock, void *buffer, const size_t len); +/** + * Send a desired number of nullbytes to socket. + */ +bool sock_sendPadding(int fd, size_t bytes); + #endif /* SOCKHELPER_H_ */ diff --git a/inc/dnbd3/types.h b/inc/dnbd3/types.h index bd15f4e..27dcbf7 100644 --- a/inc/dnbd3/types.h +++ b/inc/dnbd3/types.h @@ -71,11 +71,6 @@ #include <netinet/in.h> #endif -#ifdef DNBD3_SERVER_AFL -#define send(a,b,c,d) write(a,b,c) -#define recv(a,b,c,d) read(a,b,c) -#endif - // ioctl #define DNBD3_MAGIC 'd' @@ -161,7 +156,7 @@ typedef struct __attribute__((packed)) uint16_t cmd; // 2byte uint32_t size; // 4byte union { - struct { + struct __attribute__((packed)) { #ifdef DNBD3_LITTLE_ENDIAN uint64_t offset_small:56; // 7byte uint8_t hops; // 1byte |
