diff options
Diffstat (limited to 'src/plugins/snat/snat.c')
-rw-r--r-- | src/plugins/snat/snat.c | 12 |
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 * |