This directory contains source code for the NRL Multi-Generator (MGEN) Test Tool Set Version 5.x. MGEN Version 5 is based on MGEN 4.2b6. The transport classes have been abstracted and new features have been added.
Requires Protolib:
- https://www.nrl.navy.mil/itd/ncs/products/protolib
- https://github.com/USNavalResearchLaboratory/protolib
The MGEN build expects the "protolib" source tree (or a symbolic link to it) to be located in the top level of the "mgen" source tree.
git clone https://github.com/nv6/mgen.git
cd mgen
git submodule update --init
cd makefiles
make -f Makefile.linuxgit clone https://github.com/nv6/mgen.git
cd mgen
docker buildx bakeMGEN RPM package will be generated in ./rpmbuild/RPMS/x86_64. Other subdirectories will contain debug and source RPMs.
Primary new features included in 5.02c
- includes/is compiled with protolib-3.0b1
- IPV6 on linux is fixed
- DF fragmentation bit on|off added
- uniform random message size supporte e.g. [ sizeMin:sizeMax]
- assorted bug fixes
Primary new features included 5.02b:
- Support for the TCP protocol.
- New pattern options JITTER and CLONE.
- Transport buffering has been added (QUEUE option).
- User defined payload can be specified with the DATA option.
- Message COUNT support. (Concrete limit for messages sent per flow).
- Modifications to the log file. (New TCP messages and additional message content).
- Works with the RAPR toolkit. https://www.nrl.navy.mil/itd/ncs/products/rapr
- Compile time option to randomly fill payload buffer.
- OS can now choose src port.
- Command line option to log in localtime or gmtime.
- Includes SO_BROADCAST socket option provided by Erik Auerswald.
- Includes bug fix for compiling under Visual Studio 6.0 (submitted by Kevin Wambsganz)
- Includes bug fix for retaining src port upon flow MOD command.
Please refer to the Mgen User's Guide for more information on these and other features at https://www.nrl.navy.mil/itd/ncs/products/mgen or in the distribution.
| filename | description |
|---|---|
| README.TXT | this file |
| include | Include files |
| src | Directory with cross-platform source code files |
| src/common | mgen src code files |
| src/sim | ns and opnet src code files |
| doc | Documentation directory |
| doc/mgen.[HTML,PDF] | MGEN User's and Reference Guide |
| doc/mgen-tech.[HTML,PDF] | MGEN Technical Documentation |
| doc/example.mgn | Example MGEN script file |
| protolib | NRL Protolib source tree (See https://www.nrl.navy.mil/itd/ncs/products/protolib) |
| makefiles | Directory with os-specific Makefiles. Linux specific makefiles are at the top level, win32 and wince subdirectories contains windows build files. |
| setup.py | Python installation script for installing the Python 'mgen' package that provides for Python-based control and monitoring of MGEN. This package assumes the 'mgen' binary is installed/located in the executable "path" (e.g., "/usr/local/bin") This package also requires that the Protolib (see above) 'protokit' Python package has also been installed. There is a similar 'setup.py' script in the "protolib" source tree. |