[monitoring-plugins] check_icmp: remove paket_interval, was never used ...

Lorenz Kästle git at monitoring-plugins.org
Mon Jun 23 12:10:11 CEST 2025


 Module: monitoring-plugins
 Branch: master
 Commit: b08bafc45cea008abb46e0891c55e7745e117aae
 Author: Lorenz Kästle <12514511+RincewindsHat at users.noreply.github.com>
   Date: Mon Jun 23 10:52:56 2025 +0200
    URL: https://www.monitoring-plugins.org/repositories/monitoring-plugins/commit/?id=b08bafc4

check_icmp: remove paket_interval, was never used anyway

---

 plugins-root/check_icmp.c                      | 88 +++++++++++---------------
 plugins-root/check_icmp.d/check_icmp_helpers.c |  1 -
 plugins-root/check_icmp.d/config.h             |  1 -
 3 files changed, 37 insertions(+), 53 deletions(-)

diff --git a/plugins-root/check_icmp.c b/plugins-root/check_icmp.c
index d181af56..524e1fb9 100644
--- a/plugins-root/check_icmp.c
+++ b/plugins-root/check_icmp.c
@@ -151,10 +151,9 @@ static void set_source_ip(char *arg, int icmp_sock, sa_family_t addr_family);
 
 /* Receiving data */
 static int wait_for_reply(check_icmp_socket_set sockset, time_t time_interval,
-						  unsigned short icmp_pkt_size, time_t *pkt_interval,
-						  time_t *target_interval, uint16_t sender_id, ping_target **table,
-						  unsigned short packets, unsigned short number_of_targets,
-						  check_icmp_state *program_state);
+						  unsigned short icmp_pkt_size, time_t *target_interval, uint16_t sender_id,
+						  ping_target **table, unsigned short packets,
+						  unsigned short number_of_targets, check_icmp_state *program_state);
 
 typedef struct {
 	sa_family_t recv_proto;
@@ -164,9 +163,9 @@ static recvfrom_wto_wrapper recvfrom_wto(check_icmp_socket_set sockset, void *bu
 										 struct sockaddr *saddr, time_t *timeout,
 										 struct timeval *received_timestamp);
 static int handle_random_icmp(unsigned char *packet, struct sockaddr_storage *addr,
-							  time_t *pkt_interval, time_t *target_interval, uint16_t sender_id,
-							  ping_target **table, unsigned short packets,
-							  unsigned short number_of_targets, check_icmp_state *program_state);
+							  time_t *target_interval, uint16_t sender_id, ping_target **table,
+							  unsigned short packets, unsigned short number_of_targets,
+							  check_icmp_state *program_state);
 
 /* Sending data */
 static int send_icmp_ping(check_icmp_socket_set sockset, ping_target *host,
@@ -198,11 +197,11 @@ static parse_threshold2_helper_wrapper parse_threshold2_helper(char *threshold_s
 															   threshold_mode mode);
 
 /* main test function */
-static void run_checks(unsigned short icmp_pkt_size, time_t *pkt_interval, time_t *target_interval,
-					   uint16_t sender_id, check_icmp_execution_mode mode,
-					   time_t max_completion_time, struct timeval prog_start, ping_target **table,
-					   unsigned short packets, check_icmp_socket_set sockset,
-					   unsigned short number_of_targets, check_icmp_state *program_state);
+static void run_checks(unsigned short icmp_pkt_size, time_t *target_interval, uint16_t sender_id,
+					   check_icmp_execution_mode mode, time_t max_completion_time,
+					   struct timeval prog_start, ping_target **table, unsigned short packets,
+					   check_icmp_socket_set sockset, unsigned short number_of_targets,
+					   check_icmp_state *program_state);
 mp_subcheck evaluate_target(ping_target target, check_icmp_mode_switches modes,
 							check_icmp_threshold warn, check_icmp_threshold crit);
 
@@ -297,14 +296,12 @@ check_icmp_config_wrapper process_arguments(int argc, char **argv) {
 		result.config.mode = MODE_ICMP;
 	} else if (!strcmp(progname, "check_host")) {
 		result.config.mode = MODE_HOSTCHECK;
-		result.config.pkt_interval = 1000000;
 		result.config.number_of_packets = 5;
 		result.config.crit.rta = result.config.warn.rta = 1000000;
 		result.config.crit.pl = result.config.warn.pl = 100;
 	} else if (!strcmp(progname, "check_rta_multi")) {
 		result.config.mode = MODE_ALL;
 		result.config.target_interval = 0;
-		result.config.pkt_interval = 50000;
 		result.config.number_of_packets = 5;
 	}
 	/* support "--help" and "--version" */
@@ -418,13 +415,7 @@ check_icmp_config_wrapper process_arguments(int argc, char **argv) {
 				}
 			} break;
 			case 'i': {
-				get_timevar_wrapper parsed_time = get_timevar(optarg);
-
-				if (parsed_time.error_code == OK) {
-					result.config.pkt_interval = parsed_time.time_range;
-				} else {
-					crash("failed to parse packet interval");
-				}
+				// packet_interval was unused and is now removed
 			} break;
 			case 'I': {
 				get_timevar_wrapper parsed_time = get_timevar(optarg);
@@ -738,8 +729,8 @@ static const char *get_icmp_error_msg(unsigned char icmp_type, unsigned char icm
 }
 
 static int handle_random_icmp(unsigned char *packet, struct sockaddr_storage *addr,
-							  time_t *pkt_interval, time_t *target_interval,
-							  const uint16_t sender_id, ping_target **table, unsigned short packets,
+							  time_t *target_interval, const uint16_t sender_id,
+							  ping_target **table, unsigned short packets,
 							  const unsigned short number_of_targets,
 							  check_icmp_state *program_state) {
 	struct icmp icmp_packet;
@@ -799,7 +790,6 @@ static int handle_random_icmp(unsigned char *packet, struct sockaddr_storage *ad
 	/* source quench means we're sending too fast, so increase the
 	 * interval and mark this packet lost */
 	if (icmp_packet.icmp_type == ICMP_SOURCEQUENCH) {
-		*pkt_interval = (unsigned int)((double)*pkt_interval * PACKET_BACKOFF_FACTOR);
 		*target_interval = (unsigned int)((double)*target_interval * TARGET_BACKOFF_FACTOR);
 	} else {
 		program_state->targets_down++;
@@ -931,18 +921,17 @@ int main(int argc, char **argv) {
 	gettimeofday(&prog_start, NULL);
 
 	time_t max_completion_time =
-		((config.pkt_interval * config.number_of_targets * config.number_of_packets) +
-		 (config.target_interval * config.number_of_targets)) +
+		(config.target_interval * config.number_of_targets) +
 		(config.crit.rta * config.number_of_targets * config.number_of_packets) + config.crit.rta;
 
 	if (debug) {
 		printf("packets: %u, targets: %u\n"
-			   "target_interval: %0.3f, pkt_interval %0.3f\n"
+			   "target_interval: %0.3f\n"
 			   "crit.rta: %0.3f\n"
 			   "max_completion_time: %0.3f\n",
 			   config.number_of_packets, config.number_of_targets,
-			   (float)config.target_interval / 1000, (float)config.pkt_interval / 1000,
-			   (float)config.crit.rta / 1000, (float)max_completion_time / 1000);
+			   (float)config.target_interval / 1000, (float)config.crit.rta / 1000,
+			   (float)max_completion_time / 1000);
 	}
 
 	if (debug) {
@@ -955,8 +944,7 @@ int main(int argc, char **argv) {
 	if (debug) {
 		printf("crit = {%ld, %u%%}, warn = {%ld, %u%%}\n", config.crit.rta, config.crit.pl,
 			   config.warn.rta, config.warn.pl);
-		printf("pkt_interval: %ld  target_interval: %ld\n", config.pkt_interval,
-			   config.target_interval);
+		printf("target_interval: %ld\n", config.target_interval);
 		printf("icmp_pkt_size: %u  timeout: %u\n", config.icmp_pkt_size, timeout);
 	}
 
@@ -980,14 +968,13 @@ int main(int argc, char **argv) {
 		target_index++;
 	}
 
-	time_t pkt_interval = config.pkt_interval;
 	time_t target_interval = config.target_interval;
 
 	check_icmp_state program_state = check_icmp_state_init();
 
-	run_checks(config.icmp_data_size, &pkt_interval, &target_interval, config.sender_id,
-			   config.mode, max_completion_time, prog_start, table, config.number_of_packets,
-			   sockset, config.number_of_targets, &program_state);
+	run_checks(config.icmp_data_size, &target_interval, config.sender_id, config.mode,
+			   max_completion_time, prog_start, table, config.number_of_packets, sockset,
+			   config.number_of_targets, &program_state);
 
 	errno = 0;
 
@@ -1006,7 +993,7 @@ int main(int argc, char **argv) {
 	mp_exit(overall);
 }
 
-static void run_checks(unsigned short icmp_pkt_size, time_t *pkt_interval, time_t *target_interval,
+static void run_checks(unsigned short icmp_pkt_size, time_t *target_interval,
 					   const uint16_t sender_id, const check_icmp_execution_mode mode,
 					   const time_t max_completion_time, const struct timeval prog_start,
 					   ping_target **table, const unsigned short packets,
@@ -1039,17 +1026,15 @@ static void run_checks(unsigned short icmp_pkt_size, time_t *pkt_interval, time_
 			if (targets_alive(number_of_targets, program_state->targets_down) ||
 				get_timevaldiff(prog_start, prog_start) < max_completion_time ||
 				!(mode == MODE_HOSTCHECK && program_state->targets_down)) {
-				wait_for_reply(sockset, *target_interval, icmp_pkt_size, pkt_interval,
-							   target_interval, sender_id, table, packets, number_of_targets,
-							   program_state);
+				wait_for_reply(sockset, *target_interval, icmp_pkt_size, target_interval, sender_id,
+							   table, packets, number_of_targets, program_state);
 			}
 		}
 		if (targets_alive(number_of_targets, program_state->targets_down) ||
 			get_timevaldiff_to_now(prog_start) < max_completion_time ||
 			!(mode == MODE_HOSTCHECK && program_state->targets_down)) {
-			wait_for_reply(sockset, *pkt_interval * number_of_targets, icmp_pkt_size, pkt_interval,
-						   target_interval, sender_id, table, packets, number_of_targets,
-						   program_state);
+			wait_for_reply(sockset, number_of_targets, icmp_pkt_size, target_interval, sender_id,
+						   table, packets, number_of_targets, program_state);
 		}
 	}
 
@@ -1079,8 +1064,8 @@ static void run_checks(unsigned short icmp_pkt_size, time_t *pkt_interval, time_
 		if (targets_alive(number_of_targets, program_state->targets_down) ||
 			get_timevaldiff_to_now(prog_start) < max_completion_time ||
 			!(mode == MODE_HOSTCHECK && program_state->targets_down)) {
-			wait_for_reply(sockset, final_wait, icmp_pkt_size, pkt_interval, target_interval,
-						   sender_id, table, packets, number_of_targets, program_state);
+			wait_for_reply(sockset, final_wait, icmp_pkt_size, target_interval, sender_id, table,
+						   packets, number_of_targets, program_state);
 		}
 	}
 }
@@ -1096,10 +1081,9 @@ static void run_checks(unsigned short icmp_pkt_size, time_t *pkt_interval, time_
  * icmp echo reply : the rest
  */
 static int wait_for_reply(check_icmp_socket_set sockset, const time_t time_interval,
-						  unsigned short icmp_pkt_size, time_t *pkt_interval,
-						  time_t *target_interval, uint16_t sender_id, ping_target **table,
-						  const unsigned short packets, const unsigned short number_of_targets,
-						  check_icmp_state *program_state) {
+						  unsigned short icmp_pkt_size, time_t *target_interval, uint16_t sender_id,
+						  ping_target **table, const unsigned short packets,
+						  const unsigned short number_of_targets, check_icmp_state *program_state) {
 	union icmp_packet packet;
 	if (!(packet.buf = malloc(icmp_pkt_size))) {
 		crash("send_icmp_ping(): failed to malloc %d bytes for send buffer", icmp_pkt_size);
@@ -1185,8 +1169,8 @@ static int wait_for_reply(check_icmp_socket_set sockset, const time_t time_inter
 				printf("not a proper ICMP_ECHOREPLY\n");
 			}
 
-			handle_random_icmp(buf + hlen, &resp_addr, pkt_interval, target_interval, sender_id,
-							   table, packets, number_of_targets, program_state);
+			handle_random_icmp(buf + hlen, &resp_addr, target_interval, sender_id, table, packets,
+							   number_of_targets, program_state);
 
 			continue;
 		}
@@ -2111,8 +2095,10 @@ void print_help(void) {
 	printf("    %s", _("number of packets to send (default "));
 	printf("%u)\n", DEFAULT_NUMBER_OF_PACKETS);
 	printf(" %s\n", "-i");
-	printf("    %s", _("max packet interval (default "));
+	printf("    %s", _("[DEPRECATED] packet interval (default "));
 	printf("%0.3fms)\n", (float)DEFAULT_PKT_INTERVAL / 1000);
+	printf("    %s", _("This option was never actually used and is just mentioned here for "
+					   "historical purposes"));
 	printf(" %s\n", "-I");
 	printf("    %s%0.3fms)\n    The time interval to wait in between one target and the next",
 		   _("max target interval (default "), (float)DEFAULT_TARGET_INTERVAL / 1000);
diff --git a/plugins-root/check_icmp.d/check_icmp_helpers.c b/plugins-root/check_icmp.d/check_icmp_helpers.c
index 9acc96fd..0be0f2dc 100644
--- a/plugins-root/check_icmp.d/check_icmp_helpers.c
+++ b/plugins-root/check_icmp.d/check_icmp_helpers.c
@@ -35,7 +35,6 @@ check_icmp_config check_icmp_config_init() {
 		.ttl = DEFAULT_TTL,
 		.icmp_data_size = DEFAULT_PING_DATA_SIZE,
 		.icmp_pkt_size = DEFAULT_PING_DATA_SIZE + ICMP_MINLEN,
-		.pkt_interval = DEFAULT_PKT_INTERVAL,
 		.target_interval = 0,
 		.number_of_packets = DEFAULT_NUMBER_OF_PACKETS,
 
diff --git a/plugins-root/check_icmp.d/config.h b/plugins-root/check_icmp.d/config.h
index 8092e343..1568d6c3 100644
--- a/plugins-root/check_icmp.d/config.h
+++ b/plugins-root/check_icmp.d/config.h
@@ -61,7 +61,6 @@ typedef struct {
 	unsigned long ttl;
 	unsigned short icmp_data_size;
 	unsigned short icmp_pkt_size;
-	time_t pkt_interval;
 	time_t target_interval;
 	unsigned short number_of_packets;
 



More information about the Commits mailing list