X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fipsec%2Fipsec.c;h=4894022536ba8bf6d4db1c087415d7ad2b94b849;hb=ce8805c6a62893ec52a09c6acec48cce32c76706;hp=828bfe81e435de8230c5abb7ec56f0b6031e6b60;hpb=2096063b0856808326cbd2c1c8a3a786c98ea896;p=vpp.git diff --git a/src/vnet/ipsec/ipsec.c b/src/vnet/ipsec/ipsec.c index 828bfe81e43..4894022536b 100644 --- a/src/vnet/ipsec/ipsec.c +++ b/src/vnet/ipsec/ipsec.c @@ -23,6 +23,9 @@ #include #include #include +#include + +ipsec_main_t ipsec_main; u32 ipsec_get_sa_index_by_sa_id (u32 sa_id) @@ -363,13 +366,13 @@ ipsec_add_del_policy (vlib_main_t * vm, ipsec_policy_t * policy, int is_add) if (vec_elt(spd->ipv4_inbound_policy_discard_and_bypass_indices, j) == i) { vec_del1 (spd->ipv4_inbound_policy_discard_and_bypass_indices, j); break; + } } } } } pool_put (spd->policies, vp); break; - } })); /* *INDENT-ON* */ } @@ -377,7 +380,7 @@ ipsec_add_del_policy (vlib_main_t * vm, ipsec_policy_t * policy, int is_add) return 0; } -static u8 +u8 ipsec_is_sa_used (u32 sa_index) { ipsec_main_t *im = &ipsec_main; @@ -565,8 +568,18 @@ ipsec_init (vlib_main_t * vm) ASSERT (node); im->esp_decrypt_node_index = node->index; + node = vlib_get_node_by_name (vm, (u8 *) "ah-encrypt"); + ASSERT (node); + im->ah_encrypt_node_index = node->index; + + node = vlib_get_node_by_name (vm, (u8 *) "ah-decrypt"); + ASSERT (node); + im->ah_decrypt_node_index = node->index; + im->esp_encrypt_next_index = IPSEC_OUTPUT_NEXT_ESP_ENCRYPT; im->esp_decrypt_next_index = IPSEC_INPUT_NEXT_ESP_DECRYPT; + im->ah_encrypt_next_index = IPSEC_OUTPUT_NEXT_AH_ENCRYPT; + im->ah_decrypt_next_index = IPSEC_INPUT_NEXT_AH_DECRYPT; im->cb.check_support_cb = ipsec_check_support; @@ -576,7 +589,7 @@ ipsec_init (vlib_main_t * vm) if ((error = vlib_call_init_function (vm, ipsec_tunnel_if_init))) return error; - esp_init (); + ipsec_proto_init (); if ((error = ikev2_init (vm))) return error;