Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
vppinfra: refactor clib_rwlock_t to use single condition variable
[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
8fb73fc
..
15118f9
100644
(file)
--- a/
src/vnet/ipfix-export/flow_report_classify.c
+++ b/
src/vnet/ipfix-export/flow_report_classify.c
@@
-197,8
+197,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 (__sync_lock_test_and_set (t->writer_lock, 1))
- ;
+ clib_spinlock_lock (&t->writer_lock);
for (i = 0; i < t->nbuckets; i++)
{
for (i = 0; i < t->nbuckets; i++)
{
@@
-226,7
+225,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
+260,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
+271,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
+384,7
@@
flush:
bi0 = ~0;
}
bi0 = ~0;
}
-
*(t->writer_lock) = 0
;
+
clib_spinlock_unlock (&t->writer_lock)
;
return f;
}
return f;
}
@@
-408,7
+407,7
@@
ipfix_classify_table_add_del_command_fn (vlib_main_t * vm,
if (fcm->src_port == 0)
clib_error_return (0, "call 'set ipfix classify stream' first");
if (fcm->src_port == 0)
clib_error_return (0, "call 'set ipfix classify stream' first");
- memset (&args, 0, sizeof (args));
+
clib_
memset (&args, 0, sizeof (args));
while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT)
{
while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT)
{