aboutgitcodebugslistschat
path: root/contrib
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2024-05-01 18:31:05 +1000
committerStefano Brivio <sbrivio@redhat.com>2024-05-02 16:13:38 +0200
commit3f9bd867b58513da50d79e039fb88c7fd332408e (patch)
tree3fe0a6892f1a8e4a5f7c1f540cbd5c5a4289f4ab /contrib
parentfcd930885658c2149551c7dbfb2479c179c7990f (diff)
downloadpasst-3f9bd867b58513da50d79e039fb88c7fd332408e.tar
passt-3f9bd867b58513da50d79e039fb88c7fd332408e.tar.gz
passt-3f9bd867b58513da50d79e039fb88c7fd332408e.tar.bz2
passt-3f9bd867b58513da50d79e039fb88c7fd332408e.tar.lz
passt-3f9bd867b58513da50d79e039fb88c7fd332408e.tar.xz
passt-3f9bd867b58513da50d79e039fb88c7fd332408e.tar.zst
passt-3f9bd867b58513da50d79e039fb88c7fd332408e.zip
udp: Split tap-bound UDP packets into multiple buffers using io vector
When sending to the tap device, currently we assemble the headers and payload into a single contiguous buffer. Those are described by a single struct iovec, then a batch of frames is sent to the device with tap_send_frames(). In order to better integrate the IPv4 and IPv6 paths, we want the IP header in a different buffer that might not be contiguous with the payload. To prepare for that, split the UDP packet into an iovec of buffers. We use the same split that Laurent recently introduced for TCP for convenience. This removes the last use of tap_hdr_len_(), tap_frame_base() and tap_frame_len(), so remove those too. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'contrib')
0 files changed, 0 insertions, 0 deletions