source: lib/erftypes.h @ 50ce607

4.0.1-hotfixescachetimestampsdevelopdpdk-ndagetsilivegetfragoffhelplibtrace4ndag_formatpfringrc-4.0.1rc-4.0.2rc-4.0.3rc-4.0.4ringdecrementfixringperformanceringtimestampfixes
Last change on this file since 50ce607 was 204872da, checked in by Shane Alcock <salcock@…>, 10 years ago
  • Fixed annoying warnings caused by ERF types being defined multiple times, which happens if you build libtrace with DAG support
  • Property mode set to 100644
File size: 4.2 KB
Line 
1/*
2 * This file is part of libtrace
3 *
4 * Copyright (c) 2007,2008,2009,2010 The University of Waikato, Hamilton,
5 * New Zealand.
6 *
7 * Authors: Daniel Lawson
8 *          Perry Lorier
9 *          Shane Alcock
10 *         
11 * All rights reserved.
12 *
13 * This code has been developed by the University of Waikato WAND
14 * research group. For further information please see http://www.wand.net.nz/
15 *
16 * libtrace is free software; you can redistribute it and/or modify
17 * it under the terms of the GNU General Public License as published by
18 * the Free Software Foundation; either version 2 of the License, or
19 * (at your option) any later version.
20 *
21 * libtrace is distributed in the hope that it will be useful,
22 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24 * GNU General Public License for more details.
25 *
26 * You should have received a copy of the GNU General Public License
27 * along with libtrace; if not, write to the Free Software
28 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
29 *
30 * $Id$
31 *
32 */
33
34#ifndef _ERFTYPES_H_
35#define _ERFTYPES_H_
36
37/** @file
38 *
39 * @brief Header file containing all the possible GPP record types
40 *
41 * @author Daniel Lawson
42 * @author Perry Lorier
43 * @author Shane Alcock
44 *
45 * @version $Id$
46 */
47
48/* GPP record type defines - these can indicate the header that immediately
49 * follows the ERF header and/or an adjustment to the layout of the ERF header
50 * itself, e.g. due to the use of Coloring.
51 *
52 * NOTE: "Color" refers to the concept of marking packets based on matching
53 * a particular filter or classification */
54
55#ifndef TYPE_LEGACY
56#define TYPE_LEGACY             0       /**< Legacy */
57#endif
58
59#ifndef TYPE_HDLC_POS
60#define TYPE_HDLC_POS           1       /**< PoS with HDLC framing */
61#endif
62
63#ifndef TYPE_ETH
64#define TYPE_ETH                2       /**< Ethernet */
65#endif
66
67#ifndef TYPE_ATM
68#define TYPE_ATM                3       /**< ATM Cell */
69#endif
70
71#ifndef TYPE_AAL5
72#define TYPE_AAL5               4       /**< AAL5 Frame */
73#endif
74
75#ifndef TYPE_MC_HDLC
76#define TYPE_MC_HDLC            5       /**< Multi-channel HDLC */
77#endif
78
79#ifndef TYPE_MC_RAW
80#define TYPE_MC_RAW             6       /**< Multi-channel Raw link record */
81#endif
82
83#ifndef TYPE_MC_ATM
84#define TYPE_MC_ATM             7       /**< Multi-channel ATM Cell */
85#endif
86
87#ifndef TYPE_MC_RAW_CHANNEL
88#define TYPE_MC_RAW_CHANNEL     8       /**< Multi-channel Raw link data */
89#endif
90
91#ifndef TYPE_MC_AAL5
92#define TYPE_MC_AAL5            9       /**< Multi-channel AAL5 */
93#endif
94
95/** PoS with HDLC framing and classification information in the loss counter
96 *  field */
97#ifndef TYPE_COLOR_HDLC_POS
98#define TYPE_COLOR_HDLC_POS     10     
99#endif
100
101/** Ethernet with classification information in the loss counter field */
102#ifndef TYPE_COLOR_ETH
103#define TYPE_COLOR_ETH          11
104#endif
105
106/** Multi-channel AAL2 */
107#ifndef TYPE_MC_AAL2
108#define TYPE_MC_AAL2            12
109#endif
110
111/** IP counter ERF record */
112#ifndef TYPE_IP_COUNTER
113#define TYPE_IP_COUNTER         13
114#endif
115
116/** TCP flow counter ERF record */
117#ifndef TYPE_TCP_FLOW_COUNTER
118#define TYPE_TCP_FLOW_COUNTER   14
119#endif
120
121/** PoS with HDLC framing with DSM color information in the loss counter field*/
122#ifndef TYPE_DSM_COLOR_HDLC_POS
123#define TYPE_DSM_COLOR_HDLC_POS 15
124#endif
125
126/** Ethernet with DSM color information in the loss counter field */
127#ifndef TYPE_DSM_COLOR_ETH
128#define TYPE_DSM_COLOR_ETH      16
129#endif
130
131/** Multi-channel HDLC with classification information in the loss counter
132 *  field */
133#ifndef TYPE_COLOR_MC_HDLC_POS
134#define TYPE_COLOR_MC_HDLC_POS  17
135#endif
136
137/** AAL2 Frame */
138#ifndef TYPE_AAL2
139#define TYPE_AAL2               18
140#endif
141
142/** Colored PoS HDLC record with Hash load balancing */
143#ifndef TYPE_COLOR_HASH_POS
144#define TYPE_COLOR_HASH_POS     19
145#endif
146
147/** Colored Ethernet with Hash load balancing */
148#ifndef TYPE_COLOR_HASH_ETH
149#define TYPE_COLOR_HASH_ETH     20
150#endif
151
152/** Infiniband */
153#ifndef TYPE_INFINIBAND
154#define TYPE_INFINIBAND         21
155#endif
156
157/** IPv4 */
158#ifndef TYPE_IPV4
159#define TYPE_IPV4               22
160#endif
161
162/** IPv6 */
163#ifndef TYPE_IPV6
164#define TYPE_IPV6               23
165#endif
166
167/** Raw link data, usually SONET or SDH */
168#ifndef TYPE_RAW_LINK
169#define TYPE_RAW_LINK           24
170#endif
171
172/** Padding record */
173#ifndef TYPE_PAD
174#define TYPE_PAD                48
175#endif
176
177
178#endif /* _ERFTYPES_H_ */
Note: See TracBrowser for help on using the repository browser.