diff options
author | Neale Ranns <nranns@cisco.com> | 2019-02-17 18:04:27 +0000 |
---|---|---|
committer | Damjan Marion <dmarion@me.com> | 2019-02-18 13:05:17 +0000 |
commit | eba31ecebed1a7d168da17194cab7a8955761f2b (patch) | |
tree | fe640b26f9dc98d7aaf5ff0ade2d643a1b86cbbe /src/vnet/ipsec/ipsec_api.c | |
parent | 684586786e98bc779e269c0d879a2a4d3f1f4bce (diff) |
IPSEC: move SA counters into the stats segment
1) stats are accessed via the stat segment which is more condusive to
monitoring
2) stats are accurate in the presence of multiple threads. There's no
guarantee that an SA is access from only one worker.
Change-Id: Id5e217ea253ddfc9480aaedb0d008dea031b1148
Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'src/vnet/ipsec/ipsec_api.c')
-rw-r--r-- | src/vnet/ipsec/ipsec_api.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/vnet/ipsec/ipsec_api.c b/src/vnet/ipsec/ipsec_api.c index 2d464b31290..a26f486d6ef 100644 --- a/src/vnet/ipsec/ipsec_api.c +++ b/src/vnet/ipsec/ipsec_api.c @@ -354,7 +354,7 @@ static void vl_api_ipsec_sad_entry_add_del_t_handler ipsec_integ_alg_t integ_alg; ipsec_protocol_t proto; ipsec_sa_flags_t flags; - u32 id, spi; + u32 id, spi, sa_index; int rv; #if WITH_LIBSSL > 0 @@ -390,7 +390,7 @@ static void vl_api_ipsec_sad_entry_add_del_t_handler rv = ipsec_sa_add (id, spi, proto, crypto_alg, &crypto_key, integ_alg, &integ_key, flags, - 0, &tun_src, &tun_dst, NULL); + 0, &tun_src, &tun_dst, &sa_index); else rv = ipsec_sa_del (id); @@ -399,7 +399,12 @@ static void vl_api_ipsec_sad_entry_add_del_t_handler #endif out: - REPLY_MACRO (VL_API_IPSEC_SAD_ENTRY_ADD_DEL_REPLY); + /* *INDENT-OFF* */ + REPLY_MACRO2 (VL_API_IPSEC_SAD_ENTRY_ADD_DEL_REPLY, + { + rmp->stat_index = htonl (sa_index); + }); + /* *INDENT-ON* */ } static void @@ -708,7 +713,6 @@ send_ipsec_sa_details (ipsec_sa_t * sa, vl_api_registration_t * reg, } if (sa->use_anti_replay) mp->replay_window = clib_host_to_net_u64 (sa->replay_window); - mp->total_data_size = clib_host_to_net_u64 (sa->total_data_size); vl_api_send_msg (reg, (u8 *) mp); } |