diff options
author | Stefano Brivio <sbrivio@redhat.com> | 2021-08-26 21:10:48 +0200 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2021-09-01 17:00:27 +0200 |
commit | 77d4efa23620700b369270f086facdf87b6194b4 (patch) | |
tree | deef7d52189b5f052240db153110a9bb236cb858 /tap.c | |
parent | cd04d238b2d98688962ee372232b04466dc8f938 (diff) | |
download | passt-77d4efa23620700b369270f086facdf87b6194b4.tar passt-77d4efa23620700b369270f086facdf87b6194b4.tar.gz passt-77d4efa23620700b369270f086facdf87b6194b4.tar.bz2 passt-77d4efa23620700b369270f086facdf87b6194b4.tar.lz passt-77d4efa23620700b369270f086facdf87b6194b4.tar.xz passt-77d4efa23620700b369270f086facdf87b6194b4.tar.zst passt-77d4efa23620700b369270f086facdf87b6194b4.zip |
udp: Handle partial failure in sendmmsg() to UNIX domain socket
Similarly to the handling introduced by commit "tcp: Proper error
handling for sendmmsg() to UNIX domain socket" for TCP, we need to
deal with partial sendmmsg() failures for UDP as well.
Here, we can lose messages, but we need to make sure that the last
message is delivered completely, otherwise qemu will fail to
reassemble further packets. For UDP, this is somewhat complicated
by the fact that one message might include multiple datagrams, and
we need to respect message boundaries: go through headers, and
calculate what we need to re-send, if anything.
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'tap.c')
0 files changed, 0 insertions, 0 deletions