summaryrefslogtreecommitdiffstats
path: root/src/vnet/ipsec
diff options
context:
space:
mode:
authorMohammed Hawari <mohammed@hawari.fr>2021-02-05 15:40:00 +0100
committerNeale Ranns <neale@graphiant.com>2021-03-14 14:37:01 +0000
commit45723b8d305c7c6d034e16fcbf1904fd72dd6bb2 (patch)
treebb010ccd464efcfb90ccfabddded7b63b8223e6a /src/vnet/ipsec
parent4e3f7b2869925b0812a58d04c4bf6371e6773630 (diff)
ip: extend punt CLI for exception packets
Change-Id: I20e48a5ac8068eccb8d998346d35227c4802bb68 Signed-off-by: Mohammed Hawari <mohammed@hawari.fr> Type: feature
Diffstat (limited to 'src/vnet/ipsec')
-rw-r--r--src/vnet/ipsec/ipsec_punt.c10
-rw-r--r--src/vnet/ipsec/ipsec_punt.h10
2 files changed, 11 insertions, 9 deletions
diff --git a/src/vnet/ipsec/ipsec_punt.c b/src/vnet/ipsec/ipsec_punt.c
index a08231ab299..8a276546a56 100644
--- a/src/vnet/ipsec/ipsec_punt.c
+++ b/src/vnet/ipsec/ipsec_punt.c
@@ -18,6 +18,7 @@
#include <vnet/ipsec/ipsec.h>
#include <vnet/ipsec/ipsec_punt.h>
#include <vnet/ipsec/ipsec_tun.h>
+#include <vnet/ip/punt.h>
static vlib_punt_hdl_t punt_hdl;
@@ -48,10 +49,11 @@ ipsec_punt_init (vlib_main_t * vm)
punt_hdl = vlib_punt_client_register ("ipsec");
-#define _(s,v) vlib_punt_reason_alloc (punt_hdl, v, \
- ipsec_punt_interested_listener, \
- NULL, \
- &ipsec_punt_reason[IPSEC_PUNT_##s]);
+#define _(s, v, f) \
+ vlib_punt_reason_alloc (punt_hdl, v, ipsec_punt_interested_listener, NULL, \
+ &ipsec_punt_reason[IPSEC_PUNT_##s], \
+ VNET_PUNT_REASON_F_##f, \
+ format_vnet_punt_reason_flags);
foreach_ipsec_punt_reason
#undef _
return (error);
diff --git a/src/vnet/ipsec/ipsec_punt.h b/src/vnet/ipsec/ipsec_punt.h
index f95e1da9133..afed908bffb 100644
--- a/src/vnet/ipsec/ipsec_punt.h
+++ b/src/vnet/ipsec/ipsec_punt.h
@@ -17,14 +17,14 @@
#include <vlib/vlib.h>
-#define foreach_ipsec_punt_reason \
- _(IP4_SPI_UDP_0, "ipsec4-spi-o-udp-0") \
- _(IP4_NO_SUCH_TUNNEL, "ipsec4-no-such-tunnel") \
- _(IP6_NO_SUCH_TUNNEL, "ipsec6-no-such-tunnel")
+#define foreach_ipsec_punt_reason \
+ _ (IP4_SPI_UDP_0, "ipsec4-spi-o-udp-0", IP4_PACKET) \
+ _ (IP4_NO_SUCH_TUNNEL, "ipsec4-no-such-tunnel", IP4_PACKET) \
+ _ (IP6_NO_SUCH_TUNNEL, "ipsec6-no-such-tunnel", IP6_PACKET)
typedef enum ipsec_punt_reason_t_
{
-#define _(s,v) IPSEC_PUNT_##s,
+#define _(s, v, f) IPSEC_PUNT_##s,
foreach_ipsec_punt_reason
#undef _
IPSEC_PUNT_N_REASONS,