]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - tools/tools/netmap/nmreplay.8
MFV r314565,314567,314570:
[FreeBSD/FreeBSD.git] / tools / tools / netmap / nmreplay.8
1 .\" Copyright (c) 2016 Luigi Rizzo, Universita` di Pisa
2 .\" All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\"
13 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23 .\" SUCH DAMAGE.
24 .\"
25 .\" $FreeBSD$
26 .\"
27 .Dd February 16, 2016
28 .Dt NMREPLAY 1
29 .Os
30 .Sh NAME
31 .Nm nmreplay
32 .Nd playback a pcap file through a netmap interface
33 .Sh SYNOPSIS
34 .Bk -words
35 .Bl -tag -width "nmreplay"
36 .It Nm
37 .Op Fl f Ar pcap-file
38 .Op Fl i Ar netmap-interface
39 .Op Fl B Ar bandwidth
40 .Op Fl D Ar delay
41 .Op Fl L Ar loss
42 .Op Fl b Ar batch size
43 .Op Fl w Ar wait-link
44 .Op Fl v
45 .Op Fl C Ar cpu-placement
46 .Sh DESCRIPTION
47 .Nm
48 works like
49 .Nm tcpreplay
50 to replay a pcap file through a netmap interface,
51 with programmable rates and possibly delays, losses
52 and packet alterations.
53 .Nm
54 is designed to run at high speed, so the transmit schedule
55 is computed ahead of time, and the thread in charge of transmission
56 only has to pump data through the interface.
57 .Nm
58 can connect to any type of netmap port.
59 .Pp
60 Command line options are as follows
61 .Bl -tag -width Ds
62 .It Fl f Ar pcap-file
63 Name of the pcap file to replay.
64 .It Fl i Ar interface
65 Name of the netmap interface to use as output.
66 .It Fl v
67 Enable verbose mode
68 .It Fl b Ar batch-size
69 Maximum batch size to use during transmissions.
70 .Nm
71 normally transmits packets one at a time, but it may use
72 larger batches, up to the value specified with this option,
73 when running at high rates.
74 .It Fl B Ar bps | Cm constant, Ns Ar bps | Cm ether, Ns Ar bps | Cm real Ns Op , Ns Ar speedup
75 Bandwidth to be used for transmission.
76 .Ar bps
77 is a floating point number optionally follow by a character
78 (k, K, m, M, g, G) that multiplies the value by 10^3, 10^6 and 10^9
79 respectively.
80 .Cm constant
81 (can be omitted) means that the bandwidth will be computed
82 with reference to the actual packet size (excluding CRC and framing).
83 .Cm ether
84 indicates that the ethernet framing (160 bits) and CRC (32 bits)
85 will be included in the computation of the packet size.
86 .Cm real
87 means transmission will occur according to the timestamps
88 recorded in the trace. The optional
89 .Ar speedup
90 multiplier (defaults to 1) indicates how much faster
91 or slower than real time the trace should be replayed.
92 .It Fl D Ar dt | Cm constant, Ns Ar dt | Cm uniform, Ns Ar dmin,dmax | Cm exp, Ar dmin,davg
93 Adds additional delay to the packet transmission, whose distribution
94 can be constant, uniform or exponential.
95 .Ar dt, dmin, dmax, avt
96 are times expressed as floating point numbers optionally followed
97 by a character (s, m, u, n) to indicate seconds, milliseconds,
98 microseconds, nanoseconds.
99 The delay is added to the transmit time and adjusted so that there is
100 never packet reordering.
101 .It Fl L Ar x | Cm plr, Ns Ar x | Cm ber, Ns Ar x
102 Simulates packet or bit errors, causing offending packets to be dropped.
103 .Ar x
104 is a floating point number indicating the packet or bit error rate.
105 .It Fl w Ar wait-link
106 indicates the number of seconds to wait before transmitting.
107 It defaults to 2, and may be useful when talking to physical
108 ports to let link negotiation complete before starting transmission.
109 .El
110 .Sh OPERATION
111 .Nm
112 creates an in-memory schedule with all packets to be transmitted,
113 and then launches a separate thread to take care of transmissions
114 while the main thread reports statistics every second.
115 .Sh SEE ALSO
116 .Pa http://info.iet.unipi.it/~luigi/netmap/
117 .Pp
118 Luigi Rizzo, Revisiting network I/O APIs: the netmap framework,
119 Communications of the ACM, 55 (3), pp.45-51, March 2012
120 .Pp
121 Luigi Rizzo, Giuseppe Lettieri,
122 VALE, a switched ethernet for virtual machines,
123 ACM CoNEXT'12, December 2012, Nice
124 .Sh AUTHORS
125 .An -nosplit
126 .Nm
127 has been written by
128 .An Luigi Rizzo, Andrea Beconcini, Francesco Mola and Lorenzo Biagini
129 at the Universita` di Pisa, Italy.