Skip to content

Commit 74e18e6

Browse files
committed
appneta#157 update INSTALL documents
1 parent 995fc71 commit 74e18e6

File tree

3 files changed

+85
-23
lines changed

3 files changed

+85
-23
lines changed

INSTALL

+27-17
Original file line numberDiff line numberDiff line change
@@ -77,24 +77,25 @@ The simplest way to compile this package is:
7777
all sorts of other programs in order to regenerate files that came
7878
with the distribution.
7979

80-
Make Tcpreplay fast
81-
==========================
8280

81+
How to make Tcpreplay go fast
82+
=============================
83+
84+
1) Quick TX
85+
--------
8386
There are two ways to add modules which will make Tcpreplay fast. On
8487
Linux and BSD you can separately install netmap (see instructions below).
8588
Note that netmap is disruptive to the network during a Tcpreplay test.
8689
Specifically the network interface is completely bypassed when netmap
87-
is active. A safer solution is Quick TX (available only for Linux).
90+
is active. A simpler and safer solution is Quick TX (available only
91+
for Linux). Quick TX ships with Tcpreplay as of version 4.1.
8892

89-
As of version 4.1.0, Tcpreplay includes the Quick TX module for Linux.
90-
It allows Tcpreplay to bypass the kernel network stack and write directly
91-
to the network driver. Doing so allows up to wire-rate transmissions
92-
(tested up to 10Gbps). Unlike netmap, it does not bypass the network
93-
stack during Tcpreplay transmission. Also, you do not have to download
94-
kernel source code to build it. By default Quick TX is built and
95-
installed automatically.
96-
97-
Neither Quick TX or netmap are part of the basic build.
93+
Quick TX allows Tcpreplay to bypass the kernel network stack and write
94+
directly to the network driver. Doing so allows up to wire-rate
95+
transmissions (tested up to 10Gbps). Unlike netmap, it does not bypass
96+
the network stack during Tcpreplay transmission. Also, you do not have
97+
to download kernel source code to build it. By default Quick TX is built
98+
and installed automatically.
9899

99100
If you would like to have Quick TX installed, do the following:
100101

@@ -119,9 +120,9 @@ with 'qtx:', e.g.
119120

120121
tcpreplay -i qtx:eth0 -Kt bigFlows.pcap
121122

122-
Build netmap feature
123-
====================
124123

124+
2) netmap
125+
------
125126
This feature will detect netmap capable network drivers on Linux and
126127
BSD systems. If detected, the network driver is bypassed for the
127128
execution duration of tcpreplay and tcpreplay-edit, and network buffers
@@ -137,9 +138,10 @@ Ensure that you have supported NICs installed. Most Intel and nForce
137138
(nVidia) adapters will work. Some virtual adapters are supported.
138139

139140
FreeBSD 10 and higher already contains netmap capabilities and should
140-
be detected automatically by "configure". But first you must enable netmap on the system
141-
by adding 'device netmap' to your kernel config and rebuilding the kernel. When
142-
complete, /dev/netmap will be available.
141+
be detected automatically by "configure". But first you must enable
142+
netmap on the system by adding 'device netmap' to your kernel config
143+
and rebuilding the kernel. When complete, /dev/netmap will be
144+
available.
143145

144146
For Linux, download latest netmap sources from http://info.iet.unipi.it/~luigi/netmap/
145147
or run 'git clone https://code.google.com/p/netmap/'. You will also need to have
@@ -166,6 +168,7 @@ directory, for example:
166168
make
167169
sudo make install
168170

171+
169172
Compilers and Options
170173
=====================
171174

@@ -181,6 +184,7 @@ is an example:
181184

182185
*Note Defining Variables::, for more details.
183186

187+
184188
Compiling For Multiple Architectures
185189
====================================
186190

@@ -196,6 +200,7 @@ architecture at a time in the source code directory. After you have
196200
installed the package for one architecture, use `make distclean' before
197201
reconfiguring for another architecture.
198202

203+
199204
Installation Names
200205
==================
201206

@@ -219,6 +224,7 @@ you can set and what kinds of files go in them.
219224
with an extra prefix or suffix on their names by giving `configure' the
220225
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
221226

227+
222228
Optional Features
223229
=================
224230

@@ -234,6 +240,7 @@ find the X include and library files automatically, but if it doesn't,
234240
you can use the `configure' options `--x-includes=DIR' and
235241
`--x-libraries=DIR' to specify their locations.
236242

243+
237244
Specifying the System Type
238245
==========================
239246

@@ -264,6 +271,7 @@ platform different from the build platform, you should specify the
264271
"host" platform (i.e., that on which the generated programs will
265272
eventually be run) with `--host=TYPE'.
266273

274+
267275
Sharing Defaults
268276
================
269277

@@ -275,6 +283,7 @@ values for variables like `CC', `cache_file', and `prefix'.
275283
`CONFIG_SITE' environment variable to the location of the site script.
276284
A warning: not all `configure' scripts look for a site script.
277285

286+
278287
Defining Variables
279288
==================
280289

@@ -294,6 +303,7 @@ an Autoconf bug. Until the bug is fixed you can use this workaround:
294303

295304
CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
296305

