diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2024-08-27 16:04:44 +1000 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2024-08-27 09:04:25 +0200 |
commit | 620e19a1b48a80abddc657b4c17f5e4920f300ec (patch) | |
tree | 645e30edcdcc2adacb842da3a50b3965cd7ac8c5 /udp_flow.h | |
parent | 418feb37ece9ad584ec8b167861bb21a2cc3c067 (diff) | |
download | passt-620e19a1b48a80abddc657b4c17f5e4920f300ec.tar passt-620e19a1b48a80abddc657b4c17f5e4920f300ec.tar.gz passt-620e19a1b48a80abddc657b4c17f5e4920f300ec.tar.bz2 passt-620e19a1b48a80abddc657b4c17f5e4920f300ec.tar.lz passt-620e19a1b48a80abddc657b4c17f5e4920f300ec.tar.xz passt-620e19a1b48a80abddc657b4c17f5e4920f300ec.tar.zst passt-620e19a1b48a80abddc657b4c17f5e4920f300ec.zip |
udp: Merge udp[46]_mh_recv arrays
We've already gotten rid of most of the IPv4/IPv6 specific data structures
in udp.c by merging them with each other. One significant one remains:
udp[46]_mh_recv. This was a bit awkward to remove because of a subtle
interaction. We initialise the msg_namelen fields to represent the total
size we have for a socket address, but when we receive into the arrays
those are modified to the actual length of the sockaddr we received.
That meant that naively merging the arrays meant that if we received IPv4
datagrams, then IPv6 datagrams, the addresses for the latter would be
truncated. In this patch address that by resetting the received
msg_namelen as soon as we've found a flow for the datagram. Finding the
flow is the only thing that might use the actual sockaddr length, although
we in fact don't need it for the time being.
This also removes the last use of the 'v6' field from udp_listen_epoll_ref,
so remove that as well.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'udp_flow.h')
0 files changed, 0 insertions, 0 deletions