flowgen is simple traffic generator for multiple UDP flows with some throughput distribution patterns.
flowgen support 3 flow distribtuion patterns.
- Same : the ratio of bandwidth for each flow is uniform.
- Random : the ratio of bandwidth for each flow is random.
- Power-law : the ratio of bandwidth for each flow follows power-law.
flowgen uses Linux raw socket to transmit UDP packets. It is really slow.
git clone https://github.com/upa/flowgen.git
cd flowgen
make
./flowgen -h
make DCE=yes is defined for ns-3-dce use.
usage: ./flowgen
-s : Source IP address (default 10.1.0.10)
-d : Destination IP address (default 10.2.0.10)
-n : Number of flows (default 10)
-t : Type of flow distribution {same|random|power} (default same)
-l : Packet size (excluding ether header 14byte)
-i : packet send interval (micro second)
-m : Seed of srand
-f : daemon mode
-r : Randomize source ports of each flows
-c : Number of xmit packets (defualt unlimited)
-e : Receive mode
-u : using UDP socket instead of raw socket
-w : Run WITH receive thread
% sudo ./flowgen
or
% sudo ./flowgen -s 172.16.15.10 -d 172.16.12.12 -n 30 -t power -l 1500 -r -f
- using netmap I/O.