vlib: introduce vlib_get_elog_main()
[vpp.git] / src / plugins / flowprobe / node.c
index 2cd754b..70dc726 100644 (file)
  */
 #include <vlib/vlib.h>
 #include <vnet/vnet.h>
-#include <vnet/pg/pg.h>
 #include <vppinfra/crc32.h>
 #include <vppinfra/error.h>
 #include <flowprobe/flowprobe.h>
 #include <vnet/ip/ip6_packet.h>
+#include <vnet/udp/udp_local.h>
 #include <vlibmemory/api.h>
 
 static void flowprobe_export_entry (vlib_main_t * vm, flowprobe_entry_t * e);
 
 /**
- * @file flow record generator graph node
+ * @file node.c
+ * flow record generator graph node
  */
 
 typedef struct
@@ -562,8 +563,8 @@ flowprobe_export_send (vlib_main_t * vm, vlib_buffer_t * b0,
   ip->flags_and_fragment_offset = 0;
   ip->src_address.as_u32 = frm->src_address.as_u32;
   ip->dst_address.as_u32 = frm->ipfix_collector.as_u32;
-  udp->src_port = clib_host_to_net_u16 (UDP_DST_PORT_ipfix);
-  udp->dst_port = clib_host_to_net_u16 (UDP_DST_PORT_ipfix);
+  udp->src_port = clib_host_to_net_u16 (stream->src_port);
+  udp->dst_port = clib_host_to_net_u16 (frm->collector_port);
   udp->checksum = 0;
 
   /* FIXUP: message header export_time */
@@ -597,7 +598,7 @@ flowprobe_export_send (vlib_main_t * vm, vlib_buffer_t * b0,
        udp->checksum = 0xffff;
     }
 
-  ASSERT (ip->checksum == ip4_header_checksum (ip));
+  ASSERT (ip4_header_checksum_is_valid (ip));
 
   /* Find or allocate a frame */
   f = fm->context[which].frames_per_worker[my_cpu_number];
@@ -631,7 +632,6 @@ flowprobe_get_buffer (vlib_main_t * vm, flowprobe_variant_t which)
   flow_report_main_t *frm = &flow_report_main;
   vlib_buffer_t *b0;
   u32 bi0;
-  vlib_buffer_free_list_t *fl;
   u32 my_cpu_number = vm->thread_index;
 
   /* Find or allocate a buffer */
@@ -650,9 +650,6 @@ flowprobe_get_buffer (vlib_main_t * vm, flowprobe_variant_t which)
       /* Initialize the buffer */
       b0 = fm->context[which].buffers_per_worker[my_cpu_number] =
        vlib_get_buffer (vm, bi0);
-      fl =
-       vlib_buffer_get_free_list (vm, VLIB_BUFFER_DEFAULT_FREE_LIST_INDEX);
-      vlib_buffer_init_for_free_list (b0, fl);
       VLIB_BUFFER_TRACE_TRAJECTORY_INIT (b0);
 
       b0->current_data = 0;