Skip to content

Raw Transport

Steven Galgano edited this page Mar 15, 2018 · 3 revisions

Contents


Features

The Raw Transport uses a specific network interface as the application/emulation boundary.


Configuration Parameters

The following configuration parameters are available to tailor layer functionality:

arpcacheenable

Enable ARP request/reply monitoring to map Ethernet address to NEM.

Type: bool
Running-State Modifiable: no
Occurrence Range: [1,1]
Value Range: [no,yes]
Default Value(s): yes

bitrate

Transport bitrate in bps. This is the total allowable throughput for the transport combined in both directions (upstream and downstream). A value of 0 disables the bitrate feature.

Type: uint64
Running-State Modifiable: no
Occurrence Range: [1,1]
Value Range: [0,18446744073709551615]
Default Value(s): 0

broadcastmodeenable

Broadcast all packets to all NEMs.

Type: bool
Running-State Modifiable: no
Occurrence Range: [1,1]
Value Range: [no,yes]
Default Value(s): no

device

Device to use as the raw packet entry point.

Type: string
Running-State Modifiable: no
Occurrence Range: [1,1]


Example XML

Typically the Raw Transport definition is pretty sparse.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE transport SYSTEM "file:///usr/share/emane/dtd/transport.dtd">
<transport library="transraw"/>

Most of the time you will need to specify a different interface for each NEM and good place to do that is in the emulator platform definition file.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE platform SYSTEM "file:///usr/share/emane/dtd/platform.dtd">
<platform>
  <param name="otamanagerchannelenable" value="off"/>
  <param name="eventservicegroup" value="224.1.2.8:45703"/>
  <param name="eventservicedevice" value="lo"/>

  <nem id="1" definition="rfpipenem.xml" transport="external">
    <param name="platformendpoint" value="localhost:8201"/>
    <param name="transportendpoint" value="localhost:8301"/>
    <transport definition="transraw.xml" group="alpha">
      <param name="device" value="veth1.1"/>
    </transport>
  </nem>

  <nem id="2" definition="rfpipenem.xml" transport="external">
    <param name="platformendpoint" value="localhost:8202"/>
    <param name="transportendpoint" value="localhost:8302"/>
    <transport definition="transraw.xml" group="alpha">
      <param name="device" value="veth2.1"/>
    </transport>
  </nem>
  
  <nem id="3" definition="rfpipenem.xml" transport="external">
    <param name="platformendpoint" value="localhost:8203"/>
    <param name="transportendpoint" value="localhost:8303"/>
    <transport definition="transraw.xml" group="alpha">
      <param name="device" value="veth3.1"/>
    </transport>
  </nem>
</platform>

Statistics

The below statistics can be accessed using emanesh.

Name Type Clearable Description
avgProcessAPIQueueDepth double yes Average API queue depth for a processUpstreamPacket, processUpstreamControl, processDownstreamPacket, processDownstreamControl, processEvent and processTimedEvent.
avgProcessAPIQueueWait double yes Average API queue wait for a processUpstreamPacket, processUpstreamControl, processDownstreamPacket, processDownstreamControl, processEvent and processTimedEvent in microseconds.
avgTimedEventLatency double yes
avgTimedEventLatencyRatio double yes Average ratio of the delta between the scheduled timer expiration and the actual firing over the requested duration. An average ratio approaching 1 indicates that timer latencies are large in comparison to the requested durations.
processedConfiguration uint64 yes
processedDownstreamControl uint64 yes
processedDownstreamPackets uint64 yes
processedEvents uint64 yes
processedTimedEvents uint64 yes
processedUpstreamControl uint64 yes
processedUpstreamPackets uint64 yes

Statistic Tables

The below statistics can be accessed using emanesh.

Name Clearable Description
EventReceptionTable yes Received event counts