Changes in gnu ld in Ubuntu 16.04 tickles an issue with the
declaration pattern used for vlib_node_registration when,
as is the case in sr_replicate.c, the forward declaration is
seen by the linker in a module before the real declaration.
This patch uses the "extern" keyword in the forward declaration
to avoid this issue and removes extra forward declarations.
Change-Id: I075b0cd9932404e1360c7f9aec7114003d110f60
Signed-off-by: Chris Luke <chrisy@flirble.org>
vlib_node_registration_t ip6_sr_input_node;
#if DPDK > 0
vlib_node_registration_t ip6_sr_input_node;
#if DPDK > 0
-vlib_node_registration_t sr_replicate_node;
+extern vlib_node_registration_t sr_replicate_node;
#endif /* DPDK */
int ip6_sr_add_del_tunnel (ip6_sr_add_del_tunnel_args_t * a);
#endif /* DPDK */
int ip6_sr_add_del_tunnel (ip6_sr_add_del_tunnel_args_t * a);
sr_replicate_main_t sr_replicate_main;
sr_replicate_main_t sr_replicate_main;
-vlib_node_registration_t sr_replicate_node;
-
typedef struct {
ip6_address_t src, dst;
typedef struct {
ip6_address_t src, dst;
-vlib_node_registration_t sr_replicate_node;
-
#define foreach_sr_replicate_error \
_(REPLICATED, "sr packets replicated") \
_(NO_BUFFERS, "error allocating buffers for replicas") \
#define foreach_sr_replicate_error \
_(REPLICATED, "sr packets replicated") \
_(NO_BUFFERS, "error allocating buffers for replicas") \