summaryrefslogtreecommitdiffstats
path: root/src/vnet/dpo
diff options
context:
space:
mode:
authorBenoît Ganne <bganne@cisco.com>2019-02-12 13:35:08 +0100
committerDamjan Marion <dmarion@me.com>2019-02-14 17:18:36 +0000
commit47727c02df4c79c21c6ceffaff65222c32cf6996 (patch)
treeff56da0094b29da6d07746b08574dfb194ed9113 /src/vnet/dpo
parent8f6c1dda355b6e4d00dc4e41e65a25e1fd1507ee (diff)
Add -fno-common compile option
-fno-common makes sure we do not have multiple declarations of the same global symbol across compilation units. It helps debug nasty linkage bugs by guaranteeing that all reference to a global symbol use the same underlying object. It also helps avoiding benign mistakes such as declaring enum as global objects instead of types in headers (hence the minor fixes scattered across the source). Change-Id: I55c16406dc54ff8a6860238b90ca990fa6b179f1 Signed-off-by: Benoît Ganne <bganne@cisco.com>
Diffstat (limited to 'src/vnet/dpo')
-rw-r--r--src/vnet/dpo/dvr_dpo.c2
-rw-r--r--src/vnet/dpo/dvr_dpo.h2
-rw-r--r--src/vnet/dpo/interface_rx_dpo.c2
-rw-r--r--src/vnet/dpo/interface_rx_dpo.h2
-rw-r--r--src/vnet/dpo/l3_proxy_dpo.h2
-rw-r--r--src/vnet/dpo/receive_dpo.h2
6 files changed, 8 insertions, 4 deletions
diff --git a/src/vnet/dpo/dvr_dpo.c b/src/vnet/dpo/dvr_dpo.c
index 4b440f81c59..a362d23e890 100644
--- a/src/vnet/dpo/dvr_dpo.c
+++ b/src/vnet/dpo/dvr_dpo.c
@@ -18,6 +18,8 @@
#include <vnet/ip/ip.h>
#include <vnet/ethernet/ethernet.h>
+dvr_dpo_t *dvr_dpo_pool;
+
/**
* The 'DB' of DVR DPOs.
* There is one per-interface per-L3 proto, so this is a per-interface vector
diff --git a/src/vnet/dpo/dvr_dpo.h b/src/vnet/dpo/dvr_dpo.h
index 15fe113c596..669c49201c8 100644
--- a/src/vnet/dpo/dvr_dpo.h
+++ b/src/vnet/dpo/dvr_dpo.h
@@ -54,7 +54,7 @@ extern void dvr_dpo_module_init(void);
/**
* @brief pool of all interface DPOs
*/
-dvr_dpo_t *dvr_dpo_pool;
+extern dvr_dpo_t *dvr_dpo_pool;
static inline dvr_dpo_t *
dvr_dpo_get (index_t index)
diff --git a/src/vnet/dpo/interface_rx_dpo.c b/src/vnet/dpo/interface_rx_dpo.c
index 82767e73fc7..90868b953ca 100644
--- a/src/vnet/dpo/interface_rx_dpo.c
+++ b/src/vnet/dpo/interface_rx_dpo.c
@@ -17,6 +17,8 @@
#include <vnet/fib/fib_node.h>
#include <vnet/l2/l2_input.h>
+interface_rx_dpo_t *interface_rx_dpo_pool;
+
/*
* The 'DB' of interface DPOs.
* There is only one per-interface per-protocol, so this is a per-interface
diff --git a/src/vnet/dpo/interface_rx_dpo.h b/src/vnet/dpo/interface_rx_dpo.h
index edecce08675..d3406a22387 100644
--- a/src/vnet/dpo/interface_rx_dpo.h
+++ b/src/vnet/dpo/interface_rx_dpo.h
@@ -58,7 +58,7 @@ extern void interface_rx_dpo_module_init(void);
/**
* @brief pool of all interface DPOs
*/
-interface_rx_dpo_t *interface_rx_dpo_pool;
+extern interface_rx_dpo_t *interface_rx_dpo_pool;
static inline interface_rx_dpo_t *
interface_rx_dpo_get (index_t index)
diff --git a/src/vnet/dpo/l3_proxy_dpo.h b/src/vnet/dpo/l3_proxy_dpo.h
index fcc28b3bf97..3a578e29924 100644
--- a/src/vnet/dpo/l3_proxy_dpo.h
+++ b/src/vnet/dpo/l3_proxy_dpo.h
@@ -52,7 +52,7 @@ extern void l3_proxy_dpo_module_init(void);
/**
* @brief pool of all l3_proxy DPOs
*/
-l3_proxy_dpo_t *l3_proxy_dpo_pool;
+extern l3_proxy_dpo_t *l3_proxy_dpo_pool;
static inline l3_proxy_dpo_t *
l3_proxy_dpo_get (index_t index)
diff --git a/src/vnet/dpo/receive_dpo.h b/src/vnet/dpo/receive_dpo.h
index ee3c7836aff..9459fbcc279 100644
--- a/src/vnet/dpo/receive_dpo.h
+++ b/src/vnet/dpo/receive_dpo.h
@@ -59,7 +59,7 @@ extern void receive_dpo_module_init(void);
/**
* @brief pool of all receive DPOs
*/
-receive_dpo_t *receive_dpo_pool;
+extern receive_dpo_t *receive_dpo_pool;
static inline receive_dpo_t *
receive_dpo_get (index_t index)