For spliced connections, both "sides" are sockets, and for many
purposes how we deal with each side is symmetric. Currently, however,
we track the information for each side in independent fields in the
structure, meaning we can't easily exploit that symmetry.
This makes a number of reorganizations of the tcp splice code so that
we can explot that symmetry to reduce code size. This will have some
additional advantages when we come to integrate with the in-progress
unified flow table.
Based on top of the interface identifiers and automatic forwarding
cleanup series.
David Gibson (11):
tcp_splice: Remove redundant tcp_splice_epoll_ctl()
tcp_splice: Correct error handling in tcp_splice_epoll_ctl()
tcp_splice: Don't handle EPOLL_CTL_DEL as part of
tcp_splice_epoll_ctl()
tcp_splice: Remove unnecessary forward declaration
tcp_splice: Avoid awkward temporaries in tcp_splice_epoll_ctl()
tcp_splice: Don't pool pipes in pairs
tcp_splice: Rename sides of connection from a/b to 0/1
tcp_splice: Exploit side symmetry in tcp_splice_timer()
tcp_splice: Exploit side symmetry in tcp_splice_connect_finish()
tcp_splice: Exploit side symmetry in tcp_splice_destroy()
tcp_splice: Simplify selection of socket and pipe sides in socket
handler
tcp_conn.h | 45 +++---
tcp_splice.c | 389 +++++++++++++++++++++------------------------------
2 files changed, 179 insertions(+), 255 deletions(-)
--
2.41.0