summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--vnet/vnet/ipsec/esp_decrypt.c9
-rw-r--r--vnet/vnet/ipsec/esp_encrypt.c2
2 files changed, 8 insertions, 3 deletions
diff --git a/vnet/vnet/ipsec/esp_decrypt.c b/vnet/vnet/ipsec/esp_decrypt.c
index 6c7f27f078c..df9ec929b4f 100644
--- a/vnet/vnet/ipsec/esp_decrypt.c
+++ b/vnet/vnet/ipsec/esp_decrypt.c
@@ -305,6 +305,8 @@ esp_decrypt_node_fn (vlib_main_t * vm,
vlib_node_increment_counter (vm, esp_decrypt_node.index,
ESP_DECRYPT_ERROR_REPLAY, 1);
o_bi0 = i_bi0;
+ to_next[0] = o_bi0;
+ to_next += 1;
goto trace;
}
}
@@ -329,6 +331,8 @@ esp_decrypt_node_fn (vlib_main_t * vm,
ESP_DECRYPT_ERROR_INTEG_ERROR,
1);
o_bi0 = i_bi0;
+ to_next[0] = o_bi0;
+ to_next += 1;
goto trace;
}
}
@@ -344,6 +348,8 @@ esp_decrypt_node_fn (vlib_main_t * vm,
/* grab free buffer */
uword last_empty_buffer = vec_len (empty_buffers) - 1;
o_bi0 = empty_buffers[last_empty_buffer];
+ to_next[0] = o_bi0;
+ to_next += 1;
o_b0 = vlib_get_buffer (vm, o_bi0);
vlib_prefetch_buffer_with_index (vm,
empty_buffers[last_empty_buffer -
@@ -481,9 +487,6 @@ esp_decrypt_node_fn (vlib_main_t * vm,
IPSEC_FLAG_IPSEC_GRE_TUNNEL))
next0 = ESP_DECRYPT_NEXT_IPSEC_GRE_INPUT;
- to_next[0] = o_bi0;
- to_next += 1;
-
vnet_buffer (o_b0)->sw_if_index[VLIB_TX] = (u32) ~ 0;
}
diff --git a/vnet/vnet/ipsec/esp_encrypt.c b/vnet/vnet/ipsec/esp_encrypt.c
index 0516d43f09b..193c0849b71 100644
--- a/vnet/vnet/ipsec/esp_encrypt.c
+++ b/vnet/vnet/ipsec/esp_encrypt.c
@@ -202,6 +202,8 @@ esp_encrypt_node_fn (vlib_main_t * vm,
ESP_ENCRYPT_ERROR_SEQ_CYCLED, 1);
//TODO: rekey SA
o_bi0 = i_bi0;
+ to_next[0] = o_bi0;
+ to_next += 1;
goto trace;
}