summaryrefslogtreecommitdiffstats
path: root/src/plugins/snat/nat64.c
diff options
context:
space:
mode:
authorMatus Fabian <matfabia@cisco.com>2017-06-08 05:24:28 -0700
committerOle Trøan <otroan@employees.org>2017-06-09 07:30:14 +0000
commit732036d677b84aa8eaea45f8059783e827622b77 (patch)
treebac6a6fccc1ae8500d5d3f54dbede362d0402459 /src/plugins/snat/nat64.c
parentef2a5bf0a31c9c0a94f9f497cb6353f46073e6ec (diff)
NAT64: ICMP error support
Added ICMP error messages translation. Added check for multi thread (not supported yet, so init failed). Added API definition for custom NAT64 refix. Change-Id: Ice2f04631af63e594aecc09087a1cf59f3b676fb Signed-off-by: Matus Fabian <matfabia@cisco.com>
Diffstat (limited to 'src/plugins/snat/nat64.c')
-rw-r--r--src/plugins/snat/nat64.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/plugins/snat/nat64.c b/src/plugins/snat/nat64.c
index 9b6b3c8a5ac..ef745473793 100644
--- a/src/plugins/snat/nat64.c
+++ b/src/plugins/snat/nat64.c
@@ -45,9 +45,19 @@ nat64_init (vlib_main_t * vm)
{
nat64_main_t *nm = &nat64_main;
clib_error_t *error = 0;
+ vlib_thread_main_t *tm = vlib_get_thread_main ();
+
+ if (tm->n_vlib_mains > 1)
+ {
+ error = clib_error_return (0, "multi thread not supported");
+ goto error;
+ }
if (nat64_db_init (&nm->db))
- error = clib_error_return (0, "NAT64 DB init failed");
+ {
+ error = clib_error_return (0, "NAT64 DB init failed");
+ goto error;
+ }
/* set session timeouts to default values */
nm->udp_timeout = SNAT_UDP_TIMEOUT;
@@ -56,6 +66,7 @@ nat64_init (vlib_main_t * vm)
nm->tcp_est_timeout = SNAT_TCP_ESTABLISHED_TIMEOUT;
nm->tcp_incoming_syn_timeout = SNAT_TCP_INCOMING_SYN;
+error:
return error;
}