Module: monitoring-plugins
 Branch: master
 Commit: b08bafc45cea008abb46e0891c55e7745e117aae
 Author: Lorenz Kästle <12514511+rincewinds...@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;
 

Reply via email to