How to record a CIGI logger tape

How to record a CIGI logger tape

Background

VR-Vantage supports version 3 and version 4 of the Common Image Generator Interface (CIGI) simulation interoperability standard. For various reasons, it is often useful to be able record, share, and playback CIGI network traffic. MAK provides a few command-line tools for doing just that and these tools are included in every installation of VR-Vantage.

The command-line tools and how to use them is what will be discussed in this How-To.

The Tools

VR-Vantage provides two command-line tools for capturing CIGI network traffic and saving that network traffic into a file which can be shared or used to playback the CIGI network traffic.

Those tools are:

  • CIGI Logger

    • Acts like a passive client which connects directly to the CIGI Host and does not send responses like a connected IG would

    • Only records (and plays back) Host-To-IG network traffic

  • CIGI Snooper

    • Acts as a middleman between the CIGI Host and a connected IG by consuming network traffic from the host or IG, saves it to a file, and forwards the network traffic to the CIGI host or IG

    • Records (and plays back) Host-To-IG network traffic and IG-To-Host network traffic

We provide two different versions of these two tools for each CIGI version, and they are provided as Python scripts.

All in all, there are 4 Python scripts:

  • Version 3

    • ./tools/CigiUtilities/pyCigiV3/pyCigiV3Packets/logger.py

    • ./tools/CigiUtilities/pyCigiV3/pyCigiV3Packets/snooper.py

  • Version 4

    • ./tools/CigiUtilities/pyCigiV4/pyCigiV4Packets/logger.py

    • ./tools/CigiUtilities/pyCigiV4/pyCigiV4Packets/snooper.py

Typical Usage

Both the CIGI Logger and the CIGI Snooper support a few command line arguments. To see what those command line arguments are, use the --help argument.

CIGI Logger Examples

Recording:

$ cd tools/CigiUtilities/pyCigiV4/pyCigiV4Packets $ python logger.py --recording --ip 224.1.1.1 --port 4113 --filename output_log.txt

Playback:

$ cd tools/CigiUtilities/pyCigiV4/pyCigiV4Packets $ python logger.py --ip 224.1.1.1 --port 4113 --filename output_log.txt

Network Configuration:

  • IP Address: 224.1.1.1

  • CIGI Host:

    • Receive Port: 4112

    • Send Port: 4113

  • IG:

    • Receive Port: 4113

    • Send Port: 4112

The CIGI network traffic will be saved to and played back from the ./tools/CigiUtilities/pyCigiV4/pyCigiV4Packets/output_log.txt file.

A multicast network address must be used if you want the connected IG and the CIGI Logger to receive network packets from the CIGI Host.

CIGI Snooper Examples

Recording:

$ cd tools/CigiUtilities/pyCigiV4/pyCigiV4Packets $ python snooper.py --recording --host_recv_port 4112 --host_send_port 4113 --ig_recv_port 4012 --ig_send_port 4013 --filename output_log.txt

Playback:

$ cd tools/CigiUtilities/pyCigiV4/pyCigiV4Packets $ python snooper.py --host_recv_port 4112 --host_send_port 4113 --ig_recv_port 4012 --ig_send_port 4013 --filename output_log.txt

The above will work with the following CIGI network configuration:

  • IP Address: 127.0.01

  • CIGI Host:

    • Receive Port: 4112

    • Send Port: 4113

  • IG:

    • Receive Port: 4012

    • Send Port: 4013

The CIGI network traffic will be saved to and played back from the ./tools/CigiUtilities/pyCigiV4/pyCigiV4Packets/output_log.txt file.

The IG Receive Port does not match the CIGI Send Port and the Host Receive Port does not match the IG Send Port like they do when using the CIGI Logger.

This middleman approach allows a unicast network address to be used.