From e5fb34465725d8f606ca1210332210b71080569f Mon Sep 17 00:00:00 2001 From: Gabriel Ganne Date: Tue, 27 Dec 2016 15:07:40 +0100 Subject: register nodes using extern declaration in their respective headers affects gre, vxlan4/6, vxlan-gpe4/6 Change-Id: I1acc2803262c62dd5d96a916d135f09523a32013 Signed-off-by: Gabriel Ganne --- nsh-plugin/nsh/nsh.c | 42 +++++++++++++----------------------------- nsh-plugin/nsh/nsh.h | 5 ----- 2 files changed, 13 insertions(+), 34 deletions(-) diff --git a/nsh-plugin/nsh/nsh.c b/nsh-plugin/nsh/nsh.c index 9d16335..5b260e0 100644 --- a/nsh-plugin/nsh/nsh.c +++ b/nsh-plugin/nsh/nsh.c @@ -18,6 +18,9 @@ #include #include #include +#include +#include +#include #include #include @@ -1468,9 +1471,6 @@ clib_error_t *nsh_init (vlib_main_t *vm) { nsh_main_t *nm = &nsh_main; clib_error_t * error = 0; - vlib_node_t * vxlan4_gpe_input_node = 0; - vlib_node_t * vxlan6_gpe_input_node = 0; - vlib_node_t * gre_input_node = 0; u8 * name; /* Init the main structures from VPP */ @@ -1499,39 +1499,23 @@ clib_error_t *nsh_init (vlib_main_t *vm) error = nsh_plugin_api_hookup (vm); /* Add dispositions to nodes that feed nsh-input */ - vxlan4_gpe_input_node = vlib_get_node_by_name (vm, (u8 *)"vxlan4-gpe-input"); - ASSERT(vxlan4_gpe_input_node); //alagalah - validate we don't really need to use the node value - vlib_node_add_next (vm, vxlan4_gpe_input_node->index, nsh_input_node.index); - vlib_node_add_next (vm, vxlan4_gpe_input_node->index, nsh_proxy_node.index); + vlib_node_add_next (vm, vxlan4_gpe_input_node.index, nsh_input_node.index); + vlib_node_add_next (vm, vxlan4_gpe_input_node.index, nsh_proxy_node.index); - vxlan6_gpe_input_node = vlib_get_node_by_name (vm, (u8 *)"vxlan6-gpe-input"); - ASSERT(vxlan6_gpe_input_node); - vlib_node_add_next (vm, vxlan6_gpe_input_node->index, nsh_input_node.index); - vlib_node_add_next (vm, vxlan6_gpe_input_node->index, nsh_proxy_node.index); + vlib_node_add_next (vm, vxlan6_gpe_input_node.index, nsh_input_node.index); + vlib_node_add_next (vm, vxlan6_gpe_input_node.index, nsh_proxy_node.index); - gre_input_node = vlib_get_node_by_name (vm, (u8 *)"gre-input"); - ASSERT(gre_input_node); - vlib_node_add_next (vm, gre_input_node->index, nsh_input_node.index); - vlib_node_add_next (vm, gre_input_node->index, nsh_proxy_node.index); + vlib_node_add_next (vm, gre_input_node.index, nsh_input_node.index); + vlib_node_add_next (vm, gre_input_node.index, nsh_proxy_node.index); /* Add NSH-Proxy support */ - vxlan4_input_node = vlib_get_node_by_name (vm, (u8 *)"vxlan4-input"); - ASSERT(vxlan4_input_node); - vlib_node_add_next (vm, vxlan4_input_node->index, nsh_proxy_node.index); - - vxlan6_input_node = vlib_get_node_by_name (vm, (u8 *)"vxlan6-input"); - ASSERT(vxlan6_input_node); - vlib_node_add_next (vm, vxlan6_input_node->index, nsh_proxy_node.index); + vlib_node_add_next (vm, vxlan4_input_node.index, nsh_proxy_node.index); + vlib_node_add_next (vm, vxlan6_input_node.index, nsh_proxy_node.index); /* Add NSH-Classifier support */ - ip4_classify_node = vlib_get_node_by_name (vm, (u8 *)"ip4-classify"); - ASSERT(ip4_classify_node); - vlib_node_add_next (vm, ip4_classify_node->index, nsh_classifier_node.index); - - ip6_classify_node = vlib_get_node_by_name (vm, (u8 *)"ip6-classify"); - ASSERT(ip6_classify_node); - vlib_node_add_next (vm, ip6_classify_node->index, nsh_classifier_node.index); + vlib_node_add_next (vm, ip4_classify_node.index, nsh_classifier_node.index); + vlib_node_add_next (vm, ip6_classify_node.index, nsh_classifier_node.index); vec_free(name); diff --git a/nsh-plugin/nsh/nsh.h b/nsh-plugin/nsh/nsh.h index 7a8e54e..f74c3b1 100644 --- a/nsh-plugin/nsh/nsh.h +++ b/nsh-plugin/nsh/nsh.h @@ -98,11 +98,6 @@ typedef struct { nsh_main_t nsh_main; -vlib_node_t * vxlan4_input_node = 0; -vlib_node_t * vxlan6_input_node = 0; -vlib_node_t * ip4_classify_node = 0; -vlib_node_t * ip6_classify_node = 0; - u8 * format_nsh_input_map_trace (u8 * s, va_list * args); u8 * format_nsh_header_with_length (u8 * s, va_list * args); -- cgit 1.2.3-korg