12#ifndef __MKA_CA_STAT_H__
13#define __MKA_CA_STAT_H__
17#include "epan/dissectors/packet-mka.h"
23#define MKA_CA_MI_LEN 12U
24#define MKA_CA_CKN_LEN 32U
25#define MKA_CA_KI_LEN 16U
26#define MKA_CA_SCI_LEN 8U
38 uint8_t sci[MKA_CA_SCI_LEN];
40 uint8_t mi[MKA_CA_MI_LEN];
46 uint32_t activated_frame;
50 uint32_t installed_frame;
58 uint32_t demoted_frame;
65 uint8_t ki[MKA_CA_KI_LEN];
71 uint32_t trigger_frame;
79 uint8_t ks_sci[MKA_CA_SCI_LEN];
80 uint8_t ks_mi[MKA_CA_MI_LEN];
82 uint8_t sak[MKA_MAX_SAK_LEN];
88 uint8_t sci[MKA_CA_SCI_LEN];
89 uint8_t mi[MKA_CA_MI_LEN];
98 uint8_t mi[MKA_CA_MI_LEN];
102 uint32_t first_frame;
108 uint8_t sci[MKA_CA_SCI_LEN];
110 uint8_t mi[MKA_CA_MI_LEN];
121 uint8_t latest_ki[MKA_CA_KI_LEN];
122 bool latest_ki_valid;
127 uint8_t old_ki[MKA_CA_KI_LEN];
134 GPtrArray *live_peers;
135 GPtrArray *potential_peers;
140 const mka_ckn_info_t *ckn_info;
141 uint8_t ckn[MKA_CA_CKN_LEN];
144 GHashTable *mi_to_sci;
146 GPtrArray *key_servers;
148 bool pending_new_peer;
155 uint32_t ks_response_frame;
157 uint8_t ks_response_mi[MKA_CA_MI_LEN];
158 bool have_ks_response;
165 uint32_t ks_change_frame;
167 uint8_t ks_change_sci[MKA_CA_SCI_LEN];
169 uint8_t last_ks_sci[MKA_CA_SCI_LEN];
170 bool have_last_ks_sci;
175 uint32_t ks_origin_frame;
183 bool pre_existing_sak;
189 uint32_t last_dist_frame;
201mka_ca_stat_t *mka_ca_stat_new(
void);
204void mka_ca_stat_free(mka_ca_stat_t *st);
207void mka_ca_stat_reset(mka_ca_stat_t *st);
210void mka_ca_stat_process(mka_ca_stat_t *st,
const mka_ca_tap_t *tap);
213const uint8_t *mka_ca_lookup_sci(
const mka_ca_t *ca,
const uint8_t *mi);
216uint32_t mka_ki_kn(
const uint8_t *ki);
219const char *mka_form_kind_str(mka_form_kind_t kind);
224double mka_form_time(
const mka_form_t *form,
bool *all_activated,
unsigned *num_activated,
unsigned *num_total);
Definition mka_ca_stat.h:97
Definition mka_ca_stat.h:107
Definition mka_ca_stat.h:139
Definition mka_ca_stat.h:194
Definition mka_ca_stat.h:87