wirefilter

Langue: en

Version: 262441 (debian - 07/07/09)

Section: 1 (Commandes utilisateur)

NAME

wirefilter - Wire packet filter for Virtual Distributed Ethernet

SYNOPSIS

wirefilter

[-l loss] [-l lostburst] [-d delay] [-D dup] [-b bandwidth] [-s interface_speed] [-c channel_capacity] [-n noise_factor] [-m mtu_size] [-M mgmt socket] [-v vde_plug1:vde_plug2] [--daemon] [--pidfile pidfile_path] [--blink blink] [--blinkid blink_identifier] [-N]

DESCRIPTION

A wirefilter is able to emulate delays and packet loss on virtual wires. e.g.:

dpipe vde_plug /tmp/s1 = wirefilter -l 10 = vde_plug /tmp/s2

creates a wire between two vde_switches (with sockets /tmp/s1 and /tmp/s2 respectively). This cable looses 10% of the packets in each direction.

The same cable can be created using:

wirefilter -v /tmp/s1:/tmp/s2 -l 10

OPTIONS

-l loss
percentage of loss as a floating point number. It is possible to specify different loss percentage for the two channels: LR20.5 means 20.5% of packet flowing left to right are lost, RL10 means 10% from right to left.
-L lostburst
when this is not zero, wirefilter uses the Gilbert model for bursty errors. This is the mean length of lost packet bursts. (it is a two state Markov chain: the probability to exit from the faulty state is 1/lostburst, the probability to enter the faulty state is loss/(lostburst-(1-loss)). The loss rate converges to the value loss.
-d delay
Extra delay (in milliseconds). This delay is added to the real communication delay. Packets are temporarily stored and resent after the delay. It is possible to specify different values for LR and RL like in the previous option. When the delay is specified as two numbers with a + in between, the first is the standard delay and the second is a random variation. 1000+500 means that the delay can be randomly chosen between half second and 1.5 seconds. It is possible to add 'U' or 'N' at the end. 1000+500U means that the dealys are uniformly distributed, 1000+500N means that the delays follow a Gaussian normal distribution (more than 98% of the values are inside the limits).
-D dup
percentage of dup packet. It has the same syntax of -l. Do not use dup factor 100% because it means that each packet is sent infinite times.
-b bandwidth
Channel bandwidth in Bytes/sec. It has the same syntax of -d. It is also possible to use suffixes K,M,G to abbreviate 2^10, 2^20, 2^30. 128K means 128KBytes/sec. 128+64K means 64i to 196KBytes/sec. Sender is not prevented from sending packets, delivery is delayed to limit the bandwidth to the desired value. (Like a bottleneck along the path) U and N after the values (e.g. 128+64KN) set the statistic distribution to use (uniform or normal).
-s speed
Interface speed in Bytes/sec. It has the same syntax of -b. Input is blocked for the tramission time of the packet, thus the sender is prevented from sending too fast.
-c capacity
Channel capacity (in Bytes): maximum size of the packet queue. Exceeding packets are discarded.
-n noise factor
Number of bits damaged/one megabyte.
-m mtu size
Packets longer than mtu_size are discarded.
-N
nofifo. with -N packets can be reordered.
-M mgmt socket
the unix socket where the parameters (loss percentage, delay etc) can be checked and changed runtime. unixterm(1) can be used as a remote terminal for wirefilter.
-v vde_plug1:vde_plug2
If this option is used, the two local vde_plugs (vde_plug1 and vde_plug2) will be connected each other instead of stdin/stdout, using the libvdeplug libraries.
--mgmtmode mode
this option sets the access mode of the mgmt socket.
--daemon
wirefilter becomes a daemon
--pidfile pathnamefP
wirefilter saves its pid into the file.
--blinkid name
This option defines the id sent for each packet to the blink server (see the --blink option below). The stardard identifier for a wirefilter is the process pid.
--blink socket
wirefilter sends a log message to the specified PF_UNIX/DATAGRAM socket for each packet sent. Each packet has the format: id direction length. e.g:
 6768 LR 44
 6768 LR 44
 6768 RL 100
 6768 LR 100
 6768 LR 44
 

NOTICE

Virtual Distributed Ethernet is not related in any way with www.vde.com ("Verband der Elektrotechnik, Elektronik und Informationstechnik" i.e. the German "Association for Electrical, Electronic & Information Technologies").

SEE ALSO

vde_switch(1), vdeq(1). dpipe(1). unixterm(1).

AUTHOR

VDE is a project by Renzo Davoli <renzo@cs.unibo.it>