diff options
author | Stefano Brivio <sbrivio@redhat.com> | 2021-04-22 13:39:36 +0200 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2021-04-22 13:39:36 +0200 |
commit | 1f7cf04d343f185f9e044fdca70a1d0252492aed (patch) | |
tree | 77b28cc46e824f9247151ca21849e74da1cc0d57 /udp.h | |
parent | 5b0c88d4ef48c2c3c434929faf418f46db06d555 (diff) | |
download | passt-1f7cf04d343f185f9e044fdca70a1d0252492aed.tar passt-1f7cf04d343f185f9e044fdca70a1d0252492aed.tar.gz passt-1f7cf04d343f185f9e044fdca70a1d0252492aed.tar.bz2 passt-1f7cf04d343f185f9e044fdca70a1d0252492aed.tar.lz passt-1f7cf04d343f185f9e044fdca70a1d0252492aed.tar.xz passt-1f7cf04d343f185f9e044fdca70a1d0252492aed.tar.zst passt-1f7cf04d343f185f9e044fdca70a1d0252492aed.zip |
passt: Introduce packet batching mechanism
Receive packets in batches from AF_UNIX, check if they can be sent
with a single syscall, and batch them up with sendmmsg() in case.
A bit rudimentary, currently only implemented for UDP, but it seems
to work.
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'udp.h')
-rw-r--r-- | udp.h | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -1,3 +1,4 @@ void udp_sock_handler(struct ctx *c, int s, uint32_t events); -void udp_tap_handler(struct ctx *c, int af, void *addr, char *in, size_t len); +int udp_tap_handler(struct ctx *c, int af, void *addr, + struct tap_msg *msg, int count); int udp_sock_init(struct ctx *c); |