ipsec: IPSec protection for multi-point tunnel interfaces
[vpp.git] / src / vnet / ipsec / ipsec_punt.c
1 /*
2  * esp_decrypt.c : IPSec ESP decrypt node
3  *
4  * Copyright (c) 2015 Cisco and/or its affiliates.
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at:
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17
18 #include <vnet/ipsec/ipsec.h>
19 #include <vnet/ipsec/ipsec_punt.h>
20
21 static vlib_punt_hdl_t punt_hdl;
22
23 vlib_punt_reason_t ipsec_punt_reason[IPSEC_PUNT_N_REASONS];
24
25 static clib_error_t *
26 ipsec_punt_init (vlib_main_t * vm)
27 {
28   clib_error_t *error;
29
30   if ((error = vlib_call_init_function (vm, punt_init)))
31     return (error);
32
33   punt_hdl = vlib_punt_client_register ("ipsec");
34
35 #define _(s,v)  vlib_punt_reason_alloc (punt_hdl, v,                    \
36                                         &ipsec_punt_reason[IPSEC_PUNT_##s]);
37   foreach_ipsec_punt_reason
38 #undef _
39     return (error);
40 }
41
42 VLIB_INIT_FUNCTION (ipsec_punt_init);
43
44
45 /*
46  * fd.io coding-style-patch-verification: ON
47  *
48  * Local Variables:
49  * eval: (c-set-style "gnu")
50  * End:
51  */