diff options
author | Miklos Tirpak <miklos.tirpak@gmail.com> | 2019-12-20 11:55:43 +0100 |
---|---|---|
committer | Neale Ranns <nranns@cisco.com> | 2019-12-22 22:56:22 +0000 |
commit | 4a94cd26efbb37b01085b99e0de29d4b4cbfe234 (patch) | |
tree | 455a5f1c6226a0287cd93e93da55b0ba3a2894c7 /src | |
parent | c301dc33f26e752574daadbcd29a55c168c77f14 (diff) |
fib: use 32 bits per-source reference counter
The 16 bits reference counter limited the number of interfaces
per FIB table to 65K from a given source. Some use cases, for example
GTP-U tunnels require much more interfaces than that.
This change increases the size of the reference counter to 32 bits.
Type: fix
Signed-off-by: Miklos Tirpak <miklos.tirpak@gmail.com>
Change-Id: I944a98513018840f904f2808c2a1e963b37886cc
Diffstat (limited to 'src')
-rw-r--r-- | src/vnet/fib/fib_table.c | 2 | ||||
-rw-r--r-- | src/vnet/fib/fib_table.h | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/vnet/fib/fib_table.c b/src/vnet/fib/fib_table.c index 6766028762d..ac0f2da6696 100644 --- a/src/vnet/fib/fib_table.c +++ b/src/vnet/fib/fib_table.c @@ -1277,7 +1277,7 @@ fib_table_lock_inc (fib_table_t *fib_table, { vec_validate(fib_table->ft_locks, source); - ASSERT(fib_table->ft_locks[source] < (0xffff - 1)); + ASSERT(fib_table->ft_total_locks < (0xffffffff - 1)); fib_table->ft_locks[source]++; fib_table->ft_total_locks++; } diff --git a/src/vnet/fib/fib_table.h b/src/vnet/fib/fib_table.h index a11f0560338..7f18188bdb3 100644 --- a/src/vnet/fib/fib_table.h +++ b/src/vnet/fib/fib_table.h @@ -83,7 +83,7 @@ typedef struct fib_table_t_ /** * per-source number of locks on the table */ - u16 *ft_locks; + u32 *ft_locks; u32 ft_total_locks; /** |