diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2024-05-01 18:31:05 +1000 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2024-05-02 16:13:38 +0200 |
commit | 3f9bd867b58513da50d79e039fb88c7fd332408e (patch) | |
tree | 3fe0a6892f1a8e4a5f7c1f540cbd5c5a4289f4ab /contrib | |
parent | fcd930885658c2149551c7dbfb2479c179c7990f (diff) | |
download | passt-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