Changes between Version 1 and Version 2 of DAGNotes
- Timestamp:
- 07/29/10 10:00:48 (11 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
DAGNotes
v1 v2 2 2 3 3 This page describes the libtrace DAG support in much more detail. This is primarily intended to aid libtrace developers, but may be of some interest to users having difficulty getting their DAG card to work with libtrace. 4 5 To build libtrace with DAG support, you will need to have the appropriate DAG libraries and drivers installed. This software is provided by [http://www.endace.com Endace] - it is NOT included with libtrace. You can still read and write ERF (the trace format used by DAG cards) without the DAG libraries, but live capture using the DAG hardware requires the DAG software. 4 6 5 7 == DAG 2.4 vs DAG 2.5 == … … 8 10 9 11 format_dag24 uses the old DAG API from the 2.4.X DAG libraries. 12 The DAG 2.4 libraries are notoriously difficult to use compared with the DAG 2.5 and later libraries. For starters, just getting the DAG 2.4 code to compile on recent Linux kernels is an achievement. 10 13 11 14 format_dag25 uses the newer API from the DAG libraries starting at version 2.5 onwards, including any version 3 libraries and apparently 4.0.0 as well. … … 36 39 === Detection Approach === 37 40 38 The following is the list of steps libtrace's DAG detection performs - if it is not performing as you'd expect, maybe this will help figure out what is going on!41 The following is the list of steps libtrace's DAG detection performs - if it is not behaving as you'd expect, maybe this will help figure out what is going on! 39 42 40 43 * Perform a standard autoconf check for the existence of libdag. This will check the standard library locations (/usr/lib, /usr/local/lib, etc) as well as any locations specified using LDFLAGS. 41 * If libdag is found, job done! Grab the version number and away we go.44 * If libdag is found, job done! Libtrace will build using the format_dag25 code. 42 45 * Otherwise, we assume no format_dag25-compatible libraries are present, but we still need to check for format_dag24. 43 46 * If the user gave us a value for --with-dag, set that directory to be "dag_root". Otherwise we'll use /usr/local/dag as our best guess for the location of the DAG source. 44 * Search $dag_root/lib for libdag.a and $dag_root/include for dagapi.h - if both succeed, then we've found the libraries and headers we need. 45 * We also check $dag_root for these files, in the event that there is no lib/ or include/ directories in $dag_root. 47 * Search $dag_root/lib for libdag.a and $dag_root/include for dagapi.h. We also check $dag_root for these files, in the event that there is no lib/ or include/ directories in $dag_root. 48 * If both files are found, libtrace will be built using the format_dag24 code. 49 * If the files are not found but the user explicitly asked to build with DAG, throw an error. Otherwise, we will just build without DAG support. 46 50 47 51 48 == DAG 2.4 details ==49 52 50 The DAG 2.4 libraries are notoriously difficult to use compared with the DAG 2.5 and later libraries. For starters, just getting the DAG 2.4 code to compile on recent Linux kernels is an achievement.