diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2024-03-08 17:53:22 +1100 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2024-03-14 16:57:28 +0100 |
commit | 2d0e0084b60851f3d032d9b91454fcbebfb67061 (patch) | |
tree | 30438a9820b2810e1a245c3048de0cb083eade0d /tcp.c | |
parent | f67238aa864d92e0c73af660c7f166f53ab688bc (diff) | |
download | passt-2d0e0084b60851f3d032d9b91454fcbebfb67061.tar passt-2d0e0084b60851f3d032d9b91454fcbebfb67061.tar.gz passt-2d0e0084b60851f3d032d9b91454fcbebfb67061.tar.bz2 passt-2d0e0084b60851f3d032d9b91454fcbebfb67061.tar.lz passt-2d0e0084b60851f3d032d9b91454fcbebfb67061.tar.xz passt-2d0e0084b60851f3d032d9b91454fcbebfb67061.tar.zst passt-2d0e0084b60851f3d032d9b91454fcbebfb67061.zip |
tap: Extend tap_send_frames() to allow multi-buffer frames
tap_send_frames() takes a vector of buffers and requires exactly one frame
per buffer. We have future plans where we want to have multiple buffers
per frame in some circumstances, so extend tap_send_frames() to take the
number of buffers per frame as a parameter.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
[sbrivio: Improve comment to rembufs calculation]
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'tcp.c')
-rw-r--r-- | tcp.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -1289,10 +1289,10 @@ static void tcp_rst_do(struct ctx *c, struct tcp_tap_conn *conn); */ static void tcp_l2_flags_buf_flush(const struct ctx *c) { - tap_send_frames(c, tcp6_l2_flags_iov, tcp6_l2_flags_buf_used); + tap_send_frames(c, tcp6_l2_flags_iov, 1, tcp6_l2_flags_buf_used); tcp6_l2_flags_buf_used = 0; - tap_send_frames(c, tcp4_l2_flags_iov, tcp4_l2_flags_buf_used); + tap_send_frames(c, tcp4_l2_flags_iov, 1, tcp4_l2_flags_buf_used); tcp4_l2_flags_buf_used = 0; } @@ -1305,12 +1305,12 @@ static void tcp_l2_data_buf_flush(const struct ctx *c) unsigned i; size_t m; - m = tap_send_frames(c, tcp6_l2_iov, tcp6_l2_buf_used); + m = tap_send_frames(c, tcp6_l2_iov, 1, tcp6_l2_buf_used); for (i = 0; i < m; i++) *tcp6_l2_buf_seq_update[i].seq += tcp6_l2_buf_seq_update[i].len; tcp6_l2_buf_used = 0; - m = tap_send_frames(c, tcp4_l2_iov, tcp4_l2_buf_used); + m = tap_send_frames(c, tcp4_l2_iov, 1, tcp4_l2_buf_used); for (i = 0; i < m; i++) *tcp4_l2_buf_seq_update[i].seq += tcp4_l2_buf_seq_update[i].len; tcp4_l2_buf_used = 0; |