Friday 15 April 2011

new trace file format

New Wireless Trace Formats

This information comes from "The ns Manual" (http://www.isi.edu/nsnam/ns/doc/) "Mobile Networking in ns: 
To read the file easily open it in Microsoft office Xcel or in Open office spread sheet, it will get very easy to read then.
Filter out your information like if you want to trace all of the drop packets, just filter it out you will get all the drop packets.
Then you have to read it carefully that actually which column shows which information.
The good thing of the new trace format is that it is separated.
Flags are used to show the information.
The first column contains
s: Send           r: Receive        d: Drop       f: Forward 
First filter them out so you can easily read the file.  

The first letter of flags shows the property of the column with two letters designates the flag type:
     N: Node Property 
     I: IP Level Packet Information
     H: Next Hop Information
     M: MAC Level Packet Information 
     P: Packet Specific Information
EventAbbreviationFlagTypeValue
Wireless Events: Send
r: Receive
d: Drop
f: Forward
-tdoubleTime (* For Global Setting)
-NiintNode ID
-NxdoubleNode X Coordinate
-NydoubleNode Y Coordinate
-NzdoubleNode Z Coordinate
-NedoubleNode Energy Level
-NlstringNetwork trace Level (AGT, RTR, MAC, etc.)
-NwstringDrop Reason
-HsintHop source node ID
-HdintHop destination Node ID, -1, -2
-MahexadecimalDuration
-MshexadecimalSource Ethernet Address
-MdhexadecimalDestination Ethernet Address
-MthexadecimalEthernet Type
-PstringPacket Type (arp, dsr, imep, tora, etc.)
-PnstringPacket Type (cbr, tcp)
Note that the value for the -Hd flag may be -1 or -2. -1 means that the packet is a broadcast packet, and -2 means that the destination node has not been set. -2 is typically seen for packets that are passed between the agent (-Nl AGT) and routing (-Nl RTR) levels.
Depending on the routing protocol type, the following flags may be used:

EventFlagTypeValue
ARP Trace-PostringRequest or Reply
-PmsintSource MAC Address
-PsintSource Address
-PmdintDestination MAC Address
-PdintDestination Address
DSR Trace-PhintNumber Of Nodes Traversed
-PqintRouting Request Flag
-PsintRoute Request Sequence Number
-PpintRouting Reply Flag
-PnintRoute Request Sequence Number
-PlintReply Length
-Peint->intSource->Destination Of Source Routing
-PwintError Report Flag (?)
-PmintNumber Of Errors
-PcintReport To Whom
-Pbint->intLink Error From Link A to Link B
AODV Trace-PthexadecimalType
-PhintHop Count
-PbintBroadcast ID
-PdintDestination
-PdsintDestination Sequence Number
-PsintSource
-PssintSource Sequence Number
-PldoubleLifetime
-PcstringOperation (REQUEST, REPLY, ERROR, HELLO)
TORA Trace-PthexadecimalType
-PdintDestination
-PadoubleTime
-PointCreator ID
-PrintR
-PeintDelta
-PiintID
-PcstringOperation (QUERY, UPDATE, CLEAR)
IP Trace-Isint.intSource Address And Port
-Idint.intDestination Address And Port
-ItstringPacket Type
-IlintPacket Size
-IfintFlow ID
-IiintUnique ID
-IvintTTL Value
TCP Trace-PsintSequence Number
-PaintAcknowledgment Number
-PfintNumber Of Times Packet Was Forwarded
-PointOptimal Number Of Forwards
CBR Trace-PiintSequence Number
-PfintNumber Of Times Packet Was Forwarded
-PointOptimal Number Of Forwards
IMEP Trace-PacharAcknowledgment Flag
-PhcharHello Flag
-PocharObject Flag
-PlhexadecimalLength

AODV Trace Formats

AODV traces begin with an "A", followed by the AODV trace. 
This information comes from the "aodv/aodv_logs.cc" source file.
EventAbbreviationTypeValue
Delete LinkA%.9f _%d_ deleting LL hop to %d (delete %d is %s)
doubleTime
intIndex
intDestination
intDeleted Link Count
stringLink State (VALID, INVALID)
Broken LinkA%.9f _%d_ LL unable to deliver packet %d to %d (%d) (reason = %d, ifqlen = %d)
doubleTime
intIndex
intUnique Packet ID
intNext Hop
intBroken Link Count
intTransmit Reason
intQueue Length
Keeping Bad LinkA%.9f _%d_ keeping LL hop to %d (keep %d is %s)
doubleTime
intIndex
intDestination
intKept Bad Link Count
stringLink State (VALID, INVALID)

DSDV Trace Formats

DSDV traces begin with a "V", followed by additional characters to indicate the exact DSDV trace. 
This information comes from the "dsdv/dsdv.cc" source file.
EventAbbreviationTypeValue
Trace PacketVPU
VTU
%.5f _%d_ [%d] (%d,%d,%d) ...
doubleTime
intReporting Address
intCount
intDestination
intDistance (Metric)
intSequence Number
Periodic CallbackVPC%.5f _%d_
doubleTime
intReporting Address
TimeoutVTO%.5f _%d_ %d->%d
doubleTime
intReporting Address
intReporting Address (Should be Source???)
intRouting Table Destination
%.5f _%d_ marking %d
doubleTime
intReporting Address
intRouting Table Destination
Lost LinkVLL%.8f %d->%d lost at %d
doubleTime
intSource
intDestination
intReporting Address
Lost PacketVLP%.5f %d:%d->%d:%d lost at %d [hop %d]
doubleTime
intSource
intSource Port
intDestination
intDestination Port
intReporting Address
intRouting Table Destination
Change TableVCT%.5f _%d_ %d
doubleTime
intReporting Address
intRouting Table Destination
Weighted Settling TimeVWST%.12lf frm %d to %d wst %.12lf nxthp %d [of %d]
doubleTime
intReporting Address
intRouting Table Destination
doubleWeighted Settling Time
intNext Hop
intDistance (Metric)
Update RouteVSD
VSU
%.5f _%d_ (%d,%d->%d,%d->%d,%d->%d,%f)
doubleTime
intReporting Address
intOld Destination
intOld Distance (Metric) or -1
intNew Distance (Metric)
intOld Sequence Number or -1
intNew Sequence Number
intOld Hop or -1
intNew Hop
doubleWhen Okay To Advertise This Route
Queue PacketVBP%.5f _%d_ %d:%d -> %d:%d
doubleTime
intReporting Address
intSource Address
intSource Port
intDestination Address
intDestination Port
Routing Packets Outside DomainVFP%.5f _%d_ %d:%d -> %d:%d
doubleTime
intReporting Address
intSource Address
intSource Port
intDestination Address
intDestination Port
Table DumpVTD%.5f %d:%d
doubleTime
intReporting Address
intSource Address
intSource Port

DSR Trace Formats

DSR traces begin with an "S", which may be followed by additional characters to indicate the exact DSR trace. Each trace has one or more formats. This information comes from the "dsr/dsragent.cc", "dsr/linkcache.cc", "dsr/mobicache.cc", "dsr/routecache.cc", and "dsr/simplecache.cc" source files.
EventAbbreviationTypeValue
SendS%.9f _%s_ originating %s -> %s
doubleTime
stringID
stringSource
stringDestination
Have A RouteS$hit%.5f _%s_ %s -> %s %s
doubleTime
stringID
stringSource
stringDestination
stringRoute
Don't Have A RouteS$miss%.5f _%s_ %s -> %s
doubleTime
stringID
stringID (Should be Source???)
stringDestination
Configuration parameters. All strings are either "on" or "off"Sconfig%.5f tap: %s snoop: rts? %s errs? %s
doubleTime
stringUse TAP
stringSnoop Source Routes
stringSnoop Forwarded Errors
%.5f salvage: %s !bd replies? %s
doubleTime
stringSalvage With Cache
stringDon't Salvage Bad Replies
%.5f grat error: %s grat reply: %s
doubleTime
stringPropagate Last Error
stringSend Grat Replies
%.5f $reply for props: %s ring 0 search: %s
doubleTime
stringReply From Cache On Propagating
stringRing Zero Search
%.5f using MOBICACHE
doubleTime
%.5f using LINKCACHE
doubleTime
Debug messageSdebug%.5f _%s_ stuck into send buff %s -> %s
doubleTime
stringID
stringSource
stringDestination
%.5f _%s_ checking for route for dst %s
doubleTime
stringID
stringDestination
%.5f _%s_ sendbuf pkt to %s liberated by handlePktWOSR
doubleTime
stringID
stringDestination
%.9f _%s_ splitting %s to %s
doubleTime
stringID
stringRoute
stringRoute Copy
%.9f _%s_ liberated from sendbuf %s->%s %s
doubleTime
stringID
stringSource
stringDestination
stringRoute
%.5f _%s_ unwrapping nested route error
doubleTime
stringID
_%s_ tap saw error %d
stringID
intHeader UID
_%s_ tap saw route reply %d  %s
stringID
intHeader UID
stringReply Path
_%s_ tap saw route use %d %s
stringID
intHeader UID
stringRoute
%s consider grat arp for %s
stringID
stringRoute
_%s_ not bothering to send route error to ourselves
stringID
%.5f _%s_ sending into dead-link (nest %d) tell %d %d -> %d
doubleTime
stringID
intNumber Of Route Errors
intReport To Address
intFrom Address
intTo Address
%.9f _%s_ adding %s [%d %.9f] ...
doubleTime
stringID
stringPath
intLink Type
doubleTime Added
%.9f _%s_ checking %s [%d %.9f] ...
doubleTime
stringID
stringPath
intLink Type
doubleTime Added
%.9f _%s_ freshening %s->%s to %d %.9f
doubleTime
stringID
stringPath
stringNext Path
intLink Type
doubleTime Added
ErrorsSDFU%.5f _%s_ dumping maximally nested error %s %d -> %d
doubleTime
stringID
stringTell ID
intFrom
intTo
ran off the end of a source route
non route containing packet given to acceptRouteReply
route error beyond end of source route????
route error forwarding route request????
FlowstateSFs%.9f _%s_ %d [%s -> %s] %d(%d) to %d
doubleTime
stringID
intHeader UID
stringSource
stringDestination
intFlow ID
intFlow Header
intNext Hop
Established FlowstateSFESTs%.9f _%s_ %d [%s -> %s] %d(%d) to %d %s
doubleTime
stringID
intHeader UID
stringSource
stringDestination
intFlow ID
intFlow Header
intNext Hop
stringAddresses
Flow ARSSFARS%.9f _%s_ %d [%s -> %s] %d %d
doubleTime
stringID
intHeader ID
stringSource
stringDestination
intFlow ID
intAmt
Flow ErrorSFEr%.9f _%s_ from %d re %d : %d [%d]
doubleTime
stringID
intSource
intFlow Destination
intFlow ID (-1 For Default)
intCount (-1 For No Flow Index)
Unknown FlowSFErr%.5f _%s_ %d -> %d : %d
doubleTime
stringID
intSource
intFlow Destination
intFlow ID
Flow ForwardSFf%.9f _%s_ %d [%s -> %s] %d to %d
doubleTime
stringID
intHeader ID
stringSource
stringDestination
intFlow ID
intNext Hop
Interface QueueSIFQ%.5f _%s_ len %d
doubleTime
stringID
intQueue Length
Send Out Packet With RouteSO%.9f _%s_ originating %s %s
doubleTime
stringID
stringProtocol Name
stringRoute
Route Cache - SummarySRC%.9f _%s_ cache-summary %d %d %d %d | %d %.9f %d %d | %d %d %d %d %d | %d %d %d %d %d | %d %d %d %d %d %d %.9f
%.9f _%s_ cache-summary %d %d %d %d | %d %.9f %d %d | %d %d %d %d %d | %d %d %d %d %d | %d %d %d %d %d %d
doubleTime
stringID
intRoute Count
intRoute Bad Count
intSubroute Count
intSubroute Bad Count
intLink Bad Count
doubleAverage Bad Time Per Link
intLink Bad Tested
intLink Good Tested
intRoute Add Count
intRoute Add Bad Count
intSubroute Add Count
intSubroute Add Bad Count
intLink Add Tested
intRoute Notice Count
intRoute Notice Bad Count
intSubroute Notice Count
intSubroute Notice Bad Count
intLink Notice Tested
intRoute Find Count
intRoute Find For Me
intRoute Find Bad Count
intRoute Find Miss Count
intSubroute Find Count
intSubroute Find Bad Count
doubleLink Good Time (Only In First Format)
Route Cache - Node Cache Dump (only with patch)SRC%.9f _%s_ cache-dump p %d %d | %d %d %d %s | ... | s %d %d | %d %d %d %s | ... |
doubleTime
intSource Node
intPrimary Cache Current Size
intPrimary Cache Maximum Size
intCache Entry Index
intCache Entry Length
intCache Entry Address
stringCache Entry Dump
intSecondary Cache Current Size
intSecondary Cache Maximum Size
intCache Entry Index
intCache Entry Length
intCache Entry Address
stringCache Entry Dump
Route Cache - Node Cache Dump, No Primary Cache (only with patch)SRC%.9f _%s_ cache-dump s %d %d | %d %d %d %s | ... |
doubleTime
intSource Node
intSecondary Cache Current Size
intSecondary Cache Maximum Size
intCache Entry Index
intCache Entry Length
intCache Entry Address
stringCache Entry Dump
Route Cache - Find Route Cache HitSRC%.9f _%s_ $hit for %s in %s %s
doubleTime
stringID
stringDestination
stringPrimary Or Secondary Cache
stringRoute
Route Cache - Find Route Cache MissSRC%.9f _%s_ find-route [%d] %s->%s miss %d %.9f
doubleTime
stringID
intHardcoded Zero
stringID (Should Be Source???)
stringDestination
intHardcoded Zero
doubleHardcoded Zero
Route Cache - New Route Contains Cached RouteSRC%.9f _%s_ %s suffix-rule (len %d/%d) %s
doubleTime
stringID
stringCache Name (primary, secondary)
intPath Length
intRoute Length
stringRoute Dump
Route Cache - New Route Contained In CacheSRC%.9f _%s_ %s prefix-rule (len %d/%d) %s
doubleTime
stringID
stringCache Name (primary, secondary)
intPath Length
intRoute Length
stringRoute Dump
Route Cache - Discard RouteSRC%.9f _%s_ %s evicting %s
doubleTime
stringID
stringName
stringDumped Route
Route Cache - Discard RouteSRC%.9f _%s_ evicting %d %d %s
doubleTime
stringID
intRoute Length -1
intNumber Of Bad Routes
stringName
Route Cache - Add Route After Dumping RouteSRC%.9f _%s_ while adding %s
doubleTime
stringID
stringName
stringAdded Path
Route Cache - Truncating Route To Remove Dead LinkSRC%.9f _%s_ %s truncating %s %s
doubleTime
stringID
stringName
stringRoute
stringOwner
Route Cache - Truncated Or Removed Route With Dead LinkSRC%.9f _%s_ to %s %s
doubleTime
stringID
stringRoute
stringOwner
Route Cache - Dead LinkSRC%.9f _%s_ dead link %s->%s
doubleTime
stringID
stringFrom
stringTo
Route Cache - Dead LinkSRC%.9f _%s_ %s [%d %d] %s->%s dead %d %.9f
doubleTime
stringID
stringOperation In Progress (add-route, notice-route, find-route, dead-link, evicting-route, check-cache)
intRoute Length
intRoute Index
stringRoute
stringNext Route
intLink Type
doubleTime Added
Route Cache - Resurrected LinkSRC%.9f _%s_ resurrected-link [%d %d] %s->%s dead %d %.9f
doubleTime
stringID
intRoute Length
intRoute Index
stringRoute
stringNext Route
intLink Type
doubleTime Added
Route Cache - Add RouteSRC%.9f _%s_ adding rt %s from %s
doubleTime
stringID
stringRoute
stringFrom
Route Cache - Dump DijkstraSRC%.9f _%s_ dijkstra *%d* %d,%d,%d ...
doubleTime
stringID
intDestination
intIndex
intEstimated Shortest Path To Vertex (d)
intPredecessors For Vertex (pi)
Route Cache - Dump LinkSRC%.9f _%s_ dump-link %d->%d, ...
doubleTime
stringID
intIndex
intLink Destination
Route Cache - Cache Expire BitsSRC%.9f _%s_ cache-expire-bits %d %d %d %d
doubleTime
stringID
intExpire Stats 0
intExpire Stats 1
intExpire Stats 2
intExpire Stats 3
Route Request/ReplySRR%.5f _%s_ dropped %s #%d (ignored)
doubleTime
stringID
stringSource
intRoute Request Sequence
%.9f _%s_ discarding %s #%d (ifq length %d)
doubleTime
stringID
stringSource
intRoute Request Sequence
intQueue Length
%.9f _%s_ discarding %s #%d (free air time %f)
doubleTime
stringID
stringSource
intRoute Request Sequence
intFree Air Time
%.5f _%s_ dropped %s #%d (prop limit exceeded)
doubleTime
stringID
stringSource
intRoute Request Sequence
%.5f _%s_ dropped %s #%d (SR full)
doubleTime
stringID
stringSource
intRoute Request Sequence
%.5f _%s_ rebroadcast %s #%d ->%s %s
doubleTime
stringID
stringSource
intRoute Request Sequence
stringDestination
stringRoute
%.9f _%s_ cache-reply-sent %s -> %s #%d (len %d) %s
doubleTime
stringID
stringSource
stringDestination
intRequest Sequence Number
intRoute Length
stringRoute
%.5f _%s_ RR-not-sent %s -> %s
doubleTime
stringID
stringRoute Request Source
stringRoute Request Destination
%.5f _%s_ new-request %d %s #%d -> %s
doubleTime
stringID
intMaximum Propagation
stringSource
intRoute Request Sequence
stringDestination
%.9f _%s_ reply-sent %s -> %s #%d (len %d) %s
doubleTime
stringID
stringSource
stringDestination
intRoute Request Sequence
intRoute Length
stringRoute
%.9f _%s_ reply-received %d from %s  %s #%d -> %s %s
doubleTime
stringID
intGood Reply (0, 1)
stringSource
stringFirst Reply Route
intRoute Request Sequence
stringLast Reply Route
stringReply Route
%.9f _%s_ dead-link tell %d  %d -> %d
doubleTime
stringID
intReport To Address
intFrom Address
intTo Address
%.9f _%s_ gratuitous-reply-sent %s -> %s (len %d) %s
doubleTime
stringID
stringSource
stringDestination
intRoute Length
stringRoute
%.5f _%s_ --- %d dropping bad-reply %s -> %s
doubleTime
stringID
intHeader UID
stringSource
stringDestination
SalvageSsalv%.5f _%s_ salvaging %s -> %s --- %d with %s
doubleTime
stringID
stringSource
stringDestination
intHeader UID
stringRoute
%.5f _%s_ adding to SB --- %d %s -> %s [%d]
doubleTime
stringID
intHeader UID
stringSource
stringDestination
intSalvaged
%.5f _%s_ dropping --- %d %s -> %s [%d]
doubleTime
stringID
intHeader UID
stringSource
stringDestination
intSalvaged
Packet dropped by send buffer in DSR agentSsb%.5f _%s_ dropped %s -> %s
doubleTime
stringID
stringSource
stringDestination
Send FailureSSendFailure%.9f _%s_ %d %d %d:%d %d:%d %s->%s %d %d %d %d %s
doubleTime
stringID
intHeader UID
intProtocol Type
intSource
intSource Port
intDestination
intDestination Port
stringFrom ID
stringTo ID
intHops: From -> To
intHops: Source -> Destination
intHops: From -> Destination
intNumber Of Addresses
stringHeader
Transmit FailedSxmitFailed%.5f _%s_  %d->%d god okays #%d
doubleTime
stringID
intFrom ID
intTo ID
intNumber of Wrong Link Errors
Maximally Nested Flow ErrorSYFU%.5f _%s_ dumping maximally nested Flow error %d -> %d
doubleTime
stringID
intSource
intFlow Destination
Attempted To Add Bad Route To Cache%.9f _%s_ adding bad route to cache %s %s
doubleTime
stringID
stringSource
stringRoute

TORA Trace Formats

TORA traces begin with a "T", followed by one of several formats.
This information comes from the "tora/tora.cc", "tora/tora_api.cc", and "tora/tora_io.cc" source files.
EventAbbreviationTypeValue
TORA EventT%.9f _%d_ tora sendQRY %d
doubleTime
intAddress
intID
%.9f _%d_ QRY %d for %d (rtreq set)
doubleTime
intAddress
intTORA Destination Index
intIndex
%.9f _%d_ tora enq %d->%d
doubleTime
intAddress
intSource
intDestination
%.9f _%d_ received `UPD` from non-neighbor %d
doubleTime
intAddress
intSource
%.9f _%d_ received `CLR` from non-neighbor %d
doubleTime
intAddress
intSource

Mobile node movement and energy trace formats

Mobile node traces begin with "M" or "N". This information comes from the "common/mobilenode.cc" source file.
EventAbbreviationTypeValue
Mobile Node MovementM%.5f %d (%.2f, %.2f, %.2f), (%.2f, %.2f), %.2f
doubleTime
intAddress (Node ID?)
doubleX Coordinate
doubleY Coordinate
doubleZ Coordinate
doubleDestination X Coordinate
doubleDestination Y Coordinate
doubleMovement Speed
Mobile Node EnergyN-t %f -n %d -e %f
doubleTime
intAddress (Node ID?)
doubleEnergy

how to get new trace format

By default the trace file output is in old format to get the new trace format just the following.


                        "$ns use-newtrace"


We have to use this command in our script to get the out-put in new-trace format.


Put this command just before "$ns trace-all trace-fd".


The new trace format is very easy to read and getting result from it is very easy.


The new trace  format is currently supporting only wireless traces and in near future it will be supporting wired traces.