VPP-177: IPsec empty buffers allocation fix 45/1845/3
authorMatus Fabian <matfabia@cisco.com>
Mon, 4 Jul 2016 12:36:52 +0000 (05:36 -0700)
committerDamjan Marion <dmarion.lists@gmail.com>
Wed, 6 Jul 2016 09:23:14 +0000 (09:23 +0000)
Change-Id: I6d224fe19f1e0dd7ad5659e0734bc96ba37337ff
Signed-off-by: Matus Fabian <matfabia@cisco.com>
vnet/vnet/ipsec/esp_decrypt.c
vnet/vnet/ipsec/esp_encrypt.c

index 7af88b2..8d94f20 100644 (file)
@@ -237,10 +237,11 @@ esp_decrypt_node_fn (vlib_main_t * vm,
   from = vlib_frame_vector_args (from_frame);
   n_left_from = from_frame->n_vectors;
   u32 cpu_index = os_get_cpu_number();
-  u32 * empty_buffers = im->empty_buffers[cpu_index];
 
   ipsec_alloc_empty_buffers(vm, im);
 
+  u32 * empty_buffers = im->empty_buffers[cpu_index];
+
   if (PREDICT_FALSE(vec_len (empty_buffers) < n_left_from)){
     vlib_node_increment_counter (vm, esp_decrypt_node.index,
                                  ESP_DECRYPT_ERROR_NO_BUFFER, n_left_from);
index c81a878..ff0688c 100644 (file)
@@ -144,10 +144,11 @@ esp_encrypt_node_fn (vlib_main_t * vm,
   ipsec_main_t *im = &ipsec_main;
   u32 * recycle = 0;
   u32 cpu_index = os_get_cpu_number();
-  u32 * empty_buffers = im->empty_buffers[cpu_index];
 
   ipsec_alloc_empty_buffers(vm, im);
 
+  u32 * empty_buffers = im->empty_buffers[cpu_index];
+
   if (PREDICT_FALSE(vec_len (empty_buffers) < n_left_from)){
     vlib_node_increment_counter (vm, esp_encrypt_node.index,
                                  ESP_ENCRYPT_ERROR_NO_BUFFER, n_left_from);