mirror of
https://passt.top/passt
synced 2025-08-13 10:33:13 +02:00
tcp, tcp_splice: Avoid double layered dispatch for connected TCP sockets
Currently connected TCP sockets have the same epoll type, whether they're for a "tap" connection or a spliced connection. This means that tcp_sock_handler() has to do a secondary check on the type of the connection to call the right function. We can avoid this by adding a new epoll type and dispatching directly to the right thing. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
This commit is contained in:
parent
70121ca1ec
commit
02e092b4fe
5 changed files with 27 additions and 39 deletions
|
@ -8,8 +8,8 @@
|
|||
|
||||
struct tcp_splice_conn;
|
||||
|
||||
void tcp_splice_sock_handler(struct ctx *c, struct tcp_splice_conn *conn,
|
||||
int side, uint32_t events);
|
||||
void tcp_splice_sock_handler(struct ctx *c, union epoll_ref ref,
|
||||
uint32_t events);
|
||||
bool tcp_splice_conn_from_sock(const struct ctx *c,
|
||||
union tcp_listen_epoll_ref ref,
|
||||
struct tcp_splice_conn *conn, int s,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue