aboutgitcodebugslistschat
path: root/tap.c
diff options
context:
space:
mode:
authorStefano Brivio <sbrivio@redhat.com>2021-08-26 21:10:48 +0200
committerStefano Brivio <sbrivio@redhat.com>2021-09-01 17:00:27 +0200
commit77d4efa23620700b369270f086facdf87b6194b4 (patch)
treedeef7d52189b5f052240db153110a9bb236cb858 /tap.c
parentcd04d238b2d98688962ee372232b04466dc8f938 (diff)
downloadpasst-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