aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/mfib/mfib_entry.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vnet/mfib/mfib_entry.c')
-rw-r--r--src/vnet/mfib/mfib_entry.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/vnet/mfib/mfib_entry.c b/src/vnet/mfib/mfib_entry.c
index 2d47c3cdd31..244dd4fb206 100644
--- a/src/vnet/mfib/mfib_entry.c
+++ b/src/vnet/mfib/mfib_entry.c
@@ -412,6 +412,8 @@ mfib_entry_src_flush (mfib_entry_src_t *msrc)
}));
hash_free(msrc->mfes_itfs);
msrc->mfes_itfs = NULL;
+ hash_free(msrc->mfes_exts);
+ msrc->mfes_exts = NULL;
fib_path_list_unlock(msrc->mfes_pl);
}
@@ -497,7 +499,7 @@ mfib_entry_alloc (u32 fib_index,
}
static inline mfib_path_ext_t *
-mfib_entry_path_ext_find (mfib_path_ext_t *exts,
+mfib_entry_path_ext_find (uword *exts,
fib_node_index_t path_index)
{
uword *p;
@@ -547,6 +549,7 @@ typedef struct mfib_entry_collect_forwarding_ctx_t_
load_balance_path_t * next_hops;
fib_forward_chain_type_t fct;
mfib_entry_src_t *msrc;
+ dpo_proto_t payload_proto;
} mfib_entry_collect_forwarding_ctx_t;
static fib_path_list_walk_rc_t
@@ -592,7 +595,8 @@ mfib_entry_src_collect_forwarding (fib_node_index_t pl_index,
nh->path_index = path_index;
nh->path_weight = fib_path_get_weight(path_index);
- fib_path_contribute_forwarding(path_index, ctx->fct, &nh->path_dpo);
+ fib_path_contribute_forwarding(path_index, ctx->fct,
+ ctx->payload_proto, &nh->path_dpo);
break;
case FIB_FORW_CHAIN_TYPE_UNICAST_IP4:
@@ -632,6 +636,7 @@ mfib_entry_stack (mfib_entry_t *mfib_entry,
.next_hops = NULL,
.fct = mfib_entry_get_default_chain_type(mfib_entry),
.msrc = msrc,
+ .payload_proto = fib_proto_to_dpo(mfib_entry->mfe_prefix.fp_proto),
};
/*
@@ -1659,8 +1664,8 @@ show_mfib_entry_command (vlib_main_t * vm,
}
/*?
- * This commnad displays an entry, or all entries, in the mfib tables indexed by their unique
- * numerical indentifier.
+ * This command displays an entry, or all entries, in the mfib tables indexed
+ * by their unique numerical identifier.
?*/
VLIB_CLI_COMMAND (show_mfib_entry, static) = {
.path = "show mfib entry",