udp: migrate old MULTIARCH macros to VLIB_NODE_FN 67/18067/3
authorFilip Tehlar <ftehlar@cisco.com>
Wed, 6 Mar 2019 15:16:08 +0000 (07:16 -0800)
committerFlorin Coras <florin.coras@gmail.com>
Wed, 6 Mar 2019 18:13:44 +0000 (18:13 +0000)
Change-Id: I2b324c77df2685a0bdfb617fb484022daf017d0b
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
src/vnet/CMakeLists.txt
src/vnet/udp/udp.c
src/vnet/udp/udp.h
src/vnet/udp/udp_encap_node.c
src/vnet/udp/udp_local.c

index f308f72..c38c01c 100644 (file)
@@ -599,6 +599,11 @@ list(APPEND VNET_SOURCES
   udp/udp_api.c
 )
 
+list(APPEND VNET_MULTIARCH_SOURCES
+  udp/udp_local.c
+  udp/udp_encap_node.c
+)
+
 list(APPEND VNET_HEADERS
   udp/udp_error.def
   udp/udp.h
index 694cffa..727efa4 100644 (file)
@@ -22,6 +22,8 @@
 #include <vnet/dpo/load_balance.h>
 #include <vnet/fib/ip4_fib.h>
 
+udp_main_t udp_main;
+
 udp_connection_t *
 udp_connection_alloc (u32 thread_index)
 {
index 19db4f8..6d75b28 100644 (file)
@@ -148,6 +148,8 @@ typedef struct
 extern udp_main_t udp_main;
 extern vlib_node_registration_t udp4_input_node;
 extern vlib_node_registration_t udp6_input_node;
+extern vlib_node_registration_t udp4_local_node;
+extern vlib_node_registration_t udp6_local_node;
 
 always_inline udp_connection_t *
 udp_connection_get (u32 conn_index, u32 thread_index)
index abf19fa..af0afb1 100644 (file)
@@ -247,23 +247,22 @@ udp_encap_inline (vlib_main_t * vm,
   return frame->n_vectors;
 }
 
-static uword
-udp4_encap (vlib_main_t * vm,
-           vlib_node_runtime_t * node, vlib_frame_t * frame)
+VLIB_NODE_FN (udp4_encap_node) (vlib_main_t * vm,
+                               vlib_node_runtime_t * node,
+                               vlib_frame_t * frame)
 {
   return udp_encap_inline (vm, node, frame, 0);
 }
 
-static uword
-udp6_encap (vlib_main_t * vm,
-           vlib_node_runtime_t * node, vlib_frame_t * frame)
+VLIB_NODE_FN (udp6_encap_node) (vlib_main_t * vm,
+                               vlib_node_runtime_t * node,
+                               vlib_frame_t * frame)
 {
   return udp_encap_inline (vm, node, frame, 1);
 }
 
 /* *INDENT-OFF* */
 VLIB_REGISTER_NODE (udp4_encap_node) = {
-  .function = udp4_encap,
   .name = "udp4-encap",
   .vector_size = sizeof (u32),
 
@@ -271,10 +270,8 @@ VLIB_REGISTER_NODE (udp4_encap_node) = {
 
   .n_next_nodes = 0,
 };
-VLIB_NODE_FUNCTION_MULTIARCH (udp4_encap_node, udp4_encap);
 
 VLIB_REGISTER_NODE (udp6_encap_node) = {
-  .function = udp6_encap,
   .name = "udp6-encap",
   .vector_size = sizeof (u32),
 
@@ -282,7 +279,6 @@ VLIB_REGISTER_NODE (udp6_encap_node) = {
 
   .n_next_nodes = 0,
 };
-VLIB_NODE_FUNCTION_MULTIARCH (udp6_encap_node, udp6_encap);
 /* *INDENT-ON* */
 
 
index a16ba22..441a6e8 100644 (file)
@@ -21,8 +21,6 @@
 #include <vnet/udp/udp_packet.h>
 #include <vppinfra/sparse_vec.h>
 
-udp_main_t udp_main;
-
 #define foreach_udp_local_next                  \
   _ (PUNT4, "ip4-punt")                         \
   _ (PUNT6, "ip6-punt")                         \
@@ -49,6 +47,7 @@ typedef struct
   u8 bound;
 } udp_local_rx_trace_t;
 
+#ifndef CLIB_MARCH_VARIANT
 u8 *
 format_udp_rx_trace (u8 * s, va_list * args)
 {
@@ -62,9 +61,7 @@ format_udp_rx_trace (u8 * s, va_list * args)
              t->bound ? "" : " (no listener)");
   return s;
 }
-
-vlib_node_registration_t udp4_local_node;
-vlib_node_registration_t udp6_local_node;
+#endif /* CLIB_MARCH_VARIANT */
 
 always_inline uword
 udp46_local_inline (vlib_main_t * vm,
@@ -404,23 +401,22 @@ static char *udp_error_strings[] = {
 #undef udp_error
 };
 
-static uword
-udp4_local (vlib_main_t * vm,
-           vlib_node_runtime_t * node, vlib_frame_t * from_frame)
+VLIB_NODE_FN (udp4_local_node) (vlib_main_t * vm,
+                               vlib_node_runtime_t * node,
+                               vlib_frame_t * from_frame)
 {
   return udp46_local_inline (vm, node, from_frame, 1 /* is_ip4 */ );
 }
 
-static uword
-udp6_local (vlib_main_t * vm,
-           vlib_node_runtime_t * node, vlib_frame_t * from_frame)
+VLIB_NODE_FN (udp6_local_node) (vlib_main_t * vm,
+                               vlib_node_runtime_t * node,
+                               vlib_frame_t * from_frame)
 {
   return udp46_local_inline (vm, node, from_frame, 0 /* is_ip4 */ );
 }
 
 /* *INDENT-OFF* */
 VLIB_REGISTER_NODE (udp4_local_node) = {
-  .function = udp4_local,
   .name = "ip4-udp-lookup",
   /* Takes a vector of packets. */
   .vector_size = sizeof (u32),
@@ -441,11 +437,8 @@ VLIB_REGISTER_NODE (udp4_local_node) = {
 };
 /* *INDENT-ON* */
 
-VLIB_NODE_FUNCTION_MULTIARCH (udp4_local_node, udp4_local);
-
 /* *INDENT-OFF* */
 VLIB_REGISTER_NODE (udp6_local_node) = {
-  .function = udp6_local,
   .name = "ip6-udp-lookup",
   /* Takes a vector of packets. */
   .vector_size = sizeof (u32),
@@ -466,8 +459,7 @@ VLIB_REGISTER_NODE (udp6_local_node) = {
 };
 /* *INDENT-ON* */
 
-VLIB_NODE_FUNCTION_MULTIARCH (udp6_local_node, udp6_local);
-
+#ifndef CLIB_MARCH_VARIANT
 static void
 add_dst_port (udp_main_t * um,
              udp_dst_port_t dst_port, char *dst_port_name, u8 is_ip4)
@@ -666,6 +658,7 @@ udp_local_init (vlib_main_t * vm)
 }
 
 VLIB_INIT_FUNCTION (udp_local_init);
+#endif /* CLIB_MARCH_VARIANT */
 
 /*
  * fd.io coding-style-patch-verification: ON