*/
#include <vnet/ipfix-export/flow_report.h>
#include <vnet/api_errno.h>
+#include <vnet/udp/udp.h>
flow_report_main_t flow_report_main;
udp_header_t *udp;
vlib_main_t *vm = frm->vlib_main;
flow_report_stream_t *stream;
- vlib_buffer_free_list_t *fl;
ASSERT (buffer_indexp);
b0 = vlib_get_buffer (vm, bi0);
/* Initialize the buffer */
- 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);
- ASSERT (vec_len (fr->rewrite) < VLIB_BUFFER_DEFAULT_FREE_LIST_BYTES);
+ ASSERT (vec_len (fr->rewrite) < vlib_buffer_get_default_data_size (vm));
- clib_memcpy (b0->data, fr->rewrite, vec_len (fr->rewrite));
+ clib_memcpy_fast (b0->data, fr->rewrite, vec_len (fr->rewrite));
b0->current_data = 0;
b0->current_length = vec_len (fr->rewrite);
b0->flags |= (VLIB_BUFFER_TOTAL_LENGTH_VALID | VNET_BUFFER_F_FLOW_REPORT);
{
if (unformat (input, "collector %U", unformat_ip4_address, &collector))
;
- else if (unformat (input, "port %u", &collector_port))
+ else if (unformat (input, "port %U", unformat_udp_port,
+ &collector_port))
;
else if (unformat (input, "src %U", unformat_ip4_address, &src))
;
"collector <ip4-address> [port <port>] "
"src <ip4-address> [fib-id <fib-id>] "
"[path-mtu <path-mtu>] "
- "[template-interval <template-interval>]",
+ "[template-interval <template-interval>] "
"[udp-checksum]",
.function = set_ipfix_exporter_command_fn,
};
return 0;
}
-VLIB_INIT_FUNCTION (flow_report_init)
+VLIB_INIT_FUNCTION (flow_report_init);
/*
* fd.io coding-style-patch-verification: ON
*