wiki:Old/Documentation/OTG/ScriptsRepository/ProtoDefRawSender

Orbit > OTG? > Scripts Repository > raw_sender.rb

#
# Define a prototype containing a single
# traffic generator (otg).
#

require 'handler/prototype'
require 'handler/filter'
require 'handler/appDefinition'

p = Prototype.create("test:proto:raw_sender")
p.name = "Sender"
p.description = "A node which transmit a stream of packets"
# List properties of prototype
p.defProperty('protocol', 'Protocol to use', 'raw')
p.defProperty('generator', 'Generator to use', 'cbr')
p.defProperty('destinationMAC', 'MAC address to send packets to')
p.defProperty('txdev','transmit device')
p.defProperty('packetSize', 'Size of packets', 1000)
p.defProperty('rate', 'Number of bits per second', 1000)
#p.defProperty('broadcast','broadcast or not', 'off')

# Define applications to be installed on this type of node,
# bind the application properties to the prototype properties,
# and finally, define what measurements should be collected
# for each application.
#
otg = p.addApplication(:otg, "test:app:otg")
otg.bindProperty('protocol')
otg.bindProperty('generator')
otg.bindProperty('dstmacaddr', 'destinationMAC')
otg.bindProperty('txdev')
otg.bindProperty('size', 'packetSize')
otg.bindProperty('rate')
#otg.bindProperty('broadcast')

otg.addMeasurement('senderport',  Filter::TIME,
  {Filter::SAMPLE_SIZE => 1},
    [
        ['pkt_seqno'],
        ['pkt_size', Filter::SUM],
        ['gen_timestamp'],
        ['tx_timestamp']
    ]
     )

if $0 == __FILE__
  p.to_xml.write($stdout, 2)
  puts
end


Last modified 14 years ago Last modified on 04/04/06 21:13:54