From dd581730e54b934f80d5b6a820136707dc71c664 Mon Sep 17 00:00:00 2001 From: Stefano Brivio Date: Sun, 26 Sep 2021 23:38:22 +0200 Subject: tap: Completely de-serialise input message batches Until now, messages would be passed to protocol handlers in a single batch only if they happened to be dequeued in a row. Packets interleaved between different connections would result in multiple calls to the same protocol handler for a single connection. Instead, keep track of incoming packet descriptors, arrange them in sequences, and call protocol handlers only as we completely sorted input messages in batches. Signed-off-by: Stefano Brivio --- icmp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'icmp.h') diff --git a/icmp.h b/icmp.h index 27f0a5c..78f54aa 100644 --- a/icmp.h +++ b/icmp.h @@ -8,7 +8,7 @@ struct ctx; void icmp_sock_handler(struct ctx *c, union epoll_ref ref, uint32_t events, struct timespec *now); int icmp_tap_handler(struct ctx *c, int af, void *addr, - struct tap_msg *msg, int count, struct timespec *now); + struct tap_l4_msg *msg, int count, struct timespec *now); void icmp_timer(struct ctx *c, struct timespec *ts); /** -- cgit v1.2.3