diff options
author | Laurent Vivier <lvivier@redhat.com> | 2024-10-03 16:51:04 +0200 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2024-10-04 14:50:46 +0200 |
commit | 72e7d3024b037afe2cb00c772eea0807286633bd (patch) | |
tree | fb024c0637e8fa7d8e74fb2564e2e55a401117f7 /tcp_buf.c | |
parent | def8acdcd846582df5939446be0d73d50971ab18 (diff) | |
download | passt-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.c | 29 |
1 files changed, 0 insertions, 29 deletions
@@ -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; |