Add a helper function to fetch vlib node index for already stacked dpos

Change-Id: Ie07c6f3723312ce88046570dcbe591b72724657b
Signed-off-by: Vijayabhaskar Katamreddy <vkatamre@cisco.com>
This commit is contained in:
Vijayabhaskar Katamreddy
2018-03-14 14:04:27 -07:00
committed by Neale Ranns
parent 92b44ea50a
commit b9ca61be1a
2 changed files with 40 additions and 0 deletions

View File

@ -432,6 +432,21 @@ dpo_get_next_node (dpo_type_t child_type,
return (dpo_edges[child_type][child_proto][parent_type][parent_proto]);
}
/**
* @brief return already stacked up next node index for a given
* child_type/child_proto and parent_type/patent_proto.
* The VLIB graph arc used is taken from the parent and child types
* passed.
*/
u32
dpo_get_next_node_by_type_and_proto (dpo_type_t child_type,
dpo_proto_t child_proto,
dpo_type_t parent_type,
dpo_proto_t parent_proto)
{
return (dpo_edges[child_type][child_proto][parent_type][parent_proto]);
}
/**
* @brief Stack one DPO object on another, and thus establish a child parent
* relationship. The VLIB graph arc used is taken from the parent and child types

View File

@ -446,4 +446,29 @@ extern void dpo_register(dpo_type_t type,
extern dpo_type_t dpo_register_new_type(const dpo_vft_t *vft,
const char * const * const * nodes);
/**
* @brief Return already stacked up next node index for a given
* child_type/child_proto and parent_type/patent_proto.
* The VLIB graph arc used is taken from the parent and child types
* passed.
*
* @param child_type
* Child DPO type.
*
* @param child_proto
* Child DPO proto
*
* @param parent_type
* Parent DPO type.
*
* @param parent_proto
* Parent DPO proto
*
* @return The VLIB Graph node index
*/
extern u32
dpo_get_next_node_by_type_and_proto (dpo_type_t child_type,
dpo_proto_t child_proto,
dpo_type_t parent_type,
dpo_proto_t parent_proto);
#endif