Search code examples
unetstack

Routing Information Using trace.json file


Can I get the routing information using the trace.json file? Suppose I created a 3-node network.

node 'A', address: 1, location: [ 0.km, 0.km, 0.m], 
node 'B', address: 2, location: [ 0.km, 0.km, -900.m],
node 'C', address: 3, location: [ 0.km, 0.km, -1800.m],

added route from A to C via B addroute 3, 2 and added route from C to A via B addroute 1, 2 from node-A, I am sending a msg tell 3, 'hello' However, in trace.json the threadID or the messageID generated for the datagram at the source(Node-A) is not the same when that datagram is forwarded at the intermediate node (Node-B). If I can get the routing information from the trace.json file I can trace the data packet from source to destination and calculate the end-to-end delay for the packets transmitted between source and sink. Is information regarding the routing of the network logged in the trace.json file?


Solution

  • What you're looking for is perhaps not routing information, but rather a way to associate datagrams on different nodes?

    The threadID on each node is typically different, as the threadID is internal to the stack and is not passed across nodes. It is still possible to associate the threadIDs on different nodes by analyzing the TX messages in a simulation, and finding the threadID on the sending and receiving side of each. This is demonstrated in the traceviz tool. The code isn't difficult, if you want to look through to see how it's done.

    P.S. If you wanted to keep track of routing information, you should find the relevant EditRouteReq messages in the trace.