aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/classify
diff options
context:
space:
mode:
authorDave Wallace <dwallacelf@gmail.com>2017-10-24 01:32:41 -0400
committerDave Wallace <dwallacelf@gmail.com>2017-10-24 01:32:41 -0400
commit71612d61930e57e7c8ebf9e5647b15a4b23720b2 (patch)
tree3c135af6d40442f5ae9f8397c62080e2b7e3f342 /src/vnet/classify
parent92b0275a364022af6ab828dfac83e38c0117cfe6 (diff)
Add extern to *_main global variable declarations in header files.
- Global variables declared in header files without the use of the 'extern' keword will result in multiple instances of the variable to be created by the compiler -- one for each different source file in which the the header file is included. This results in wasted memory allocated in the BSS segments as well as potentially introducing bugs in the application. Change-Id: I6ef1790b60a0bd9dd3994f8510723decf258b0cc Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Diffstat (limited to 'src/vnet/classify')
-rw-r--r--src/vnet/classify/flow_classify.c2
-rw-r--r--src/vnet/classify/flow_classify.h2
-rw-r--r--src/vnet/classify/policer_classify.c2
-rw-r--r--src/vnet/classify/policer_classify.h2
4 files changed, 6 insertions, 2 deletions
diff --git a/src/vnet/classify/flow_classify.c b/src/vnet/classify/flow_classify.c
index 0a624204e34..6c067f55759 100644
--- a/src/vnet/classify/flow_classify.c
+++ b/src/vnet/classify/flow_classify.c
@@ -14,6 +14,8 @@
*/
#include <vnet/classify/flow_classify.h>
+flow_classify_main_t flow_classify_main;
+
static void
vnet_flow_classify_feature_enable (vlib_main_t * vnm,
flow_classify_main_t * fcm,
diff --git a/src/vnet/classify/flow_classify.h b/src/vnet/classify/flow_classify.h
index 3ae04cd7b21..14430df392f 100644
--- a/src/vnet/classify/flow_classify.h
+++ b/src/vnet/classify/flow_classify.h
@@ -42,7 +42,7 @@ typedef struct {
vnet_config_main_t * vnet_config_main [FLOW_CLASSIFY_N_TABLES];
} flow_classify_main_t;
-flow_classify_main_t flow_classify_main;
+extern flow_classify_main_t flow_classify_main;
int vnet_set_flow_classify_intfc (vlib_main_t * vm, u32 sw_if_index,
u32 ip4_table_index, u32 ip6_table_index,
diff --git a/src/vnet/classify/policer_classify.c b/src/vnet/classify/policer_classify.c
index 569234fba3b..2a4fa62c023 100644
--- a/src/vnet/classify/policer_classify.c
+++ b/src/vnet/classify/policer_classify.c
@@ -14,6 +14,8 @@
*/
#include <vnet/classify/policer_classify.h>
+policer_classify_main_t policer_classify_main;
+
static void
vnet_policer_classify_feature_enable (vlib_main_t * vnm,
policer_classify_main_t * pcm,
diff --git a/src/vnet/classify/policer_classify.h b/src/vnet/classify/policer_classify.h
index 3065644438d..6ab424fbf9c 100644
--- a/src/vnet/classify/policer_classify.h
+++ b/src/vnet/classify/policer_classify.h
@@ -46,7 +46,7 @@ typedef struct {
vnet_config_main_t * vnet_config_main [POLICER_CLASSIFY_N_TABLES];
} policer_classify_main_t;
-policer_classify_main_t policer_classify_main;
+extern policer_classify_main_t policer_classify_main;
int vnet_set_policer_classify_intfc (vlib_main_t * vm, u32 sw_if_index,
u32 ip4_table_index, u32 ip6_table_index,