diff options
author | Dave Wallace <dwallacelf@gmail.com> | 2017-10-24 01:32:41 -0400 |
---|---|---|
committer | Dave Wallace <dwallacelf@gmail.com> | 2017-10-24 01:32:41 -0400 |
commit | 71612d61930e57e7c8ebf9e5647b15a4b23720b2 (patch) | |
tree | 3c135af6d40442f5ae9f8397c62080e2b7e3f342 /src/vnet/ipsec | |
parent | 92b0275a364022af6ab828dfac83e38c0117cfe6 (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/ipsec')
-rw-r--r-- | src/vnet/ipsec/esp.h | 2 | ||||
-rw-r--r-- | src/vnet/ipsec/esp_encrypt.c | 1 | ||||
-rw-r--r-- | src/vnet/ipsec/ikev2.c | 2 | ||||
-rw-r--r-- | src/vnet/ipsec/ikev2_priv.h | 2 | ||||
-rw-r--r-- | src/vnet/ipsec/ipsec.c | 2 | ||||
-rw-r--r-- | src/vnet/ipsec/ipsec.h | 2 |
6 files changed, 8 insertions, 3 deletions
diff --git a/src/vnet/ipsec/esp.h b/src/vnet/ipsec/esp.h index 98db70179bd..bc67f9d0783 100644 --- a/src/vnet/ipsec/esp.h +++ b/src/vnet/ipsec/esp.h @@ -80,7 +80,7 @@ typedef struct esp_main_per_thread_data_t *per_thread_data; } esp_main_t; -esp_main_t esp_main; +extern esp_main_t esp_main; #define ESP_WINDOW_SIZE (64) #define ESP_SEQ_MAX (4294967295UL) diff --git a/src/vnet/ipsec/esp_encrypt.c b/src/vnet/ipsec/esp_encrypt.c index b2bc4e0b448..b6ee25808b6 100644 --- a/src/vnet/ipsec/esp_encrypt.c +++ b/src/vnet/ipsec/esp_encrypt.c @@ -22,6 +22,7 @@ #include <vnet/ipsec/ipsec.h> #include <vnet/ipsec/esp.h> +esp_main_t esp_main; #define foreach_esp_encrypt_next \ _(DROP, "error-drop") \ diff --git a/src/vnet/ipsec/ikev2.c b/src/vnet/ipsec/ikev2.c index a3dc7b872c5..49bae17f730 100644 --- a/src/vnet/ipsec/ikev2.c +++ b/src/vnet/ipsec/ikev2.c @@ -24,6 +24,8 @@ #include <vnet/ipsec/ikev2_priv.h> #include <openssl/sha.h> +ikev2_main_t ikev2_main; + static int ikev2_delete_tunnel_interface (vnet_main_t * vnm, ikev2_sa_t * sa, ikev2_child_sa_t * child); diff --git a/src/vnet/ipsec/ikev2_priv.h b/src/vnet/ipsec/ikev2_priv.h index 5a3dc5202f4..b396965a0bb 100644 --- a/src/vnet/ipsec/ikev2_priv.h +++ b/src/vnet/ipsec/ikev2_priv.h @@ -292,7 +292,7 @@ typedef struct } ikev2_main_t; -ikev2_main_t ikev2_main; +extern ikev2_main_t ikev2_main; void ikev2_sa_free_proposal_vector (ikev2_sa_proposal_t ** v); ikev2_sa_transform_t *ikev2_sa_get_td_for_type (ikev2_sa_proposal_t * p, diff --git a/src/vnet/ipsec/ipsec.c b/src/vnet/ipsec/ipsec.c index 828bfe81e43..2adcfd0b9bd 100644 --- a/src/vnet/ipsec/ipsec.c +++ b/src/vnet/ipsec/ipsec.c @@ -24,6 +24,8 @@ #include <vnet/ipsec/ikev2.h> #include <vnet/ipsec/esp.h> +ipsec_main_t ipsec_main; + u32 ipsec_get_sa_index_by_sa_id (u32 sa_id) { diff --git a/src/vnet/ipsec/ipsec.h b/src/vnet/ipsec/ipsec.h index f11bc56cb9a..222025dbee8 100644 --- a/src/vnet/ipsec/ipsec.h +++ b/src/vnet/ipsec/ipsec.h @@ -286,7 +286,7 @@ typedef struct ipsec_main_callbacks_t cb; } ipsec_main_t; -ipsec_main_t ipsec_main; +extern ipsec_main_t ipsec_main; extern vlib_node_registration_t esp_encrypt_node; extern vlib_node_registration_t esp_decrypt_node; |