mirror of
https://passt.top/passt
synced 2025-06-16 12:25:34 +02:00
tcp, tcp_splice: Helpers for getting sockets from the pools
We maintain pools of ready-to-connect sockets in both the original and (for pasta) guest namespace to reduce latency when starting new TCP connections. If we exhaust those pools we have to take a higher latency path to get a new socket. Currently we open-code that fallback in the places we need it. To improve clarity encapsulate that into helper functions. While we're at it, give those helpers clearer error reporting. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
This commit is contained in:
parent
fbe81decbd
commit
fe27ebce5c
3 changed files with 62 additions and 29 deletions
|
@ -159,7 +159,7 @@ bool tcp_flow_defer(union flow *flow);
|
|||
bool tcp_splice_flow_defer(union flow *flow);
|
||||
void tcp_splice_timer(const struct ctx *c, union flow *flow);
|
||||
int tcp_conn_pool_sock(int pool[]);
|
||||
int tcp_conn_new_sock(const struct ctx *c, sa_family_t af);
|
||||
int tcp_conn_sock(const struct ctx *c, sa_family_t af);
|
||||
int tcp_sock_refill_pool(const struct ctx *c, int pool[], sa_family_t af);
|
||||
void tcp_splice_refill(const struct ctx *c);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue