inet
inet copied to clipboard
transport route visualizer
The transportRouteVisualizer does not work for this specific TCP scenario.
Simulation configuration:
[Config Step1]
description = Dynamic routing with AODV when nodes are fixed
network = Network
*.configurator.addStaticRoutes = false
*.*.aodv.ttlStart = 4
# TCP parameters
*.source.numApps = 1
*.source.app[0].typename = "TcpSessionApp"
*.source.app[0].connectAddress = "destination"
*.source.app[0].connectPort = 10
*.source.app[0].sendBytes = 100MiB
*.destination.numApps = 1
*.destination.app[0].typename = "TcpSinkApp"
*.destination.app[0].localPort = 10
*.*.ipv4.arpType = "GlobalArp"
# wlan parameters
*.*.wlan[*].radio.transmitter.power = 2mW
# AODV RREQ
*.rreqVisualizer.*.displayLinks = true
*.rreqVisualizer.*.packetFilter = "aodv::Rreq"
*.rreqVisualizer.*.fadeOutMode = "simulationTime"
*.rreqVisualizer.*.fadeOutTime = 0.002s
# AODV RREP
*.rrepVisualizer.*.displayLinks = true
*.rrepVisualizer.*.packetFilter = "aodv::Rrep"
*.rrepVisualizer.*.fadeOutMode = "simulationTime"
*.rrepVisualizer.*.fadeOutTime = 5s
*.rrepVisualizer.*.lineColor = "blue"
*.rrepVisualizer.*.labelColor = "blue"
# AODV RERR
*.rerrVisualizer.*.displayLinks = true
*.rerrVisualizer.*.packetFilter = "aodv::Rerr"
*.rerrVisualizer.*.fadeOutMode = "simulationTime"
*.rerrVisualizer.*.fadeOutTime = 0.002s
*.rerrVisualizer.*.lineColor = "red"
*.rerrVisualizer.*.labelColor = "red"
*.visualizer.transportRouteVisualizer.displayRoutes = true
*.visualizer.transportRouteVisualizer.fadeOutTime = 1s
Network Description:
import inet.visualizer.integrated.IntegratedCanvasVisualizer;
import inet.visualizer.linklayer.DataLinkVisualizer;
import inet.networklayer.configurator.ipv4.Ipv4NetworkConfigurator;
import inet.physicallayer.ieee80211.packetlevel.Ieee80211ScalarRadioMedium;
import inet.node.inet.AdhocHost;
import inet.node.aodv.AodvRouter;
import inet.common.scenario.ScenarioManager;
network Network
{
parameters:
@display("bgb=659.36,730.368");
@figure[rcvdPkText](type=indicatorText; pos=400,650; anchor=w; font=,18; textFormat="# received messages: %g"; initialValue=0);
@statistic[numPacketReceived](source=destination.app[0].packetReceived; record=figure(count); targetFigure=rcvdPkText);
submodules:
visualizer: IntegratedCanvasVisualizer {
@display("p=100.172,205.416");
}
rreqVisualizer: DataLinkVisualizer {
@display("p=98.904,285.3");
}
rrepVisualizer: DataLinkVisualizer {
@display("p=98.904,366.452");
}
rerrVisualizer: DataLinkVisualizer {
@display("p=100.172,439.996");
}
configurator: Ipv4NetworkConfigurator {
@display("p=100.172,45.648");
}
radioMedium: Ieee80211ScalarRadioMedium {
@display("p=97.636,125.532");
}
scenarioManager: ScenarioManager {
@display("p=100.172,524.952");
}
source: AodvRouter {
@display("p=229.00801,68.996");
}
destination: AodvRouter {
@display("p=488.84402,535.82");
}
aodvRouter1: AodvRouter {
@display("p=421.316,318.556");
}
aodvRouter2: AodvRouter {
@display("p=274.516,463.888");
}
aodvRouter3: AodvRouter {
@display("p=306.812,211.392");
}
aodvRouter4: AodvRouter {
@display("p=563.71204,350.85202");
}
aodvRouter5: AodvRouter {
@display("p=421.316,99.824005");
}
}
Thanks for reporting!
This is a known limitation of the visualization feature. Currently, there's no support for identifying parts of the data which go through representation merging/splitting in the underlying network. Unfortunately, this is generally the case. The solution would be that the data should be tagged with color at the sender and followed through the network piece by piece until it reaches the receiver. Then all paths that the parts take could be visualized.
I leave this bug issue open, I expect this to be implemented after INET 4.0.