aboutgitcodebugslistschat
path: root/tcp_buf.c
diff options
context:
space:
mode:
authorLaurent Vivier <lvivier@redhat.com>2024-10-03 16:51:04 +0200
committerStefano Brivio <sbrivio@redhat.com>2024-10-04 14:50:46 +0200
commit72e7d3024b037afe2cb00c772eea0807286633bd (patch)
treefb024c0637e8fa7d8e74fb2564e2e55a401117f7 /tcp_buf.c
parentdef8acdcd846582df5939446be0d73d50971ab18 (diff)
downloadpasst-72e7d3024b037afe2cb00c772eea0807286633bd.tar
passt-72e7d3024b037afe2cb00c772eea0807286633bd.tar.gz
passt-72e7d3024b037afe2cb00c772eea0807286633bd.tar.bz2
passt-72e7d3024b037afe2cb00c772eea0807286633bd.tar.lz
passt-72e7d3024b037afe2cb00c772eea0807286633bd.tar.xz
passt-72e7d3024b037afe2cb00c772eea0807286633bd.tar.zst
passt-72e7d3024b037afe2cb00c772eea0807286633bd.zip
tcp: Use tcp_payload_t rather than tcphdr
As tcp_update_check_tcp4() and tcp_update_check_tcp6() compute the checksum using the TCP header and the TCP payload, it is clearer to use a pointer to tcp_payload_t that includes tcphdr and payload rather than a pointer to tcphdr (and guessing TCP header is followed by the payload). Move tcp_payload_t and tcp_flags_t to tcp_internal.h. (They will be used also by vhost-user). Signed-off-by: Laurent Vivier <lvivier@redhat.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'tcp_buf.c')
-rw-r--r--tcp_buf.c29
1 files changed, 0 insertions, 29 deletions
diff --git a/tcp_buf.c b/tcp_buf.c
index ffbff5e..238827b 100644
--- a/tcp_buf.c
+++ b/tcp_buf.c
@@ -38,35 +38,6 @@
(c->mode == MODE_PASTA ? 1 : TCP_FRAMES_MEM)
/* Static buffers */
-/**
- * struct tcp_payload_t - TCP header and data to send segments with payload
- * @th: TCP header
- * @data: TCP data
- */
-struct tcp_payload_t {
- struct tcphdr th;
- uint8_t data[IP_MAX_MTU - sizeof(struct tcphdr)];
-#ifdef __AVX2__
-} __attribute__ ((packed, aligned(32))); /* For AVX2 checksum routines */
-#else
-} __attribute__ ((packed, aligned(__alignof__(unsigned int))));
-#endif
-
-/**
- * struct tcp_flags_t - TCP header and data to send zero-length
- * segments (flags)
- * @th: TCP header
- * @opts TCP options
- */
-struct tcp_flags_t {
- struct tcphdr th;
- char opts[OPT_MSS_LEN + OPT_WS_LEN + 1];
-#ifdef __AVX2__
-} __attribute__ ((packed, aligned(32)));
-#else
-} __attribute__ ((packed, aligned(__alignof__(unsigned int))));
-#endif
-
/* Ethernet header for IPv4 frames */
static struct ethhdr tcp4_eth_src;