306+
297307
`configure' Invocation
298308
======================
299309

docs/CHANGELOG

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
10/17/2014 Version 4.1.0beta3
22
- Add a flag to customize netmap delay (#160)
33
- Fix some compile wwarnings (#159)
4-
- Disabled QuickTX build by default (#157)
4+
- Disabled Quick TX build by default (#157)
55

66
10/17/2014 Version 4.1.0beta2
77
- CentOS 6.5 kernel panic on Quick TX init (#146)

docs/INSTALL

+57-5
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,52 @@ The simplest way to compile this package is:
7777
all sorts of other programs in order to regenerate files that came
7878
with the distribution.
7979

80-
Build netmap feature
81-
====================
8280

81+
How to make Tcpreplay go fast
82+
=============================
83+
84+
1) Quick TX
85+
--------
86+
There are two ways to add modules which will make Tcpreplay fast. On
87+
Linux and BSD you can separately install netmap (see instructions below).
88+
Note that netmap is disruptive to the network during a Tcpreplay test.
89+
Specifically the network interface is completely bypassed when netmap
90+
is active. A simpler and safer solution is Quick TX (available only
91+
for Linux). Quick TX ships with Tcpreplay as of version 4.1.
92+
93+
Quick TX allows Tcpreplay to bypass the kernel network stack and write
94+
directly to the network driver. Doing so allows up to wire-rate
95+
transmissions (tested up to 10Gbps). Unlike netmap, it does not bypass
96+
the network stack during Tcpreplay transmission. Also, you do not have
97+
to download kernel source code to build it. By default Quick TX is built
98+
and installed automatically.
99+
100+
If you would like to have Quick TX installed, do the following:
101+
102+
./configure --enable-quick-tx
103+
make
104+
sudo make install
105+
106+
To ensure the module is intalled, run 'lsmod' and look for 'quick_tx'.
107+
To uninstall the module, uninstall tcpreplay:
108+
109+
sudo make uninstall
110+
111+
You can build Quick TX for a different kernel version if the sources
112+
or headers are installed on your Linux distribution, e.g.
113+
114+
./configure --enable-quick-tx --with-kernel=/lib/modules/2.6.32-66-generic/build
115+
make
116+
sudo make install
117+
118+
To use the Quick TX module, run tcpreplay with interface names prefixed
119+
with 'qtx:', e.g.
120+
121+
tcpreplay -i qtx:eth0 -Kt bigFlows.pcap
122+
123+
124+
2) netmap
125+
------
83126
This feature will detect netmap capable network drivers on Linux and
84127
BSD systems. If detected, the network driver is bypassed for the
85128
execution duration of tcpreplay and tcpreplay-edit, and network buffers
@@ -95,9 +138,10 @@ Ensure that you have supported NICs installed. Most Intel and nForce
95138
(nVidia) adapters will work. Some virtual adapters are supported.
96139

97140
FreeBSD 10 and higher already contains netmap capabilities and should
98-
be detected automatically by "configure". But first you must enable netmap on the system
99-
by adding 'device netmap' to your kernel config and rebuilding the kernel. When
100-
complete, /dev/netmap will be available.
141+
be detected automatically by "configure". But first you must enable
142+
netmap on the system by adding 'device netmap' to your kernel config
143+
and rebuilding the kernel. When complete, /dev/netmap will be
144+
available.
101145

102146
For Linux, download latest netmap sources from http://info.iet.unipi.it/~luigi/netmap/
103147
or run 'git clone https://code.google.com/p/netmap/'. You will also need to have
@@ -124,6 +168,7 @@ directory, for example:
124168
make
125169
sudo make install
126170

171+
127172
Compilers and Options
128173
=====================
129174

@@ -139,6 +184,7 @@ is an example:
139184

140185
*Note Defining Variables::, for more details.
141186

187+
142188
Compiling For Multiple Architectures
143189
====================================
144190

@@ -154,6 +200,7 @@ architecture at a time in the source code directory. After you have
154200
installed the package for one architecture, use `make distclean' before
155201
reconfiguring for another architecture.
156202

203+
157204
Installation Names
158205
==================
159206

@@ -177,6 +224,7 @@ you can set and what kinds of files go in them.
177224
with an extra prefix or suffix on their names by giving `configure' the
178225
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
179226

227+
180228
Optional Features
181229
=================
182230

@@ -192,6 +240,7 @@ find the X include and library files automatically, but if it doesn't,
192240
you can use the `configure' options `--x-includes=DIR' and
193241
`--x-libraries=DIR' to specify their locations.
194242

243+
195244
Specifying the System Type
196245
==========================
197246

@@ -222,6 +271,7 @@ platform different from the build platform, you should specify the
222271
"host" platform (i.e., that on which the generated programs will
223272
eventually be run) with `--host=TYPE'.
224273

274+
225275
Sharing Defaults
226276
================
227277

@@ -233,6 +283,7 @@ values for variables like `CC', `cache_file', and `prefix'.
233283
`CONFIG_SITE' environment variable to the location of the site script.
234284
A warning: not all `configure' scripts look for a site script.
235285

286+
236287
Defining Variables
237288
==================
238289

@@ -252,6 +303,7 @@ an Autoconf bug. Until the bug is fixed you can use this workaround:
252303

253304
CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
254305

306+
255307
`configure' Invocation
256308
======================
257309

0 commit comments

Comments
 (0)