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.txtPlayback:
$ cd tools/CigiUtilities/pyCigiV4/pyCigiV4Packets
$ python logger.py --ip 224.1.1.1 --port 4113 --filename output_log.txtNetwork 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.txtPlayback:
$ 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.txtThe 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.