summaryrefslogtreecommitdiffstats
path: root/src/plugins/snat/snat.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/snat/snat.c')
-rw-r--r--src/plugins/snat/snat.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/plugins/snat/snat.c b/src/plugins/snat/snat.c
index 8ad360209e7..ba6463c889e 100644
--- a/src/plugins/snat/snat.c
+++ b/src/plugins/snat/snat.c
@@ -1857,6 +1857,7 @@ add_static_mapping_command_fn (vlib_main_t * vm,
vnet_main_t * vnm = vnet_get_main();
int rv;
snat_protocol_t proto;
+ u8 proto_set = 0;
/* Get a line of input. */
if (!unformat_user (input, unformat_line_input, line_input))
@@ -1886,7 +1887,7 @@ add_static_mapping_command_fn (vlib_main_t * vm,
else if (unformat (line_input, "vrf %u", &vrf_id))
;
else if (unformat (line_input, "%U", unformat_snat_protocol, &proto))
- ;
+ proto_set = 1;
else if (unformat (line_input, "del"))
is_add = 0;
else
@@ -1895,6 +1896,9 @@ add_static_mapping_command_fn (vlib_main_t * vm,
}
unformat_free (line_input);
+ if (!addr_only && !proto_set)
+ return clib_error_return (0, "missing protocol");
+
rv = snat_add_static_mapping(l_addr, e_addr, (u16) l_port, (u16) e_port,
vrf_id, addr_only, sw_if_index, proto, is_add);
@@ -1926,8 +1930,8 @@ add_static_mapping_command_fn (vlib_main_t * vm,
* Static mapping allows hosts on the external network to initiate connection
* to to the local network host.
* To create static mapping between local host address 10.0.0.3 port 6303 and
- * external address 4.4.4.4 port 3606 use:
- * vpp# snat add static mapping local 10.0.0.3 6303 external 4.4.4.4 3606
+ * external address 4.4.4.4 port 3606 for TCP protocol use:
+ * vpp# snat add static mapping local tcp 10.0.0.3 6303 external 4.4.4.4 3606
* If not runnig "static mapping only" S-NAT plugin mode use before:
* vpp# snat add address 4.4.4.4
* To create static mapping between local and external address use:
@@ -1938,7 +1942,7 @@ VLIB_CLI_COMMAND (add_static_mapping_command, static) = {
.path = "snat add static mapping",
.function = add_static_mapping_command_fn,
.short_help =
- "snat add static mapping local <addr> [<port>] external <addr> [<port>] [vrf <table-id>] [del]",
+ "snat add static mapping local tcp|udp|icmp <addr> [<port>] external <addr> [<port>] [vrf <table-id>] [del]",
};
static clib_error_t *