aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/unittest/ipsec_test.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/unittest/ipsec_test.c')
-rw-r--r--src/plugins/unittest/ipsec_test.c27
1 files changed, 20 insertions, 7 deletions
diff --git a/src/plugins/unittest/ipsec_test.c b/src/plugins/unittest/ipsec_test.c
index 98253eeb12a..23867e1b043 100644
--- a/src/plugins/unittest/ipsec_test.c
+++ b/src/plugins/unittest/ipsec_test.c
@@ -40,19 +40,32 @@ test_ipsec_command_fn (vlib_main_t *vm, unformat_input_t *input,
if (~0 != sa_id)
{
ipsec_sa_t *sa;
+ ipsec_sa_inb_rt_t *irt;
+ ipsec_sa_outb_rt_t *ort;
u32 sa_index;
sa_index = ipsec_sa_find_and_lock (sa_id);
sa = ipsec_sa_get (sa_index);
+ irt = ipsec_sa_get_inb_rt (sa);
+ ort = ipsec_sa_get_outb_rt (sa);
- sa->seq = seq_num & 0xffffffff;
- sa->seq_hi = seq_num >> 32;
+ if (ort)
+ {
+ ort->seq = seq_num & 0xffffffff;
+ ort->seq_hi = seq_num >> 32;
+ }
- /* clear the window */
- if (ipsec_sa_is_set_ANTI_REPLAY_HUGE (sa))
- clib_bitmap_zero (sa->replay_window_huge);
- else
- sa->replay_window = 0;
+ if (irt)
+ {
+ irt->seq = seq_num & 0xffffffff;
+ irt->seq_hi = seq_num >> 32;
+
+ /* clear the window */
+ if (ipsec_sa_is_set_ANTI_REPLAY_HUGE (sa))
+ clib_bitmap_zero (irt->replay_window_huge);
+ else
+ irt->replay_window = 0;
+ }
ipsec_sa_unlock (sa_index);
}