Bring back p1.c so plugins can see DPDK symbols 59/559/1
authorTodd Foggoa <tfoggoa@cisco.com>
Thu, 17 Mar 2016 18:22:34 +0000 (14:22 -0400)
committerTodd Foggoa <tfoggoa@cisco.com>
Thu, 17 Mar 2016 18:23:14 +0000 (14:23 -0400)
Change-Id: Ia450c9bc6d00fbd054d41a462366f826121d781d
Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
vnet/Makefile.am
vnet/vnet/plugin/p1.c
vpp/Makefile.am

index ff8a31d..c0115eb 100644 (file)
@@ -16,6 +16,7 @@ AUTOMAKE_OPTIONS = foreign subdir-objects
 AM_CFLAGS = -Wall @DPDK@ @VIRL@ @IPSEC@ @VCGN@ @IPV6SR@
 
 libvnet_la_SOURCES =
+libvnetplugin_la_SOURCES =
 nobase_include_HEADERS =
 noinst_PROGRAMS =
 
@@ -41,7 +42,6 @@ nobase_include_HEADERS +=                     \
   vnet/interface_funcs.h                       \
   vnet/l3_types.h                              \
   vnet/pipeline.h                              \
-  vnet/plugin/plugin.h                         \
   vnet/replication.h                           \
   vnet/rewrite.h                               \
   vnet/vnet.h
@@ -636,7 +636,17 @@ nobase_include_HEADERS +=                  \
   vnet/unix/tuntap.h                           \
   vnet/unix/tapcli.h
 
-lib_LTLIBRARIES = libvnet.la 
+########################################
+# Plugin client library
+########################################
+
+libvnetplugin_la_SOURCES +=                    \
+  vnet/plugin/p1.c
+
+nobase_include_HEADERS +=                      \
+  vnet/plugin/plugin.h
+
+lib_LTLIBRARIES = libvnet.la libvnetplugin.la
 
 dpdk_libs = 
 
index 69f8f5c..3102ecc 100644 (file)
@@ -14,8 +14,7 @@
  */
 /* 
  * This file and in fact the entire directory shouldn't even exist.
- * Vnet ought to be a dynamic library. 
-
+ *
  * Unfortunately, various things malfunction when we try to go there. 
  * Plugin DLL's end up with their own copies of critical
  * data structures. No one of these problems would be tough to fix, 
  * can find them...
  */
 
-#define foreach_plugin_reference                \
-_(unformat_vnet_hw_interface)                   \
-_(unformat_vnet_sw_interface)                   \
-_(format_vnet_hw_interface)                     \
-_(format_vnet_sw_interface)                     \
-_(format_vnet_sw_interface_name_override)       \
-_(vnet_hw_interface_rx_redirect_to_node)        \
-_(vnet_config_add_feature)                      \
-_(vnet_config_del_feature)                      \
-_(vnet_get_main)                                \
-_(_vlib_init_function_l2_init)                  \
-_(_vlib_init_function_pg_init)                  \
-_(_vlib_init_function_ip_main_init)             \
-_(_vlib_init_function_ethernet_init)            \
-_(_vlib_init_function_ethernet_arp_init)        \
-_(_vlib_config_function_dpdk_config)            \
-_(l2input_intf_bitmap_enable)                   \
-_(ip4_main)                                     \
-_(ip6_main)                                     \
-_(format_ip4_address)                           \
-_(unformat_ip4_address)                         \
-_(ip4_address_compare)                          \
-_(ip6_address_compare)                          \
-_(format_ip6_address)                           \
-_(format_ip6_address_and_length)                \
-_(udp_register_dst_port)                        \
-_(ethernet_register_input_type)                 \
-_(ethernet_set_flags)                          \
-_(format_ip6_address)                           \
-_(unformat_ip6_address)                         \
-_(ip6_main)                                    \
-_(find_ip6_fib_by_table_index_or_id)           \
-_(format_ethernet_address)                     \
-_(unformat_ethernet_address)                   \
-_(unformat_ethernet_interface)                 \
-_(ethernet_register_l2_input)                  \
-_(ethernet_register_l3_redirect)                \
-_(unformat_pg_payload)                         \
-_(format_ip4_address_and_length)               \
-_(ip_incremental_checksum)                      \
-_(ethernet_sw_interface_set_l2_mode)            \
-_(vnet_create_loopback_interface)               \
-_(ethernet_set_rx_redirect)                     \
-_(ethernet_set_flags)                           \
-_(ethernet_get_main)                            \
-_(ethernet_get_interface)                       \
-_(vnet_hw_interface_set_flags)                  \
-_(vnet_sw_interface_set_flags)                  \
-_(vnet_create_sw_interface)                     \
-_(vnet_delete_sw_interface)                     \
-_(vnet_get_main)                                \
-_(pg_stream_add)                                \
-_(pg_stream_del)                                \
-_(pg_stream_enable_disable)                     \
-_(pg_main)                                     \
-_(ip_main)                                     \
-_(unformat_pg_edit)                            \
-_(unformat_tcp_udp_port)                       \
-_(unformat_pg_number)                          \
-_(_vlib_init_function_ip4_lookup_init)         \
-_(_vlib_init_function_ip6_lookup_init)         \
-_(ip4_register_protocol)                       \
-_(ip6_register_protocol)                       \
-_(ip_csum_and_memcpy)
-
 #if DPDK > 0
 #define foreach_dpdk_plugin_reference          \
-_(dpdk_set_next_node)                           \
-_(dpdk_worker_thread)                           \
-_(dpdk_io_thread)                               \
-_(dpdk_frame_queue_dequeue)                     \
-_(vlib_get_handoff_queue_elt)                   \
-_(dpdk_get_handoff_node_index)                  \
-_(dpdk_set_flowcontrol_callback)                \
-_(dpdk_interface_tx_vector)                     \
 _(rte_calloc)                                   \
 _(rte_free)                                     \
 _(rte_malloc)                                   \
 _(rte_zmalloc)                                  \
 _(rte_malloc_virt2phy)                          \
-_(rte_eal_get_configuration)                    \
-_(post_sw_interface_set_flags)                  \
-_(dpdk_get_admin_up_down_in_progress)           \
-_(efd_config)                                   \
-_(dpdk_set_mac_address)                         \
-_(dpdk_set_mc_filter)
+_(rte_eal_get_configuration)
 #else
 #define foreach_dpdk_plugin_reference
 #endif
 
-#if IPV6SR > 0
-#define foreach_ip6_sr_plugin_reference                \
-_(vnet_register_sr_app_callback)               \
-_(format_ip6_sr_header)
-#else
-#define foreach_ip6_sr_plugin_reference
-#endif 
-
 #define _(a) void a (void);
-foreach_plugin_reference
 foreach_dpdk_plugin_reference
-foreach_ip6_sr_plugin_reference
 #undef _
 
 void *vnet_library_plugin_references[] =
   {
 #define _(a) &a,
-    foreach_plugin_reference
     foreach_dpdk_plugin_reference
-    foreach_ip6_sr_plugin_reference
 #undef _
   };
 
index 06ec713..b66daec 100644 (file)
@@ -68,6 +68,8 @@ vpp_LDADD += -lvnet
 
 vpp_LDADD += -lsvm -lsvmdb -lrt
 
+vpp_LDADD += -lvnetplugin
+
 if WITH_DPDK
 vpp_LDADD += -l:libdpdk.a
 endif