X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fip%2Flookup.c;fp=src%2Fvnet%2Fip%2Flookup.c;h=5db14bac0924c426396f443d4ea9215f0d8f2dac;hb=6e4cfb506806a0e214a5498952c2587e128b4870;hp=1753ffd9232cf6131fcae2602004f4e2fd68d6d8;hpb=c3b62d1d132453390644171673ffbcd775d19850;p=vpp.git diff --git a/src/vnet/ip/lookup.c b/src/vnet/ip/lookup.c index 1753ffd9232..5db14bac092 100644 --- a/src/vnet/ip/lookup.c +++ b/src/vnet/ip/lookup.c @@ -399,27 +399,32 @@ vnet_ip_table_cmd (vlib_main_t * vm, } } - if (~0 == table_id) - { - error = clib_error_return (0, "No table id"); - goto done; - } - else if (0 == table_id) + if (0 == table_id) { error = clib_error_return (0, "Can't change the default table"); goto done; } else - { - if (is_add) { - ip_table_create (fproto, table_id, 0, name); - } - else - { - ip_table_delete (fproto, table_id, 0); + if (is_add) + { + if (~0 == table_id) + { + table_id = ip_table_get_unused_id (fproto); + vlib_cli_output (vm, "%u\n", table_id); + } + ip_table_create (fproto, table_id, 0, name); + } + else + { + if (~0 == table_id) + { + error = clib_error_return (0, "No table id"); + goto done; + } + ip_table_delete (fproto, table_id, 0); + } } - } done: unformat_free (line_input);