Skip to content
Tom Barbette edited this page Nov 25, 2022 · 4 revisions

FastTCPFlows Element Documentation

NAME

FastTCPFlows — Click element; creates packets flows with static TCP/IP/Ethernet headers

SYNOPSIS

FastTCPFlows(RATE, LIMIT, LENGTH,

 SRCETH, SRCIP,N<>
 DSTETH, DSTIP,N<>
 FLOWS, FLOWSIZE [, ACTIVE])

Batching: Batching natively supported
Ports: no inputs, 1 output
Processing: pull

DESCRIPTION

FastTCPFlows is a benchmark tool. At initialization time, FastTCPFlows creates FLOWS number of fake TCP/IP packets of length LENGTH (min 60), with source ethernet address SRCETH, source IP address SRCIP, destination ethernet address DSTETH, and destination IP address DSTIP. Source and destination ports are randomly generated. The TCP checksum is calculated. Each time the FastTCPFlows element is called, it selects a flow, increments the reference count on the skbuff created and returns the skbuff object w/o copying or cloning. Therefore, the packet returned by FastTCPFlows should not be modified.

FastTCPFlows sents packets at RATE packets per second. It will send LIMIT number of packets in total. Each flow is limited to FLOWSIZE number of packets. After FLOWSIZE number of packets are sent, the sort and dst port will be modified. FLOWSIZE must be greater than or equal to 3. For each flow, a SYN packet, a DATA packet, and a FIN packet are sent. These packets have the invalid sequence numbers, in order to avoid recomputing checksum.

After FastTCPFlows has sent LIMIT packets, it will calculate the average send rate (packets per second) between the first and last packets sent and make that available in the rate handler.

By default FastTCPFlows is ACTIVE.

Keyword arguments are:

  • STOP — Boolean. Stops the driver after generating LIMIT packets.

ELEMENT HANDLERS

  • count (read-only) — Returns the total number of packets that have been generated.
  • rate (read/write) — Returns or sets the RATE parameter.
  • reset (write) — Reset and restart.
  • active (write) — Change ACTIVE

EXAMPLES

 FastTCPFlows(100000, 500000, 60,
 0:0:0:0:0:0, 1.0.0.1,
 1:1:1:1:1:1, 2.0.0.2,
 100, 10)
 -> ToDevice;

Generated by click-elem2man from ../elements/tcpudp/fasttcpflows.hh:12 on 2022/11/25.

Clone this wiki locally