FD.io VPP
v16.06
Vector Packet Processing
Main Page
Related Pages
Data Structures
Source
Files
Symbols
trace.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2015 Cisco and/or its affiliates.
3
* Licensed under the Apache License, Version 2.0 (the "License");
4
* you may not use this file except in compliance with the License.
5
* You may obtain a copy of the License at:
6
*
7
* http://www.apache.org/licenses/LICENSE-2.0
8
*
9
* Unless required by applicable law or agreed to in writing, software
10
* distributed under the License is distributed on an "AS IS" BASIS,
11
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
* See the License for the specific language governing permissions and
13
* limitations under the License.
14
*/
15
/*
16
* trace.h: VLIB trace buffer.
17
*
18
* Copyright (c) 2008 Eliot Dresselhaus
19
*
20
* Permission is hereby granted, free of charge, to any person obtaining
21
* a copy of this software and associated documentation files (the
22
* "Software"), to deal in the Software without restriction, including
23
* without limitation the rights to use, copy, modify, merge, publish,
24
* distribute, sublicense, and/or sell copies of the Software, and to
25
* permit persons to whom the Software is furnished to do so, subject to
26
* the following conditions:
27
*
28
* The above copyright notice and this permission notice shall be
29
* included in all copies or substantial portions of the Software.
30
*
31
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
32
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
33
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
34
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
35
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
36
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
37
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
38
*/
39
40
#ifndef included_vlib_trace_h
41
#define included_vlib_trace_h
42
43
#include <
vppinfra/pool.h
>
44
45
typedef
struct
{
46
/* CPU time stamp trace was made. */
47
u64
time
;
48
49
/* Node which generated this trace. */
50
u32
node_index
;
51
52
/* Number of data words in this trace. */
53
u32
n_data
;
54
55
/* Trace data follows. */
56
u8
data[0];
57
}
vlib_trace_header_t
;
58
59
typedef
struct
{
60
/* Current number of traces in buffer. */
61
u32
count
;
62
63
/* Max. number of traces to be added to buffer. */
64
u32
limit
;
65
}
vlib_trace_node_t
;
66
67
typedef
struct
{
68
/* Pool of trace buffers. */
69
vlib_trace_header_t
**
trace_buffer_pool
;
70
71
u32
last_main_loop_count
;
72
u32
filter_node_index
;
73
u32
filter_flag
;
74
#define FILTER_FLAG_NONE 0
75
#define FILTER_FLAG_INCLUDE 1
76
#define FILTER_FLAG_EXCLUDE 2
77
u32
filter_count
;
78
79
/* set on trace add, cleared on clear trace */
80
u32
trace_active_hint
;
81
82
/* Per node trace counts. */
83
vlib_trace_node_t
*
nodes
;
84
}
vlib_trace_main_t
;
85
86
#endif
/* included_vlib_trace_h */
vlib_trace_main_t::filter_flag
u32 filter_flag
Definition:
trace.h:73
vlib_trace_main_t::trace_active_hint
u32 trace_active_hint
Definition:
trace.h:80
vlib_trace_main_t::nodes
vlib_trace_node_t * nodes
Definition:
trace.h:83
pool.h
vlib_trace_main_t
Definition:
trace.h:67
vlib_trace_header_t
Definition:
trace.h:45
vlib_trace_header_t::n_data
u32 n_data
Definition:
trace.h:53
vlib_trace_main_t::filter_node_index
u32 filter_node_index
Definition:
trace.h:72
vlib_trace_main_t::trace_buffer_pool
vlib_trace_header_t ** trace_buffer_pool
Definition:
trace.h:69
vlib_trace_main_t::last_main_loop_count
u32 last_main_loop_count
Definition:
trace.h:71
vlib_trace_node_t::count
u32 count
Definition:
trace.h:61
vlib_trace_node_t
Definition:
trace.h:59
u64
unsigned long u64
Definition:
types.h:89
vlib_trace_node_t::limit
u32 limit
Definition:
trace.h:64
vlib_trace_main_t::filter_count
u32 filter_count
Definition:
trace.h:77
u32
unsigned int u32
Definition:
types.h:88
vlib_trace_header_t::node_index
u32 node_index
Definition:
trace.h:50
vlib_trace_header_t::time
u64 time
Definition:
trace.h:47
u8
unsigned char u8
Definition:
types.h:56
vlib
vlib
trace.h
Generated on Thu Sep 1 2016 09:11:31 for FD.io VPP by
1.8.11