debian/0000755000000000000000000000000011734432473007176 5ustar debian/control0000644000000000000000000000206411734034202010567 0ustar Source: mgen Section: net Priority: optional Maintainer: Raoul Gunnar Borenius Build-Depends: debhelper (>= 8.0.0) Standards-Version: 3.9.3 Homepage: http://cs.itd.nrl.navy.mil/work/mgen/ Package: mgen Architecture: any Suggests: mgen-doc Depends: ${shlibs:Depends}, ${misc:Depends} Description: packet generator for IP network performance tests MGEN provides the ability to perform IP network performance tests and measurements using TCP and UDP/IP traffic. Test messages can be generated, received and logged. MGEN offers control over all network parameters and timing of these messages. All this can be done either via the command line or defined in a file format for greater reproducibility. Package: mgen-doc Architecture: all Section: doc Recommends: dwww | dhelp | rarian-compat | doc-central Depends: ${misc:Depends} Description: mgen user and reference guide This package contains the HTML documentation for MGEN, a packet generator for IP network performance tests. It can also be found online at http://cs.itd.nrl.navy.mil/work/mgen/ . debian/repack.stub0000644000000000000000000000331211636712525011341 0ustar #!/bin/sh : <<=cut =pod =head1 NAME repack.stub - script to repack upstream tarballs from uscan =head1 INSTRUCTIONS put this in debian/repack.stub and add "debian sh debian/repack.stub" to the end of the line in debian/watch. you will also need to add a version mangle to debian/watch. then create a debian/repack.local. this is a shell script that is sourced under "set -e", so be careful to check returns codes. =head1 FUNCTIONS =over 4 =item rm rm is replaced by a function that does some magic ("rm -rv" by default), but also changes MANIFEST if $MANIFEST is 1 =item mv mv is replaced by a function that just does mv (by default), but also changes MANIFEST if $MANIFEST is 1 =item requires_version requires_version is there for future usage for requiring certain versions of the script =back =head1 VARIABLES =over 4 =item SUFFIX defaults to +dfsg what to append to the upstream version =item RM_OPTS defaults to -vrf options to pass to rm =item MANIFEST defaults to 0, set to 1 to turn on. this will manipulate MANIFEST files in CPAN tarballs. =item UP_BASE this is the directory where the upstream source is. =back =cut if [ -z "$REPACK_SH" ]; then if [ -f ../../scripts/repack.sh ]; then REPACK_SH=../../scripts/repack.sh fi if [ -z "$REPACK_SH" ] && which repack.sh > /dev/null; then REPACK_SH=$(which repack.sh) fi fi if [ ! -f "$REPACK_SH" ]; then echo "Couldn't find a repack.sh. please put it in your PATH, put it at ../../scripts/repack.sh, or put it somewhere else and set the REPACK_SH variable" echo "You can get it from http://anonscm.debian.org/gitweb/?p=pkg-perl/scripts.git;a=blob_plain;f=repack.sh;hb=HEAD" exit 1 fi exec "$REPACK_SH" "$@" debian/repack.local0000644000000000000000000000240011703042347011444 0ustar # needs to be incremented if we make changes in the source SUFFIX="+dfsg2" # remove pre-built binaries and other cruft (cd mgen/makefiles && make -f Makefile.linux clean) find . -name '*~' -print0 | xargs -0r rm # remove unneeded xml/xmi/pdf documentation find . -name '*.pdf' -print0 | xargs -0r rm find . -name '*.xml' -print0 | xargs -0r rm find . -name '*.xmi' -print0 | xargs -0r rm # remove duplicate files # this does not work (?!?) #for i in mgen/doc/resources/* ; do # [ -e mgen/doc/`basename $i` ] && rm -f mgen/doc/`basename $i` #done rm -f mgen/doc/drecLogo.gif rm -f mgen/doc/drecMgenTransport.jpeg rm -f mgen/doc/mgenAttributes.jpeg rm -f mgen/doc/mgenFlow.jpeg rm -f mgen/doc/mgenLogo.gif rm -f mgen/doc/mgenMsg.jpeg rm -f mgen/doc/mgenSystemArch.jpeg rm -f mgen/doc/mgenTransport.jpeg rm -f mgen/doc/protoDispatcherAttributes.jpeg rm -f mgen/doc/protoSocket.jpeg # remove unneeded files with unclear licenses rm -rf mgen/makefiles/win32 rm -rf mgen/makefiles/wince rm -rf mgen/src/sim rm -rf mgen/protolib/makefiles/win32 rm -rf mgen/protolib/makefiles/wince rm -rf mgen/protolib/src/win32 rm -rf mgen/protolib/src/wince rm -rf mgen/protolib/src/sim rm -rf mgen/protolib/src/java rm -rf mgen/protolib/waf rm -rf mgen/protolib/waf.bat rm -rf mgen/protolib/wscript debian/mgen.install0000644000000000000000000000003511640400216011474 0ustar mgen/makefiles/mgen usr/bin debian/mgen.manpages0000644000000000000000000000001611640400230011614 0ustar debian/mgen.1 debian/changelog0000644000000000000000000000262011734424330011041 0ustar mgen (5.02+dfsg2-3) unstable; urgency=low * enable hardening flags in protolib/ (thanks to Simon Ruderich) (Closes: #665313) * changed "Recommends: mgen-doc" into "Suggests: mgen-doc" to avoid installing the doc-package by default (and thereby installing the complete web based debian help system) * put doc files in mgen-doc package in it's own directory in /usr/share/doc to get rid of lintian warning 'doc-package-depends-on-main-package' * bumped Standards-Version to 3.9.3 -- Raoul Gunnar Borenius Tue, 27 Mar 2012 22:53:25 +0200 mgen (5.02+dfsg2-2) unstable; urgency=low * Add patch fixing FTBFS on Ubuntu (thanks to Daniel T Chen) (Closes: #657820) * Add patch to fix dh_shlibdeps warning (thanks to Nicholas Bamber) * enable hardening flags (http://wiki.debian.org/ReleaseGoals) * Add patch to get rid of pointer-cast-size-mismatch warning * Add patch for kfreebsd port (thanks to Nicholas Bamber) -- Raoul Gunnar Borenius Tue, 07 Feb 2012 12:39:11 +0100 mgen (5.02+dfsg2-1) unstable; urgency=low * removed unused waf script (Closes: #654490) * added get-orig-source target to debian/rules -- Raoul Gunnar Borenius Sun, 08 Jan 2012 01:59:22 +0100 mgen (5.02+dfsg-1) unstable; urgency=low * Initial release (Closes: #630498) -- Raoul Gunnar Borenius Mon, 26 Sep 2011 16:12:53 +0200 debian/compat0000644000000000000000000000000211714671247010376 0ustar 8 debian/patches/0000755000000000000000000000000011734430730010617 5ustar debian/patches/ld_as-needed0000644000000000000000000000202011734033265013042 0ustar Description: fix FTBFS on Ubuntu Ubuntu (and to a different timescale Debian) are planning to tighten up the linking of shared libraries. For more information see https://wiki.ubuntu.com/NattyNarwhal/ToolchainTransition#Indirect_Linking_for_Shared_Libraries This patch does not actually do that. Rather it corrects the order of the compiler flags so that when the --as-needed (or equivalent) flags are actually applied the build will still work. Author: Daniel T Chen, https://launchpad.net/~crimsun Forwarded: yes, sent private email to upstream authors Reviewed-by: Nicholas Bamber Last-Update: 2012-02-21 --- a/mgen/makefiles/Makefile.common +++ b/mgen/makefiles/Makefile.common @@ -57,7 +57,7 @@ MPMGR_OBJ = $(MPMGR_SRC:.cpp=.o) mpmgr: $(MPMGR_OBJ) $(LIBPROTO) - $(CC) -g $(CFLAGS) -o $@ $(MPMGR_OBJ) $(LDFLAGS) $(LIBS) $(LIBPROTO) + $(CC) -g $(CFLAGS) -o $@ $(MPMGR_OBJ) $(LDFLAGS) $(LIBPROTO) $(LIBS) clean: rm -f $(COMMON)/*.o $(UNIX)/*.o $(UNIX)/mgen $(UNIX)/mpmgr $(NS)/*.o; debian/patches/fix-compile-warnings0000644000000000000000000000171011734033231014576 0ustar Description: fix compiler warnings This patch fixes "warning: cast to pointer from integer of different size" in mgen/protolib/src/common/protoDispatcher.cpp by simply adding a cast to intptr_t as recommended by https://buildd.debian.org/~brlink/bytag/W-pointer-cast-size-mismatch.html. So far no negative effects to the workings of the program have been observed. More thorough tests should probably be done. Author: Raoul Gunnar Borenius Forwarded: yes, sent private email to upstream authors Last-Update: 2012-02-20 --- a/mgen/protolib/src/common/protoDispatcher.cpp +++ b/mgen/protolib/src/common/protoDispatcher.cpp @@ -760,7 +760,7 @@ if (dp->controller) Lock(dp->controller->lock_b); Lock(dp->suspend_mutex); dp->thread_started = true; - ExitStatus result = (ExitStatus)dp->Run(); + ExitStatus result = (ExitStatus)(intptr_t)dp->Run(); Unlock(dp->suspend_mutex); DoThreadExit(result); return result; debian/patches/freebsd0000644000000000000000000000233711734033244012160 0ustar Author: Nicholas Bamber Description: attempt to port to Debian/kFreeBSD This patch attempts to get the package building on FreeBSD. So far it adds in '#include' statements that appear to be missing. However this comes unstuck when we hit the RTF_WASCLONED symbol. This would be defined in net/route.h but seems to have been removed. It would be nice if upstream or someone with more knowledge of FreeBSD networking would have a look at this. However for the moment the patch adds this #define back in. This gets it to compile but is highly suspicious. Last-Update: 2012-02-10 Forwarded: yes, sent private email to upstream authors --- a/mgen/protolib/include/protoFile.h +++ b/mgen/protolib/include/protoFile.h @@ -21,6 +21,10 @@ #include #endif // if/else _WIN32_WCE +#ifndef _SYS_FILE_H +#include +#endif + #include // for "isprint()" // required protolib files #include "protoChannel.h" --- a/mgen/protolib/src/bsd/bsdRouteMgr.cpp +++ b/mgen/protolib/src/bsd/bsdRouteMgr.cpp @@ -15,6 +15,10 @@ #include #include +#ifndef RTF_WASCLONED +#define RTF_WASCLONED 0x20000 +#endif + class BsdRouteMgr : public ProtoRouteMgr { public: debian/patches/series0000644000000000000000000000007411721145236012035 0ustar ld_as-needed nolibdl fix-compile-warnings hardening freebsd debian/patches/nolibdl0000644000000000000000000000253411734033275012174 0ustar Description: fix dpkg-shlibdeps warning Essentially this says don't link in libraries when no symbol from those libraries are used. Not implementing this patch causes warning messages to appear during dpkg-shlibdeps processing, and eliminating those is the first motivation for this patch. For more information see https://buildd.debian.org/~brlink/bytag/I-shlibs-useless-link.html . One option would have been to remove the '-ldl' argument. However it seems safer and more generic to use '-Wl,--as-needed'. This can be viewed as part of a wider Ubuntu/Debian movement to tighten the linking in of libraries. For more information on this wider movement see http://wiki.debian.org/ToolChain/DSOLinking . Author: Nicholas Bamber Forwarded: yes, sent private email to upstream authors Last-Update: 2012-02-21 --- a/mgen/makefiles/Makefile.freebsd +++ b/mgen/makefiles/Makefile.freebsd @@ -6,7 +6,7 @@ # (Where to find X11 libraries, etc) # SYSTEM_INCLUDES = -SYSTEM_LDFLAGS = +SYSTEM_LDFLAGS = -Wl,--as-needed SYSTEM_LIBS = -pthread ####SYSTEM_LIBS = -lc_r --- a/mgen/makefiles/Makefile.linux +++ b/mgen/makefiles/Makefile.linux @@ -7,6 +7,7 @@ # SYSTEM_INCLUDES = -I/usr/X11R6/include SYSTEM_LDFLAGS = -L/usr/X11R6/lib +SYSTEM_LDFLAGS += -Wl,--as-needed SYSTEM_LIBS = -ldl -lpthread # 2) System specific capabilities debian/patches/hardening0000644000000000000000000000505311734424064012507 0ustar Description: use hardening build flags One of the release goals for the next stable Debian release is to have as many packages use security hardening build flags as possible. This patch enables them as recommended by http://wiki.debian.org/ReleaseGoals/SecurityHardeningBuildFlags Author: Raoul Gunnar Borenius Forwarded: yes, sent private email to upstream authors Last-Update: 2012-03-27 Reviewed-by: Simon Ruderich --- a/mgen/makefiles/Makefile.common +++ b/mgen/makefiles/Makefile.common @@ -14,6 +14,7 @@ INCLUDES = $(SYSTEM_INCLUDES) -I$(UNIX) -I$(INCLUDE) -I$(PROTOLIB)/include CFLAGS = -g -DPROTO_DEBUG -D_RAPR_JOURNAL -DHAVE_GPS -DUNIX -Wall -Wcast-align -pedantic -fPIC $(SYSTEM_HAVES) $(INCLUDES) +CFLAGS += $(shell dpkg-buildflags --get CFLAGS) $(shell dpkg-buildflags --get CPPFLAGS) #CFLAGS = -g -fno-inline -D_HAVE_PCAP -DPROTO_DEBUG -DHAVE_GPS -DUNIX -Wall -Wcast-align -pedantic -fPIC $(SYSTEM_HAVES) $(INCLUDES) --- a/mgen/makefiles/Makefile.freebsd +++ b/mgen/makefiles/Makefile.freebsd @@ -7,6 +7,7 @@ # SYSTEM_INCLUDES = SYSTEM_LDFLAGS = -Wl,--as-needed +SYSTEM_LDFLAGS += $(shell dpkg-buildflags --get LDFLAGS) SYSTEM_LIBS = -pthread ####SYSTEM_LIBS = -lc_r --- a/mgen/makefiles/Makefile.linux +++ b/mgen/makefiles/Makefile.linux @@ -8,6 +8,7 @@ SYSTEM_INCLUDES = -I/usr/X11R6/include SYSTEM_LDFLAGS = -L/usr/X11R6/lib SYSTEM_LDFLAGS += -Wl,--as-needed +SYSTEM_LDFLAGS += $(shell dpkg-buildflags --get LDFLAGS) SYSTEM_LIBS = -ldl -lpthread # 2) System specific capabilities --- a/mgen/protolib/makefiles/Makefile.freebsd +++ b/mgen/protolib/makefiles/Makefile.freebsd @@ -6,7 +6,7 @@ # (Where to find X11 libraries, etc) # SYSTEM_INCLUDES = -SYSTEM_LDFLAGS = +SYSTEM_LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS) SYSTEM_LIBS = -pthread ##SYSTEM_LIBS = -lc_r --- a/mgen/protolib/makefiles/Makefile.linux +++ b/mgen/protolib/makefiles/Makefile.linux @@ -6,7 +6,7 @@ # System specific additional libraries, include paths, etc # SYSTEM_INCLUDES = -SYSTEM_LDFLAGS = +SYSTEM_LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS) SYSTEM_LIBS = -ldl -lrt # 6) System specific capabilities --- a/mgen/protolib/makefiles/Makefile.common +++ b/mgen/protolib/makefiles/Makefile.common @@ -16,6 +16,7 @@ INCLUDES = $(TCL_INCL_PATH) $(SYSTEM_INCLUDES) -I../include CFLAGS = -g -DPROTO_DEBUG -DUNIX -D_FILE_OFFSET_BITS=64 -O $(SYSTEM_CFLAGS) -fPIC $(SYSTEM_HAVES) $(INCLUDES) +CFLAGS += $(shell dpkg-buildflags --get CFLAGS) $(shell dpkg-buildflags --get CPPFLAGS) LDFLAGS = $(SYSTEM_LDFLAGS) debian/mgen.examples0000644000000000000000000000002511620512442011646 0ustar mgen/doc/example.mgn debian/mgen-doc.doc-base0000644000000000000000000000045111734034227012261 0ustar Document: mgen Title: MGEN User's and Reference Guide Version 5.0 Author: Naval Research Laboratory (NRL) Abstract: Packet generator for IP network performance tests Section: Network/Monitoring Format: HTML Index: /usr/share/doc/mgen-doc/html/mgen.html Files: /usr/share/doc/mgen-doc/html/*.html debian/rules0000755000000000000000000000105611734423572010260 0ustar #!/usr/bin/make -f #export DH_VERBOSE=1 # This has to be exported to make some magic below work. export DH_OPTIONS export DEB_BUILD_MAINT_OPTIONS=hardening=+all ifeq ($(shell uname -s),GNU/kFreeBSD) MAKEFILE:=Makefile.freebsd else MAKEFILE:=Makefile.linux endif override_dh_auto_build: cd mgen/makefiles && make -f $(MAKEFILE) override_dh_auto_clean: cd mgen/makefiles && make -f $(MAKEFILE) clean override_dh_installchangelogs: dh_installchangelogs mgen/VERSION.TXT %: dh $@ get-orig-source: uscan --force-download --repack --verbose debian/copyright0000644000000000000000000000627511734423616011142 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: mgen Upstream-Contact: http://pf.itd.nrl.navy.mil/mailman/listinfo/mgen-users Source: http://downloads.pf.itd.nrl.navy.mil/mgen/ Comment: The original upstream source was repackaged to remove pre-built binaries, duplicate files and header files with licenses that were DFSG incompatible. Files: mgen/* Copyright: Naval Research Laboratory (NRL) 2002 - 2011 License: AUTHORIZATION TO USE AND DISTRIBUTE . Redistribution and use in source and binary forms, with or without modification, are permitted provided that: . (1) source code distributions retain this paragraph in its entirety, . (2) distributions including binary code include this paragraph in its entirety in the documentation or other materials provided with the distribution, and . (3) all advertising materials mentioning features or use of this software display the following acknowledgment: . "This product includes software written and developed by Code 5520 of the Naval Research Laboratory (NRL)." . The name of NRL, the name(s) of NRL employee(s), or any entity of the United States Government may not be used to endorse or promote products derived from this software, nor does the inclusion of the NRL written and developed software directly or indirectly suggest NRL or United States Government endorsement of this product. . THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Files: debian/* Copyright: 2011-2012 Raoul Gunnar Borenius License: BSD Copyright (c) The Regents of the University of California. All rights reserved. . Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. . THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. debian/mgen-doc.install0000644000000000000000000000022011734034304012240 0ustar mgen/doc/resources/ usr/share/doc/mgen-doc/html mgen/doc/*.html usr/share/doc/mgen-doc/html mgen/doc/*.css usr/share/doc/mgen-doc/html debian/source/0000755000000000000000000000000011617767354010507 5ustar debian/source/format0000644000000000000000000000001411617767354011715 0ustar 3.0 (quilt) debian/mgen.10000644000000000000000000003652511640157241010212 0ustar .\" Hey, EMACS: -*- nroff -*- .\" First parameter, NAME, should be all caps .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" other parameters are allowed: see man(7), man(1) .TH MGEN 1 "June 11, 2011" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: .\" .nh disable hyphenation .\" .hy enable hyphenation .\" .ad l left justify .\" .ad b justify to both left and right margins .\" .nf disable filling .\" .fi enable filling .\" .br insert line break .\" .sp insert n+1 empty lines .\" for manpage-specific macros, see man(7) .\"Text automatically generated by txt2man .SH NAME mgen - The Multi-Generator for IP network performance tests .SH SYNOPSIS .B mgen [\fIipv4\fR][\fIipv6\fR][\fIinput \fR][\fIsave \fR] [\fIoutput \fR][\fIlog \fR][\fIbinary\fR] [\fItxlog\fR][\fInolog\fR][\fIflush\fR][\fIhostAddr {on|off}\fR] [\fIevent ""\fR][\fIport \fR] [\fIinstance \fR][\fIcommand \fR] [\fIsink \fR][\fIblock\fR][\fIsource \fR] [\fIinterface \fR][\fIttl \fR] [\fItos \fR][\fIlabel \fR] [\fItxbuffer \fR] [\fIrxbuffer \fR] [\fIstart [GMT]\fR][\fIoffset \fR] [\fIprecise {on|off}\fR][\fIifinfo \fR] [\fItxcheck\fR][\fIrxcheck\fR][\fIcheck\fR][\fIstop\fR] [\fIconvert \fR][\fIdebug \fR] [\fIlocaltime \fR] [\fIqueue\fP <\fIqueue\fP>\fR] [\fIbroadcast {on|off}\fR] .SH DESCRIPTION The Multi-Generator (MGEN) is open source software by the Naval_Research Laboratory (NRL) PROTocol Engineering Advanced Networking (PROTEAN) group which provides the ability to perform IP network performance tests and measurements using UDP and TCP IP traffic. The toolset generates real-time traffic patterns so that the network can be loaded in a variety of ways. The generated traffic can also be received and logged for analyses. Script files are used to drive the generated loading patterns over the course of time. These script files can be used to emulate the traffic patterns of unicast and/or multicast UDP and TCP IP applications. The tool set can be scripted to dynamically join and leave IP multicast groups. MGEN log data can be used to calculate performance statistics on throughput, packet loss rates, communication delay, and more. MGEN currently runs on various Unix-based (including MacOS X) and WIN32 platforms. The principal tool is the \fBmgen\fP program which can generate, receive, and log test traffic. This document provides information on \fBmgen\fP usage, message payload, and script and log file formats. Additional tools are available to facilitate automated script file creation and log file analyses. .SH OPTIONS .TP \fBipv4\fR Forces mgen to open sockets for IPv4 operation (i.e. AF_INET domain sockets) only. The default behavior for mgen is to open sockets with the domain based on environment (e.g. RES_OPTIONS) variables and the type_of_IP_addresses_used_in_the_script_file_used. .TP \fBipv6\fR Forces mgen to open sockets for IPv6 operation (i.e. AF_INET6 domain sockets) only. The default behavior for mgen is to open sockets with the domain based on environment (e.g. RES_OPTIONS) variables and the type_of_IP_addresses_used_in_the_script_file_used. .TP \fBinput \fR Causes mgen to parse the given at startup and schedule any transmission or reception events_given_in_the_script. .TP \fBsave \fR Causes mgen to save the sequence number state of any pending transmit flows and the current relative script "offset" time to in the form of an MGEN script. The may be used as an additional input script on a subsequent launch of mgento return mgen to the same state as when previously exited. See the equivalent global SAVE command_for_further_detail_on_usage. .TP \fBoutput \fR Cause mgen to output logged information to the indicated . By default, mgen will log to stdout. With the output command, an existing of the same name will be overwritten. Use the_log_command_to_append_to_an_existing_log_file. .TP \fBlog \fR This is the same as the output command except that if already exists, it will be appended instead_of_replaced. .TP \fBbinary\fR Causes mgen to save output logging information in a smaller-sized binary file format. This option should come_before_the_output_or_log_command. .TP \fBtxlog\fR This enables transmission logging. This results in SEND events being added to the log file every time a packet_is_sent_by_mgen. .TP \fBnolog\fR This_disables_logging_completely. .TP \fBflush\fR This causes the output log file to be flushed with each line written. This is useful for real-time monitoring_of_MGEN_logging .TP \fBhostAddr {on|off}\fR Turning this option on causes mgen to include the "host" field in MGEN messages sent. The "host" field contains an educated guess of the machines local IP address to help identify the source of messages in log files. When the "host" field is present, MGEN log file SEND and RECV events contain a "host>" field indicating the sender's original address. This can be useful when Network Address Translation (NAT) or_other_tunneling_occurs_in_test_networks. .TP \fBevent "<\fBmgen\fP event>"\fR The event command allows the user to enter the equivalent of MGEN script lines into mgen via the command-line. Multiple event commands can be used to pass the equivalent of a multi-line script to MGEN. Note that MGEN script events generally contain spaces and thus must be encapsulated in quotes on ommand line. Note that the may be omitted and the action indicated will be taken by mgen immediately. When the event command is issued during run-time, the (if provided) specifies a delay relative to the current time (e.g. the event will occur with after the_given_delay). .TP \fBinstance \fR If a pre-existing mgen application instance is _not_ already running, this command registers the running mgen program as an instance identified by the . On UNIX, this corresponds to a Unix- domain datagram socket named "/tmp/" being opened and monitored for MGEN commands (On WIN32, a "mailslot" named "\\.\mailslot\" is created and used). These interprocess channels allow for run-time control of mgen processes. This is the preferred methodology for run-time control of the mgen application.If an application instance as identified by the parameter is already running, any subsequent command-line options are transmitted to the remote instance already running, and the new mgen instance will then exit.This allows run-time control of possibly multiple background mgeninstances from the "shell" or via scripting. The event command may be used to dispatch MGEN script events_to_mgen_instances_at_run-time. .TP \fBcommand {|STDIN}\fR This specifies a file or device which mgen will monitor for run-time command input. If the "STDIN" key is used, mgenmonitors the "stdin" (console) input which can provide a crude run-time user interface for mgen. Commands sent to mgen in this fashion must be delimited by line-breaks or the ';' character. See the instance command for a more flexible, and the preferred option for mgen run-time control. .TP \fBport \fR Causes mgen to monitor the given port numbers for received UDP traffic. The format of the is a comma-delimited list of individual or inclusive ranges of port values (No spaces allowed in the list). Note this is the equivalent of a scripted 0.0 LISTEN UDP reception event and can also be equivalently achieved with the event command using the syntax: mgen event "LISTEN UDP "Example:mgen port 5000,5002,5005-5009 .TP \fBsink \fR Causes mgento use the file or device (e.g. stdout) indicated as a "sink" or destination for transmitted message flows of protocol type "SINK". I.e., MGEN message flows of type "SINK" are written to the "sink" device instead of to a UDP or TCP socket. Piping mgen output to stdout allows MGEN messages to use alternative transport provided by another process (e.g. ssh, norm, etc). The special value "STDOUT" will direct MGEN SINK flows_to_the_mgen_process_stdout. .TP \fBsource \fR This is the complement to the sink command. This allows mgen to directly receive a binary stream of MGEN messaging from the which may be the piped stdoutfrom another process (e.g. ssh, norm, etc). The special string "STDIN" causes mgen to get input from its stdin stream. Messages read from the (or stream) are time-stamped and logged in_the_MGEN_log_file_as_usual. .TP \fBstart [GMT]\fR Causes mgen to delay processing events in script file relative to the indicated absolute time. The optional "GMT" keyword indicates the time is Greenwich Mean Time instead of the default local time. This command establishes an absolute time for the_relative_script_time_of_0.0_seconds. .TP \fBoffset \fR Causes mgen to skip seconds of relative time into the execution of the script file used. Note that if an absolute start time is given using the start command, the offset into the script will correspond to that absolute time. The default offset for_MGEN_is_0.0_seconds. .TP \fBprecise {on|off}\fR When the precise mode is enable, mgen performs polling (only as needed) to precisely time packet transmission. While this is sometimes helpful at high packet transmission rates, it comes at a cost of high CPU utilization by mgen. The default for this_option_is_"off". .TP \fBifinfo \fR This option can be used to have MGEN print a summary of statistics to stderr upon exit for the specified network interface. These stats include counts of frames sent/received. This can be used to augment/ verify MGEN performance with or without logging enabled .TP \fBconvert \fR Causes mgen to convert the indicated to a text-based log file. The text-based log file information will be directed to stdout unless you specify a filename with the output or log command. Mgen will exit after the file conversion is complete. .TP \fBinterface \fR Causes mgen to set the default network interface for IP multicast and/or root node flow transmission to . will override any default interface specified within an mgenscript file. is a "per socket" attribute, and in its absence, MGEN will behave according to the_operating_system's_default_behavior. .TP \fBttl \fR Causes mgen to set the hop count for IP multicast traffic generated by MGEN. will override any default ttl indicated within an mgen script file. is a "per socket" attribute. If no ttl option is used, MGEN will behave according to the operating system's default behavior. .TP \fBtos \fR Causes mgen to set the IPv4 type-of-service field (within the packet header) to . will override any default tos indicated within an mgen script file. As with ttl and interface, tos is a "per socket" attribute. If no tos option is used, MGEN will behave according to the_operating_system's_default_behavior. .TP \fBlabel \fR Causes mgen to set as the default flow label for IPv6 flows. The corresponds to the 28-bit IPv6 flow label field and may be specified_in_decimal_or_hex. .TP \fBtxbuffer \fR Causes mgen to set the socket transmit buffer size to a value ?at least? as large as . If is larger that the maximum allowed by the system, will be set to the system maximum. .TP \fBrxbuffer \fR Causes mgento set the socket receive buffer size to a value ?at least? as large as . If is larger that the maximum allowed by the system, will be set to the system maximum. .TP \fBtxcheck\fR Causes mgen to include an optional 32-bit cyclic redundancy checksum (CRC) at the end of its messages. The CHECKSUM flag is set to indicate the presence_of_the_checksum_content. .TP \fBrxcheck\fR Forces mgen receivers to validate the checksum portion (last 4 bytes) of MGEN messages whether or not the CHECKSUM flag is set in the MGEN "flags" message field. Use this option when it is _known_ that the MGEN sender is supplying checksums to cover the case when the "flags" field itself is possibly corrupted. .TP \fBcheck\fR Sets mgen behavior as if both the txcheck _and_ rxcheck commands were applied. This is the recommended option when MGEN checksum operation is desired so that both senders and receivers are providing_and_validating_checksums,_respectively. .TP \fBstop\fR This command causes mgen to exit. This is useful for run-time_control_of_mgen_instances. .TP \fBlocaltime\fR This enables logging of events and error messages in localtime. By default, events are logged in Greenwich_Mean_Time. .TP \fBqueue \fR This global command will cause mgen to buffer mgen packets for each flow during periods of congestion. (Note that flow specific limits specified at the transmission event level will override this global). When the number of pending messages for a flow exceeds this limit, the message transmission timer will be temporarily deactivated and any pending messages will transmitted as quickly as possible. The timer will be reactivated once the pending message count falls below the queue limit, and message transmission will return to the previously scheduled rate of transmission. If no global command is specified, a default of "0" will be in effect which will result in no queuing behavior, e.g. the transmission timer will continue to fire at its regularly scheduled interval regardless of transport congestion. No pending message count will be accumulated and message transmission will suceed or fail depending on transport availability. See QUEUE for_more_details_about_the_queueing_mechanism. .TP \fBbroadcast {on|off}\fR Causes MGEN to set the socket option SO_BROADCAST to allow or disallow sending (and sometimes receiving) broadcasts from the socket. As with tos, ttl and interface, broadcast is a "per socket" attribute. By default_BROADCAST_is_set_to_ON. .SH "SEE ALSO" Please refer to the mgen-doc package for more documentation or the online version at http://pf.itd.nrl.navy.mil/mgen/mgen.html . .br .SH AUTHOR mgen was written by the Naval Research Laboratory (NRL) PROTocol Engineering Advanced Networking (PROTEAN) group .PP This manual page was written by Raoul Gunnar Borenius , for the Debian project (and may be used by others). debian/watch0000644000000000000000000000023311636713704010225 0ustar version=3 opts=dversionmangle=s/\+dfsg\d*$// \ http://downloads.pf.itd.nrl.navy.mil/mgen/src-mgen-([\d.]+)\.tar\.gz \ debian sh debian/repack.stub