X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fioam%2Fudp-ping%2Fudp_ping_export.c;h=78d62233a7d6f00a68ef2b9299c2494e7c7a9678;hb=HEAD;hp=3e835989a6f610290583f0174379bd1a75624b49;hpb=b040f98a88954ccf2e63fd7b2676865a2dbe0078;p=vpp.git diff --git a/src/plugins/ioam/udp-ping/udp_ping_export.c b/src/plugins/ioam/udp-ping/udp_ping_export.c index 3e835989a6f..78d62233a7d 100644 --- a/src/plugins/ioam/udp-ping/udp_ping_export.c +++ b/src/plugins/ioam/udp-ping/udp_ping_export.c @@ -23,20 +23,18 @@ #define UDP_PING_EXPORT_RECORD_SIZE 400 static u8 * -udp_ping_template_rewrite (flow_report_main_t * frm, flow_report_t * fr, - ip4_address_t * collector_address, - ip4_address_t * src_address, u16 collector_port, - ipfix_report_element_t * elts, - u32 n_elts, u32 * stream_index) +udp_ping_template_rewrite (ipfix_exporter_t *exp, flow_report_t *fr, + u16 collector_port, ipfix_report_element_t *elts, + u32 n_elts, u32 *stream_index) { - return ioam_template_rewrite (frm, fr, collector_address, - src_address, collector_port, elts, n_elts, + return ioam_template_rewrite (exp, fr, collector_port, elts, n_elts, stream_index); } static vlib_frame_t * -udp_ping_send_flows (flow_report_main_t * frm, flow_report_t * fr, - vlib_frame_t * f, u32 * to_next, u32 node_index) +udp_ping_send_flows (flow_report_main_t *frm, ipfix_exporter_t *exp, + flow_report_t *fr, vlib_frame_t *f, u32 *to_next, + u32 node_index) { vlib_buffer_t *b0 = NULL; u32 next_offset = 0; @@ -47,17 +45,16 @@ udp_ping_send_flows (flow_report_main_t * frm, flow_report_t * fr, ipfix_set_header_t *s = NULL; ip4_header_t *ip; udp_header_t *udp; - u32 records_this_buffer; u16 new_l0, old_l0; ip_csum_t sum0; - vlib_main_t *vm = frm->vlib_main; + vlib_main_t *vm = vlib_get_main (); flow_report_stream_t *stream; udp_ping_flow_data *stats; ip46_udp_ping_flow *ip46_flow; u16 src_port, dst_port; u16 data_len; - stream = &frm->streams[fr->stream_index]; + stream = &exp->streams[fr->stream_index]; data_len = vec_len (udp_ping_main.ip46_flow); for (i = 0; i < data_len; i++) @@ -101,7 +98,6 @@ udp_ping_send_flows (flow_report_main_t * frm, flow_report_t * fr, h->sequence_number = clib_host_to_net_u32 (h->sequence_number); next_offset = (u32) (((u8 *) (s + 1)) - (u8 *) tp); - records_this_buffer = 0; } next_offset = ioam_analyse_add_ipfix_record (fr, @@ -117,10 +113,8 @@ udp_ping_send_flows (flow_report_main_t * frm, flow_report_t * fr, //memcpy (b0->data + next_offset, &pak_sent, sizeof(u32)); //next_offset += sizeof(u32); - records_this_buffer++; - /* Flush data if packet len is about to reach path mtu */ - if (next_offset > (frm->path_mtu - UDP_PING_EXPORT_RECORD_SIZE)) + if (next_offset > (exp->path_mtu - UDP_PING_EXPORT_RECORD_SIZE)) { b0->current_length = next_offset; b0->flags |= VLIB_BUFFER_TOTAL_LENGTH_VALID; @@ -230,7 +224,7 @@ udp_ping_flow_create (u8 del) vnet_flow_report_add_del_args_t args; int rv; u32 domain_id = 0; - flow_report_main_t *frm = &flow_report_main; + ipfix_exporter_t *exp = &flow_report_main.exporters[0]; u16 template_id; clib_memset (&args, 0, sizeof (args)); @@ -240,7 +234,7 @@ udp_ping_flow_create (u8 del) args.domain_id = domain_id; args.src_port = UDP_DST_PORT_ipfix; - rv = vnet_flow_report_add_del (frm, &args, &template_id); + rv = vnet_flow_report_add_del (exp, &args, &template_id); switch (rv) { @@ -281,13 +275,11 @@ set_udp_ping_export_command_fn (vlib_main_t * vm, unformat_input_t * input, return 0; } -/* *INDENT-OFF* */ VLIB_CLI_COMMAND (set_udp_ping_export_command, static) = { .path = "set udp-ping export-ipfix", .short_help = "set udp-ping export-ipfix [disable]", .function = set_udp_ping_export_command_fn, }; -/* *INDENT-ON* */ clib_error_t * udp_ping_flow_report_init (vlib_main_t * vm) @@ -295,12 +287,10 @@ udp_ping_flow_report_init (vlib_main_t * vm) return 0; } -/* *INDENT-OFF* */ VLIB_INIT_FUNCTION (udp_ping_flow_report_init) = { .runs_after = VLIB_INITS ("flow_report_init"), }; -/* *INDENT-ON* */ /*