node n1 { type router model router network-config { hostname n1 ! interface eth0 ip address 10.0.0.2/24 ipv6 address a:0::2/64 ! router ospf router-id 10.0.0.2 network 10.0.0.0/24 area 0 ! router ospf6 router-id 10.0.0.2 interface eth0 area 0.0.0.0 ! } canvas c1 iconcoords {312.0 120.0} labelcoords {312.0 148.0} interface-peer {eth0 n2} custom-config { custom-config-id service:UserDefined:mgen.sh custom-command mgen.sh config { #!/bin/sh SCRIPTDIR=$SESSION_DIR LOGDIR=/var/log if [ `uname` = "Linux" ]; then cd $SCRIPTDIR else cd /tmp/e0_`hostname` fi ( cat << 'EOF' # mgen receiver script 15.0 LISTEN UDP 5001 EOF ) > recv.mgn mgen input recv.mgn output $LOGDIR/mgen.log > /dev/null 2> /dev/null < /dev/null & } } custom-config { custom-config-id service:UserDefined custom-command UserDefined config { files=('mgen.sh', ) startidx=35 cmdup=('sh mgen.sh', ) } } services {zebra OSPFv2 OSPFv3 IPForward UserDefined} } node n2 { type router model router network-config { hostname n2 ! interface eth0 ip address 10.0.0.1/24 ipv6 address a:0::1/64 ! } canvas c1 iconcoords {72.0 48.0} labelcoords {72.0 76.0} interface-peer {eth0 n1} custom-config { custom-config-id service:UserDefined custom-command UserDefined config { files=('mgen.sh', ) startidx=35 cmdup=('sh mgen.sh', ) } } custom-config { custom-config-id service:UserDefined:mgen.sh custom-command mgen.sh config { #!/bin/sh HN=`hostname` SCRIPTDIR=$SESSION_DIR LOGDIR=/var/log cd $SCRIPTDIR ( cat << 'EOF' # mgen sender script: send UDP traffic to UDP port 5001 after 15 seconds 15.0 ON 1 UDP SRC 5000 DST 10.0.0.2/5001 PERIODIC [1 4096] EOF ) > send_$HN.mgn mgen input send_$HN.mgn output $LOGDIR/mgen_$HN.log > /dev/null 2> /dev/null < /dev/null & } } services {zebra OSPFv2 OSPFv3 IPForward UserDefined} } link l1 { nodes {n2 n1} bandwidth 0 } canvas c1 { name {Canvas1} } option global { interface_names no ip_addresses yes ipv6_addresses yes node_labels yes link_labels yes show_api no background_images no annotations yes grid yes traffic_start 0 } option session { }