summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDamjan Marion <damarion@cisco.com>2016-03-14 20:02:35 +0100
committerDamjan Marion <damarion@cisco.com>2016-03-14 20:43:12 +0100
commitb8abf877ba27098ca706281182cac67e15d7dd1e (patch)
tree35bdd7f7c3ef3254cb1aa24fc7b50e84a54b5a70
parent8941ec2cb4ff29dbf167e3b80e09a70c9164cc19 (diff)
Declare node, hw_interface_class and device_class instances as external
This fixes issue observed on Ubuntu 16.04 where dynamic loader is not finding correct instance of specific structure. Change-Id: I618d0933c7e171b8a9b40495b36894785af7790a Signed-off-by: Damjan Marion <damarion@cisco.com>
-rw-r--r--vnet/vnet/devices/dpdk/dpdk.h2
-rw-r--r--vnet/vnet/devices/ssvm/ssvm_eth.h2
-rw-r--r--vnet/vnet/ethernet/ethernet.h2
-rw-r--r--vnet/vnet/flow/flow_report.h2
-rw-r--r--vnet/vnet/gre/gre.h4
-rw-r--r--vnet/vnet/hdlc/hdlc.h2
-rw-r--r--vnet/vnet/ip/ip_frag.h4
-rw-r--r--vnet/vnet/mpls-gre/mpls.h4
-rw-r--r--vnet/vnet/ppp/ppp.h2
-rw-r--r--vppinfra/vppinfra/vector_sse2.h2
10 files changed, 13 insertions, 13 deletions
diff --git a/vnet/vnet/devices/dpdk/dpdk.h b/vnet/vnet/devices/dpdk/dpdk.h
index 1635c0a170c..656f39ea681 100644
--- a/vnet/vnet/devices/dpdk/dpdk.h
+++ b/vnet/vnet/devices/dpdk/dpdk.h
@@ -65,7 +65,7 @@
#define MBUF_SIZE (2048 + sizeof(struct rte_mbuf) + RTE_PKTMBUF_HEADROOM)
#define NB_MBUF (32<<10)
-vnet_device_class_t dpdk_device_class;
+extern vnet_device_class_t dpdk_device_class;
extern vlib_node_registration_t dpdk_input_node;
extern vlib_node_registration_t dpdk_io_input_node;
extern vlib_node_registration_t handoff_dispatch_node;
diff --git a/vnet/vnet/devices/ssvm/ssvm_eth.h b/vnet/vnet/devices/ssvm/ssvm_eth.h
index 618fb5ca14b..70d895b9ad4 100644
--- a/vnet/vnet/devices/ssvm/ssvm_eth.h
+++ b/vnet/vnet/devices/ssvm/ssvm_eth.h
@@ -31,7 +31,7 @@
#include <ssvm.h>
-vnet_device_class_t ssvm_eth_device_class;
+extern vnet_device_class_t ssvm_eth_device_class;
extern vlib_node_registration_t ssvm_eth_input_node;
#define SSVM_BUFFER_SIZE \
diff --git a/vnet/vnet/ethernet/ethernet.h b/vnet/vnet/ethernet/ethernet.h
index 21257c558fa..ea01463c072 100644
--- a/vnet/vnet/ethernet/ethernet.h
+++ b/vnet/vnet/ethernet/ethernet.h
@@ -96,7 +96,7 @@ typedef struct ethernet_interface {
u8 address[6];
} ethernet_interface_t;
-vnet_hw_interface_class_t ethernet_hw_interface_class;
+extern vnet_hw_interface_class_t ethernet_hw_interface_class;
typedef struct {
/* Name (a c string). */
diff --git a/vnet/vnet/flow/flow_report.h b/vnet/vnet/flow/flow_report.h
index 14185bf6798..e4c776725f0 100644
--- a/vnet/vnet/flow/flow_report.h
+++ b/vnet/vnet/flow/flow_report.h
@@ -89,7 +89,7 @@ typedef struct flow_report_main {
flow_report_main_t flow_report_main;
-vlib_node_registration_t flow_report_process_node;
+extern vlib_node_registration_t flow_report_process_node;
int vnet_flow_report_enable_disable (u32 sw_if_index, u32 table_index,
int enable_disable);
diff --git a/vnet/vnet/gre/gre.h b/vnet/vnet/gre/gre.h
index 490360d1ce1..de9db32bc8f 100644
--- a/vnet/vnet/gre/gre.h
+++ b/vnet/vnet/gre/gre.h
@@ -26,7 +26,7 @@
#include <vnet/pg/pg.h>
#include <vnet/ip/format.h>
-vnet_hw_interface_class_t gre_hw_interface_class;
+extern vnet_hw_interface_class_t gre_hw_interface_class;
typedef enum {
#define gre_error(n,s) GRE_ERROR_##n,
@@ -96,7 +96,7 @@ format_function_t format_gre_header;
format_function_t format_gre_header_with_length;
extern vlib_node_registration_t gre_input_node;
-vnet_device_class_t gre_device_class;
+extern vnet_device_class_t gre_device_class;
/* Parse gre protocol as 0xXXXX or protocol name.
In either host or network byte order. */
diff --git a/vnet/vnet/hdlc/hdlc.h b/vnet/vnet/hdlc/hdlc.h
index e5cbe62d33d..73b15c2fac7 100644
--- a/vnet/vnet/hdlc/hdlc.h
+++ b/vnet/vnet/hdlc/hdlc.h
@@ -44,7 +44,7 @@
#include <vnet/hdlc/packet.h>
#include <vnet/pg/pg.h>
-vnet_hw_interface_class_t hdlc_hw_interface_class;
+extern vnet_hw_interface_class_t hdlc_hw_interface_class;
typedef enum {
#define hdlc_error(n,s) HDLC_ERROR_##n,
diff --git a/vnet/vnet/ip/ip_frag.h b/vnet/vnet/ip/ip_frag.h
index 76238655af9..118acf86bf4 100644
--- a/vnet/vnet/ip/ip_frag.h
+++ b/vnet/vnet/ip/ip_frag.h
@@ -43,8 +43,8 @@
#define IP4_FRAG_NODE_NAME "ip4-frag"
#define IP6_FRAG_NODE_NAME "ip6-frag"
-vlib_node_registration_t ip4_frag_node;
-vlib_node_registration_t ip6_frag_node;
+extern vlib_node_registration_t ip4_frag_node;
+extern vlib_node_registration_t ip6_frag_node;
typedef enum {
IP4_FRAG_NEXT_IP4_LOOKUP,
diff --git a/vnet/vnet/mpls-gre/mpls.h b/vnet/vnet/mpls-gre/mpls.h
index c0a3531512f..e2fe42ece75 100644
--- a/vnet/vnet/mpls-gre/mpls.h
+++ b/vnet/vnet/mpls-gre/mpls.h
@@ -27,7 +27,7 @@ typedef CLIB_PACKED (struct {
mpls_unicast_header_t labels[0]; /* 4 bytes each */
}) ip4_gre_and_mpls_header_t;
-vnet_hw_interface_class_t mpls_gre_hw_interface_class;
+extern vnet_hw_interface_class_t mpls_gre_hw_interface_class;
typedef enum {
#define mpls_error(n,s) MPLS_ERROR_##n,
@@ -116,7 +116,7 @@ format_function_t format_mpls_encap_index;
extern vlib_node_registration_t mpls_input_node;
extern vlib_node_registration_t mpls_policy_encap_node;
-vnet_device_class_t mpls_gre_device_class;
+extern vnet_device_class_t mpls_gre_device_class;
/* Parse mpls protocol as 0xXXXX or protocol name.
In either host or network byte order. */
diff --git a/vnet/vnet/ppp/ppp.h b/vnet/vnet/ppp/ppp.h
index e512df7f108..690ae4fc00d 100644
--- a/vnet/vnet/ppp/ppp.h
+++ b/vnet/vnet/ppp/ppp.h
@@ -44,7 +44,7 @@
#include <vnet/ppp/packet.h>
#include <vnet/pg/pg.h>
-vnet_hw_interface_class_t ppp_hw_interface_class;
+extern vnet_hw_interface_class_t ppp_hw_interface_class;
typedef enum {
#define ppp_error(n,s) PPP_ERROR_##n,
diff --git a/vppinfra/vppinfra/vector_sse2.h b/vppinfra/vppinfra/vector_sse2.h
index ae3f342abf8..23254fb94ee 100644
--- a/vppinfra/vppinfra/vector_sse2.h
+++ b/vppinfra/vppinfra/vector_sse2.h
@@ -474,7 +474,7 @@ i32x4_get0 (i32x4 x)
always_inline u32 u8x16_compare_byte_mask (u8x16 x)
{ return _mm_movemask_epi8 ((__m128i) x); }
-u8 u32x4_compare_word_mask_table[256];
+extern u8 u32x4_compare_word_mask_table[256];
always_inline u32 u32x4_compare_word_mask (u32x4 x)
{