diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2024-05-01 16:53:52 +1000 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2024-05-02 16:13:31 +0200 |
commit | 35598995869b0966eb97a16411d6ba5053005431 (patch) | |
tree | 6645dfd2dc3db6c8d311be30e60f68b01ed961fa /udp.c | |
parent | 40f8b2976ab09c77b14238d6eabaa7793d5365e4 (diff) | |
download | passt-35598995869b0966eb97a16411d6ba5053005431.tar passt-35598995869b0966eb97a16411d6ba5053005431.tar.gz passt-35598995869b0966eb97a16411d6ba5053005431.tar.bz2 passt-35598995869b0966eb97a16411d6ba5053005431.tar.lz passt-35598995869b0966eb97a16411d6ba5053005431.tar.xz passt-35598995869b0966eb97a16411d6ba5053005431.tar.zst passt-35598995869b0966eb97a16411d6ba5053005431.zip |
iov: Helper macro to construct iovs covering existing variables or fields
Laurent's recent changes mean we use IO vectors much more heavily in the
TCP code. In many of those cases, and few others around the code base,
individual iovs of these vectors are constructed to exactly cover existing
variables or fields. We can make initializing such iovs shorter and
clearer with a macro for the purpose.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'udp.c')
-rw-r--r-- | udp.c | 7 |
1 files changed, 3 insertions, 4 deletions
@@ -113,6 +113,7 @@ #include "checksum.h" #include "util.h" +#include "iov.h" #include "ip.h" #include "siphash.h" #include "inany.h" @@ -315,8 +316,7 @@ static void udp_sock4_iov_init_one(const struct ctx *c, size_t i) .iph = L2_BUF_IP4_INIT(IPPROTO_UDP) }; - siov->iov_base = buf->data; - siov->iov_len = sizeof(buf->data); + *siov = IOV_OF_LVALUE(buf->data); mh->msg_name = &buf->s_in; mh->msg_namelen = sizeof(buf->s_in); @@ -343,8 +343,7 @@ static void udp_sock6_iov_init_one(const struct ctx *c, size_t i) .ip6h = L2_BUF_IP6_INIT(IPPROTO_UDP) }; - siov->iov_base = buf->data; - siov->iov_len = sizeof(buf->data); + *siov = IOV_OF_LVALUE(buf->data); mh->msg_name = &buf->s_in6; mh->msg_namelen = sizeof(buf->s_in6); |