diff options
author | Vijayabhaskar Katamreddy <vkatamre@cisco.com> | 2018-03-14 14:04:27 -0700 |
---|---|---|
committer | Neale Ranns <nranns@cisco.com> | 2018-03-15 13:16:39 +0000 |
commit | b9ca61be1af028a3c7d7004373e8447cae766132 (patch) | |
tree | 04ff7b815a5e061a8ceb0983c2785de58ae42d94 /src/vnet | |
parent | 92b44ea50a21b878b35f081bfc90c06b799c0c03 (diff) |
Add a helper function to fetch vlib node index for already stacked dpos
Change-Id: Ie07c6f3723312ce88046570dcbe591b72724657b
Signed-off-by: Vijayabhaskar Katamreddy <vkatamre@cisco.com>
Diffstat (limited to 'src/vnet')
-rw-r--r-- | src/vnet/dpo/dpo.c | 15 | ||||
-rw-r--r-- | src/vnet/dpo/dpo.h | 25 |
2 files changed, 40 insertions, 0 deletions
diff --git a/src/vnet/dpo/dpo.c b/src/vnet/dpo/dpo.c index f4e7fab7bcd..85f2c5d3622 100644 --- a/src/vnet/dpo/dpo.c +++ b/src/vnet/dpo/dpo.c @@ -433,6 +433,21 @@ dpo_get_next_node (dpo_type_t child_type, } /** + * @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 * passed. diff --git a/src/vnet/dpo/dpo.h b/src/vnet/dpo/dpo.h index 4d484786fba..21a2ae2a33d 100644 --- a/src/vnet/dpo/dpo.h +++ b/src/vnet/dpo/dpo.h @@ -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 |