Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
tcp: fix input error counters
[vpp.git]
/
src
/
vnet
/
ipfix-export
/
flow_report_classify.c
diff --git
a/src/vnet/ipfix-export/flow_report_classify.c
b/src/vnet/ipfix-export/flow_report_classify.c
index
449bf22
..
f004e9a
100644
(file)
--- a/
src/vnet/ipfix-export/flow_report_classify.c
+++ b/
src/vnet/ipfix-export/flow_report_classify.c
@@
-15,6
+15,7
@@
#include <vnet/ipfix-export/flow_report.h>
#include <vnet/ipfix-export/flow_report_classify.h>
#include <vnet/api_errno.h>
#include <vnet/ipfix-export/flow_report.h>
#include <vnet/ipfix-export/flow_report_classify.h>
#include <vnet/api_errno.h>
+#include <vnet/classify/vnet_classify.h>
/* Common prefix of tcp and udp headers
* containing only source and destination port fields */
/* Common prefix of tcp and udp headers
* containing only source and destination port fields */
@@
-197,8
+198,7
@@
ipfix_classify_send_flows (flow_report_main_t * frm,
t = pool_elt_at_index (vcm->tables, table->classify_table_index);
t = pool_elt_at_index (vcm->tables, table->classify_table_index);
- while (clib_atomic_test_and_set (t->writer_lock))
- ;
+ clib_spinlock_lock (&t->writer_lock);
for (i = 0; i < t->nbuckets; i++)
{
for (i = 0; i < t->nbuckets; i++)
{
@@
-226,7
+226,7
@@
ipfix_classify_send_flows (flow_report_main_t * frm,
u32 copy_len = sizeof (ip4_header_t) +
sizeof (udp_header_t) + sizeof (ipfix_message_header_t);
u32 copy_len = sizeof (ip4_header_t) +
sizeof (udp_header_t) + sizeof (ipfix_message_header_t);
- clib_memcpy (b0->data, fr->rewrite, copy_len);
+ clib_memcpy
_fast
(b0->data, fr->rewrite, copy_len);
b0->current_data = 0;
b0->current_length = copy_len;
b0->flags |= VLIB_BUFFER_TOTAL_LENGTH_VALID;
b0->current_data = 0;
b0->current_length = copy_len;
b0->flags |= VLIB_BUFFER_TOTAL_LENGTH_VALID;
@@
-261,7
+261,7
@@
ipfix_classify_send_flows (flow_report_main_t * frm,
#define _(field,mask,item,length) \
if (clib_bitmap_get (fr->fields_to_send, field_index)) \
{ \
#define _(field,mask,item,length) \
if (clib_bitmap_get (fr->fields_to_send, field_index)) \
{ \
- clib_memcpy (b0->data + next_offset, &field, \
+ clib_memcpy
_fast
(b0->data + next_offset, &field, \
length); \
next_offset += length; \
} \
length); \
next_offset += length; \
} \
@@
-272,8
+272,8
@@
ipfix_classify_send_flows (flow_report_main_t * frm,
/* Add packetTotalCount manually */
{
u64 packets = clib_host_to_net_u64 (v->hits);
/* Add packetTotalCount manually */
{
u64 packets = clib_host_to_net_u64 (v->hits);
- clib_memcpy (b0->data + next_offset, &packets,
- sizeof (packets));
+ clib_memcpy
_fast
(b0->data + next_offset, &packets,
+
sizeof (packets));
next_offset += sizeof (packets);
}
records_this_buffer++;
next_offset += sizeof (packets);
}
records_this_buffer++;
@@
-385,7
+385,7
@@
flush:
bi0 = ~0;
}
bi0 = ~0;
}
- clib_
atomic_release (
t->writer_lock);
+ clib_
spinlock_unlock (&
t->writer_lock);
return f;
}
return f;
}