diff options
author | Neale Ranns <nranns@cisco.com> | 2017-09-12 09:45:04 -0700 |
---|---|---|
committer | Florin Coras <florin.coras@gmail.com> | 2017-09-13 17:31:13 +0000 |
commit | 2297af016d4c1ecdd0c695dc736e8f5a988e89bd (patch) | |
tree | f887e39e50144e5052d0058605ed63cfa40c01f9 /src/vnet/mfib/mfib_table.c | |
parent | 49fe046e431c4d76b0c45c609e05e1b0a3063360 (diff) |
Add a name to the creation of an IP and MPLS table
Change-Id: I4b4648831551519b2ffb6f93255d28a4b8726c22
Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'src/vnet/mfib/mfib_table.c')
-rw-r--r-- | src/vnet/mfib/mfib_table.c | 44 |
1 files changed, 37 insertions, 7 deletions
diff --git a/src/vnet/mfib/mfib_table.c b/src/vnet/mfib/mfib_table.c index e5550adc8f7..838864ff7c0 100644 --- a/src/vnet/mfib/mfib_table.c +++ b/src/vnet/mfib/mfib_table.c @@ -422,10 +422,11 @@ mfib_table_find (fib_protocol_t proto, return (~0); } -u32 -mfib_table_find_or_create_and_lock (fib_protocol_t proto, - u32 table_id, - mfib_source_t src) +static u32 +mfib_table_find_or_create_and_lock_i (fib_protocol_t proto, + u32 table_id, + mfib_source_t src, + const u8 *name) { mfib_table_t *mfib_table; fib_node_index_t fi; @@ -445,13 +446,42 @@ mfib_table_find_or_create_and_lock (fib_protocol_t proto, mfib_table = mfib_table_get(fi, proto); - mfib_table->mft_desc = format(NULL, "%U-VRF:%d", - format_fib_protocol, proto, - table_id); + if (NULL == mfib_table->mft_desc) + { + if (name && name[0]) + { + mfib_table->mft_desc = format(NULL, "%s", name); + } + else + { + mfib_table->mft_desc = format(NULL, "%U-VRF:%d", + format_fib_protocol, proto, + table_id); + } + } return (fi); } +u32 +mfib_table_find_or_create_and_lock (fib_protocol_t proto, + u32 table_id, + mfib_source_t src) +{ + return (mfib_table_find_or_create_and_lock_i(proto, table_id, + src, NULL)); +} + +u32 +mfib_table_find_or_create_and_lock_w_name (fib_protocol_t proto, + u32 table_id, + mfib_source_t src, + const u8 *name) +{ + return (mfib_table_find_or_create_and_lock_i(proto, table_id, + src, name)); +} + /** * @brief Table flush context. Store the indicies of matching FIB entries * that need to be removed. |