/src/frr/pimd/pim_igmp_stats.c
Line | Count | Source |
1 | | // SPDX-License-Identifier: GPL-2.0-or-later |
2 | | /* |
3 | | * PIM for FRRouting |
4 | | * Copyright (C) 2018 Mladen Sablic |
5 | | */ |
6 | | |
7 | | #ifdef HAVE_CONFIG_H |
8 | | #include "config.h" |
9 | | #endif |
10 | | |
11 | | #include "pim_igmp_stats.h" |
12 | | |
13 | | void igmp_stats_init(struct igmp_stats *stats) |
14 | 0 | { |
15 | 0 | memset(stats, 0, sizeof(struct igmp_stats)); |
16 | 0 | } |
17 | | |
18 | | void igmp_stats_add(struct igmp_stats *a, struct igmp_stats *b) |
19 | 0 | { |
20 | 0 | if (!a || !b) |
21 | 0 | return; |
22 | | |
23 | 0 | a->query_v1 += b->query_v1; |
24 | 0 | a->query_v2 += b->query_v2; |
25 | 0 | a->query_v3 += b->query_v3; |
26 | 0 | a->report_v1 += b->report_v1; |
27 | 0 | a->report_v2 += b->report_v2; |
28 | 0 | a->report_v3 += b->report_v3; |
29 | 0 | a->leave_v2 += b->leave_v2; |
30 | 0 | a->mtrace_rsp += b->mtrace_rsp; |
31 | 0 | a->mtrace_req += b->mtrace_req; |
32 | 0 | a->unsupported += b->unsupported; |
33 | 0 | a->peak_groups += b->peak_groups; |
34 | 0 | a->total_groups += b->total_groups; |
35 | 0 | a->total_source_groups += b->total_source_groups; |
36 | 0 | a->joins_sent += b->joins_sent; |
37 | 0 | a->joins_failed += b->joins_failed; |
38 | 0 | a->general_queries_sent += b->general_queries_sent; |
39 | 0 | a->group_queries_sent += b->group_queries_sent; |
40 | 0 | a->total_recv_messages += b->query_v1 + b->query_v2 + b->query_v3 + |
41 | 0 | b->report_v1 + b->report_v2 + b->report_v3 + |
42 | 0 | b->leave_v2 + b->mtrace_rsp + b->mtrace_req; |
43 | 0 | } |