Skip to content

nv6/mgen

 
 

Repository files navigation

MGEN 5.x

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:

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.

Build Linux binary

git clone https://github.com/nv6/mgen.git
cd mgen
git submodule update --init
cd makefiles
make -f Makefile.linux

Build RPM package using Docker

git clone https://github.com/nv6/mgen.git
cd mgen
docker buildx bake

MGEN RPM package will be generated in ./rpmbuild/RPMS/x86_64. Other subdirectories will contain debug and source RPMs.

New features

Primary new features included in 5.02c

  1. includes/is compiled with protolib-3.0b1
  2. IPV6 on linux is fixed
  3. DF fragmentation bit on|off added
  4. uniform random message size supporte e.g. [ sizeMin:sizeMax]
  5. assorted bug fixes

Primary new features included 5.02b:

  1. Support for the TCP protocol.
  2. New pattern options JITTER and CLONE.
  3. Transport buffering has been added (QUEUE option).
  4. User defined payload can be specified with the DATA option.
  5. Message COUNT support. (Concrete limit for messages sent per flow).
  6. Modifications to the log file. (New TCP messages and additional message content).
  7. Works with the RAPR toolkit. https://www.nrl.navy.mil/itd/ncs/products/rapr
  8. Compile time option to randomly fill payload buffer.
  9. OS can now choose src port.
  10. Command line option to log in localtime or gmtime.
  11. Includes SO_BROADCAST socket option provided by Erik Auerswald.
  12. Includes bug fix for compiling under Visual Studio 6.0 (submitted by Kevin Wambsganz)
  13. 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.

Files and Directories

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.

About

Multi-Generator (MGEN) traffic generation tool

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 78.7%
  • C 15.4%
  • Python 5.5%
  • Tcl 0.2%
  • Makefile 0.1%
  • Shell 0.1%