diff options
| author | David Gibson <david@gibson.dropbear.id.au> | 2026-05-21 16:37:44 +1000 |
|---|---|---|
| committer | Stefano Brivio <sbrivio@redhat.com> | 2026-05-26 12:21:45 +0200 |
| commit | ac9814efacd984f20da07318d2dcc8bffdc4e669 (patch) | |
| tree | 767905c420dd4b8455bcd9742b36bedc4fdab929 /test/lib | |
| parent | bda823050fba6351b3e9dbf557020bb3ec399d64 (diff) | |
| download | passt-ac9814efacd984f20da07318d2dcc8bffdc4e669.tar passt-ac9814efacd984f20da07318d2dcc8bffdc4e669.tar.gz passt-ac9814efacd984f20da07318d2dcc8bffdc4e669.tar.bz2 passt-ac9814efacd984f20da07318d2dcc8bffdc4e669.tar.lz passt-ac9814efacd984f20da07318d2dcc8bffdc4e669.tar.xz passt-ac9814efacd984f20da07318d2dcc8bffdc4e669.tar.zst passt-ac9814efacd984f20da07318d2dcc8bffdc4e669.zip | |
tcp_splice: Clean up flow control path for splice forwarding
Splice forwarding can be blocked either waiting for data from one side
or waiting for space on the other. For that reason,
tcp_splice_sock_handler() on either socket can forward data in either or
both directions, depending on whether we have EPOLLIN, EPOLLOUT or both
events.
The flow control for this is quite hard to follow though, since we forward
in one direction, then sometimes loop back with a goto to do it in the
other direction. Simplify this by adding a tcp_splice_forward() function
with the logic to forward in one direction and calling it either once or
twice from tcp_splice_sock_handler().
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'test/lib')
0 files changed, 0 insertions, 0 deletions
