From 5a72c1c151f843a962cc1247213c063233e8b119 Mon Sep 17 00:00:00 2001 From: Neale Ranns Date: Fri, 24 Feb 2017 08:29:22 -0800 Subject: MFIB: changes to improve route add/delete performance Change-Id: I063d85200d12b09545ae1c373c7fc69112ae3b34 Signed-off-by: Neale Ranns --- src/vnet/mfib/mfib_entry.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/vnet/mfib/mfib_entry.c') diff --git a/src/vnet/mfib/mfib_entry.c b/src/vnet/mfib/mfib_entry.c index 117ddc2fdfd..1aa8e0864ca 100644 --- a/src/vnet/mfib/mfib_entry.c +++ b/src/vnet/mfib/mfib_entry.c @@ -406,14 +406,21 @@ mfib_entry_alloc (u32 fib_index, mfib_entry_t *mfib_entry; pool_get(mfib_entry_pool, mfib_entry); - memset(mfib_entry, 0, sizeof(*mfib_entry)); fib_node_init(&mfib_entry->mfe_node, FIB_NODE_TYPE_MFIB_ENTRY); + /* + * Some of the members require non-default initialisation + * so we also init those that don't and thus save on the call to memset. + */ + mfib_entry->mfe_flags = 0; mfib_entry->mfe_fib_index = fib_index; mfib_entry->mfe_prefix = *prefix; mfib_entry->mfe_parent = FIB_NODE_INDEX_INVALID; + mfib_entry->mfe_sibling = FIB_NODE_INDEX_INVALID; + mfib_entry->mfe_srcs = NULL; + mfib_entry->mfe_itfs = NULL; dpo_reset(&mfib_entry->mfe_rep); -- cgit 1.2.3-korg