Ostinato Versions Save

Ostinato - Packet/Traffic Generator and Analyzer

v1.3.0

6 months ago

Release Date: 2023-10-19

Added

  • Added per-stream average latency and jitter measurement
  • Include row/column headers when pasting stream stats as text
  • Use Outer/Inner prefix for fields of combo protocols such as IP4o4 to distinguish them
  • Double-click port name to edit port configuration properties (#344)
  • Allow user to add a port decription (#223)
  • Show port name/description in Ports Window
  • Warn about per-stream stats not supported for ICMP streams

Changed

  • Improve Port stats window
    • Remove port byte rate stats as bit rates are more useful
    • Change port stats names to always start with send/receive
    • Reorder port stats to make them consistent wrt send/receive
    • Group related port stats together
  • Try to fit all columns within stream stats window to avoid unnecessary scrolling
  • Improve IPv4 address user input for IPv4 protocol config

Fixed

  • Fix Ostinato GUI crash when opening a session file or when adding/removing a portgroup - regression introduced in v1.2.0
  • Fix spurious stream stats drops - regression introduced with v1.2.0
  • Fix drone crash at startup on Linux. The crash is seen when the main routing table has a default route without a gateway
  • Write string/hexstring value correctly when saving stream(s) as Python script
  • Fix helpful message not being displayed when missing packet.dll on Windows
  • Fix potential contention for stream stats update
  • Fix per-stream stats not working for VLAN tagged packets (#354)
  • Fix missing port status when pasting port stats as text

v1.2.0

1 year ago

Release Date: 2022-08-15

In memory of Viswa

Added

  • Add new Protocol - GRE (accessible via advanced protocol selection)
  • Add new per-stream stats fields - duration, avg tx/rx packet and bit rates
  • Warn about retreiving stream stats from a transmitting port as they may be unavailable or incomplete (#334)
  • Add IMIX as a Frame Length mode - frame lengths 64, 594, 1518 in 7:4:1 ratio
  • Improve UI/UX of configuring port traffic rates - show port speed, allow input as % load, change port bit rate unit automatically for better readability; allow k, m suffixes for easier input of pps/bps
  • Add Find & Replace for protocol fields to bulk edit streams easily - useful especially for pcap editing post import
  • Add Recalculate Checksums option to PCAP intelligent import
  • Improve nanosec PCAP support
    • Read nanosec PCAP files natively in non-pdml mode (#238)
    • Use nsec pcap as intermediate format when opening non-pcap
    • Save PCAP always in nanosecond PCAP format
  • Add (experimental) Ostinato GUI themes
  • Warn user that stream stats may not work in case of short packets
  • Add Ctrl-C graceful cleanup for Drone on Windows

Changed

  • Display streams in order of GUID in the stream stats window
  • When stream stats tab is closed, select the previous tab - usually, the port stats tab - instead of the tab to the right (#331)
  • Reorganize application main menu by introducing two top level menus - Streams, Devices
  • Wait 500ms for ARP/NDP to resolve (#318)
  • Support 0 (top-speed) rate for interleaved streams - all streams will be sent at the same rate (#318)
  • Changes in common infra code to support Turbo add-on

Fixed

  • Fix count of variable length packets which may some time lead to very long apply time (#325)
  • Fix unknown GUID 4294967295 in stream statistics
  • Fix port reservation getting cleared incorrectly when other port config properties were modified, but not the port reservation (#317)
  • Fix wrong stream getting disabled in interleaved mode (#328)
  • Close existing RPC connections at Drone exit to avoid assert crash (#314)
  • Gracefully handle portgroup disconnect during Apply so that the GUI remains usable (#326)
  • Fix incorrect display of STP Mac addresses in the STP config widget (#340)
  • Try to automatically reconnect with drone after disconnect (#333)
  • Fix incorrect UDP/ICMP checksums when their payload contains other protocols with checksum fields like VxLAN or Geneve
  • Fix disabled start/stop buttons after opening a streams file (#312)
  • Show/hide the Next column in stream list on Transmit mode change
  • Fix occassional GUI crash when deleting a port group
  • Fix colors in stream stats window in dark mode to make text readable

v1.1

3 years ago

Release Date: 2020-06-19

Added

  • Cut, copy, paste support added for streams, device groups, stats and logs
  • Import PCAPNG and any other Wireshark supported file format for PCAP import (#83)
  • Added support for npcap on Windows; npcap support is beta quality for now (#236)
  • Large animated notification in case of errors and warnings

Changed

  • Improved PCAP import with tshark 2.x/3.x
  • Improved PCAP replay timing accuracy
  • Improved handling of multiple simultaneous port groups by making their handling independent
  • When reset to default view, all selections and current index are also cleared
  • Set top and bottom dock windows to equal height at startup
  • File paths in preferences can be specified directly; using the file picker dialog is optional (#288)

Fixed

  • Linux only - fix drone crash at startup if one of the ports doesn't have a link layer (mac) address (#298)
  • Fix drone crash due to contention between emulation packet processing thread and emulation device configuration threads
  • Gracefully abort the connection with a helpful message if bad data is received from drone instead of crashing
  • Fix device emulation packets with VLAN and CFI or Prio bits set not matching the emulated device having same VLAN as the packet
  • Fix incorrect IPv6 src/dst address when set to increment/decrement mode (#283)
  • Fix IPv6 stream configuration src/dst address prefix length in the GUI not being saved correctly
  • Fix valid IP addresses not being accepted in the IGMPv3 Source List field of a IGMPv3 stream (#292)
  • Fix incorrect IGMPv3 Group Aux Data in a IGMPv3 stream
  • Allow full range for a variable field - 0 to max (#301)
  • Change raw_input to input in stream saved as python script so that it is compatible with both Python 2 and 3
  • Allow avg rate change in streams pane from 0 to > 0 in the GUI (#294)
  • Fix jumbo error being reported multiple times during pre-flight check (#290)
  • Fix sort order of devices to VLANs+Mac (#289)
  • Fix .app path setting in preferences on Mac not working (#288)
  • Fix stream stats setting not being saved in a Ostinato session file
  • Fix 'awk not found' message during PCAP import
  • Show packet summary line correctly in PCAP import diff

v1.0

4 years ago

Release Date: 2019-09-07

Added

  • Host Devices - use host OS' IP address and ARP/NDP resolution
  • Custom widget to enter TOS/DSCP/ECN values for IPv4/IPv6 protocols
  • More checks to warn users about potentially bad or unexpected packets when editing streams
  • Transmit/capture status icons for each port in the port list
  • Rx/Tx bps (bits per second) rows to the Port Statistics window
  • Logs window to show communication with the agent and failures/errors, if any
  • Start/Stop Transmit buttons to Stream List window
  • Resolve/Clear ARP/NDP buttons to Device Info window
  • New build RPC to explicitly prebuild packets for transmission
  • Implicit Src/Dst mac address resolution when clicking Apply
  • Progress Bar during Apply
  • New menu item - Help | Check for Updates
  • New menu item - Help | Donate

Changed

  • Code ported from Qt4 to Qt5
  • Improved UI/UX for variable fields widget
  • Mac Protocol - default mode changed from fixed to resolve (may break scripts using the API if they assumed fixed)
  • Mac Protocol - accept : or - as mac address separator characters
  • IPv4 Protocol - when importing from PCAP, import IP options into ip.options field instead of a separate HexDump protocol
  • Ack message - enum kRpcFail renamed as kRpcError
  • New version availability is shown in a message box instead of in the status bar
  • Debug logs are disabled by default (provide -d on command-line to enable)
  • Resolve will trigger ARP/NDP from emulated devices if they are unresolved
  • Resolve will not send ARP/NDP if already resolved
  • Port Statistics window shows status icons instead of text for link state and transmit/capture state
  • Use Windows' connection name as the port description (#222)
  • The full Ostinato logo is used as the icon instead of only a part of the logo

Fixed

  • On some Linux platforms, Drone and Ostinato block when stopping capture, disabling stream statistics tracking or removing last emulated device group (#215, #234)
  • Clear All Statistics does not work when "View reserved ports only" is selected
  • Reserved ports are not shown in Port Statistics window at GUI controller startup
  • Build failure in mld.cpp on some platforms (#265)
  • Pcap imported streams send 10 packets for each imported packet instead of one
  • Allow stream rates to be entered with thousands' separator characters (typically, comma) (#240)
  • HexDump protocol - pad effective only if this is the last protocol in the packet
  • TCP/UDP/ICMP checksums are incorrect if packet has a IPv6 Extension header (#271)
  • Ostinato (and Drone) hang when building packets in interleaved mode on a port which has one or more streams configured, but none are enabled
  • Variable fields of type Counter32 not able to count/step more than 65535

v0.9

6 years ago

Release Date: 2017-12-10

  • Per stream statistics
  • Support for IPv4 options field (as a hex string)
  • Ostinato command line options and params
  • Ostinato UX improvements
  • Ostinato Python API re-licensed under a proprietary license to help sustain project
  • Bugfixes
    • Ostinato crashes, when opening PCAP containing STP packets (#213)
    • Hexdump input requires lowercase letters (#212)
    • Hexdump data input widget doesn't have focus (#103)
    • Delete streams in Interleaved mode takes a very long time (#195)
    • When emulating devices, use default gateway for off-subnet destinations (#196)
  • Multicast destination IP address should resolve to a multicast destination mac address (#192)
  • Fix IPv4/IPv6 PCAP/PDML import errors using tshark 2.x (#219)

v0.7.1

6 years ago

Release Date: 2015-06-16

  • Bugfix - GUI crashes on clicking View Capture button (#153)

v0.7

6 years ago

Release Date: 2015-06-09

  • Drone settings to specify include/exclude portlists (#122)
  • Ostinato client GUI checks for version updates at startup
  • 64bit stats support for Linux (if supported by Kernel and Driver) (#70)
  • Save streams as a python script from the GUI
  • Duplicate streams (#23)
  • Port Reservation; Show my reserved ports only (#144)
  • Restore Default View (#68)
  • Variable Fields (#31, #84, #110, #127)
  • Bugfixes (several)

v0.6

6 years ago

Release Date: 2014-07-07

  • Rearchitected/refactored the protocol builder framework to remove GUI dependency from Drone
  • Added Python bindings for scripting support
  • Multiple clients can now simultaneously connect to the same Drone instance (#22)
  • Clients now need to check for version compatibility with Drone at startup
  • Bugfixes
    • IGMPv3/MLDv2 Query missing Group Address Field (#107)
    • Start/Stop Transmit/Capture RPCs should return only after the invoked operation is complete
    • Port names in the port stats window are incorrect

v0.5.1

6 years ago

Release Date: 2012-08-01

  • Link state and improved statistics support for Linux, BSD and Mac OSX
  • Bugfixes
    • Fixed long inter-packet delay bug in interleaved mode due to which stream transmission could not be stopped (#60, #72, #74)
    • Fixed long inter-packet delay on some Win32 platforms (#66)
    • Fixed crash at init when pcap wasn't able to open an interface (#64)
    • Fixed incorrect TCP checksum when it is overridden (#58)

v0.5

6 years ago

Release Date: 2011-10-25

  • Improved maximum traffic generation rates (pps)
    • Linux - upto 25x
    • Windows - upto 60x
  • Reduced time taken to "apply" changes to stream(s)
  • Added support for "Pkts/Sec" and "Bytes/Sec" rate stats on Linux
  • Added support for transmit rates less than 1 pps
  • Added support for nanosecond resolution while calculating inter-packet gaps
  • Added support for average/aggregate port rate
  • Added a new "Interleaved Streams" transmission mode
  • Integrated newer version of QHexEdit widget - HexDump protocol edit now supports copy-paste and undo-redo
  • Major bugfix: (Windows Only) Tx Pkts were looped back to Rx on same port