[PATCH] udp, icmp: Remove unused timer_run fields from protocol contexts
Since 260075bde769 ("tcp, udp, fwd: Run all port scanning from a
single timer"), CALL_PROTO_HANDLER() is only used for TCP. UDP and
ICMP timers now run from flow_defer_handler(), making the timer_run
fields in struct udp_ctx and struct icmp_ctx dead stores.
Remove the unused fields, drop struct icmp_ctx entirely (it has no
remaining members), and stop initialising them in timer_init().
Signed-off-by: Laurent Vivier
On Fri, Jun 19, 2026 at 12:30:06PM +0200, Laurent Vivier wrote:
Since 260075bde769 ("tcp, udp, fwd: Run all port scanning from a single timer"), CALL_PROTO_HANDLER() is only used for TCP. UDP and ICMP timers now run from flow_defer_handler(), making the timer_run fields in struct udp_ctx and struct icmp_ctx dead stores.
Remove the unused fields, drop struct icmp_ctx entirely (it has no remaining members), and stop initialising them in timer_init().
Signed-off-by: Laurent Vivier
Reviewed-by: David Gibson
--- icmp.h | 7 ------- passt.c | 2 +- passt.h | 2 -- udp.h | 2 -- 4 files changed, 1 insertion(+), 12 deletions(-)
diff --git a/icmp.h b/icmp.h index e8b928b61370..556260461995 100644 --- a/icmp.h +++ b/icmp.h @@ -19,12 +19,5 @@ int icmp_tap_handler(const struct ctx *c, uint8_t pif, sa_family_t af, struct iov_tail *data, const struct timespec *now); void icmp_init(void);
-/** - * struct icmp_ctx - Execution context for ICMP routines - * @timer_run: Timestamp of most recent timer run - */ -struct icmp_ctx { - struct timespec timer_run; -};
#endif /* ICMP_H */ diff --git a/passt.c b/passt.c index b1d35d5bf988..677c8471a105 100644 --- a/passt.c +++ b/passt.c @@ -141,7 +141,7 @@ static void random_init(struct ctx *c) */ static void timer_init(struct ctx *c, const struct timespec *now) { - c->tcp.timer_run = c->udp.timer_run = c->icmp.timer_run = *now; + c->tcp.timer_run = *now; }
/** diff --git a/passt.h b/passt.h index 3a072945c382..205d7eecede7 100644 --- a/passt.h +++ b/passt.h @@ -194,7 +194,6 @@ struct ip6_ctx { * @no_udp: Disable UDP operation * @udp: Context for UDP protocol handler * @no_icmp: Disable ICMP operation - * @icmp: Context for ICMP protocol handler * @mtu: MTU passed via DHCP/NDP * @no_dns: Do not source/use DNS servers for any purpose * @no_dns_search: Do not source/use domain search lists for any purpose @@ -279,7 +278,6 @@ struct ctx { int no_udp; struct udp_ctx udp; int no_icmp; - struct icmp_ctx icmp;
int no_dns; int no_dns_search; diff --git a/udp.h b/udp.h index 9ea7de682caf..b50283eab198 100644 --- a/udp.h +++ b/udp.h @@ -26,14 +26,12 @@ void udp_update_l2_buf(const unsigned char *eth_d); * struct udp_ctx - Execution context for UDP * @scan_in: Port scanning state for inbound packets * @scan_out: Port scanning state for outbound packets - * @timer_run: Timestamp of most recent timer run * @timeout: Timeout for unidirectional flows (in s) * @stream_timeout: Timeout for stream-like flows (in s) */ struct udp_ctx { struct fwd_scan scan_in; struct fwd_scan scan_out; - struct timespec timer_run; int timeout; int stream_timeout; }; -- 2.54.0
-- David Gibson (he or they) | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you, not the other way | around. http://www.ozlabs.org/~dgibson
participants (2)
-
David Gibson
-
Laurent Vivier