[General] **.vector-recording = false **.agingTime = 1s # Switch Ethernet interface configuration **.switch*.llc.typename = "Ieee8022Llc" **.switch*.eth[*].typename = "LayeredEthernetInterface" **.switch*.ethernet.typename = "EthernetLayer" **.switch*.eth[*].bitrate = 1Gbps **.macLayer.server.serveSchedulingPriority = -1 # Host Ethernet interface configuration **.host*.encap.typename = "" **.host*.llc.typename = "Ieee8022Llc" **.host*.eth.typename = "LayeredEthernetInterface" **.host*.ethernet.typename = "EthernetLayer" **.host*.eth.bitrate = 1Gbps **.eth*.displayStringTextFormat = "" **.visualize = true *.visualizer.interfaceTableVisualizer[*].displayInterfaceTables = true *.visualizer.interfaceTableVisualizer[*].format = "%d" *.stpTester.displayStringTextFormat = "loopfree: {loopfree}\nconnected: {connected}\ntree: {tree}" *.switch*.macTable.displayStringTextFormat = "{forwardingTable}" *.pcapRecorder.moduleNamePatterns = ".^" *.pcapRecorder.pcapFile = "${resultdir}/${configname}-${runnumber}.pcap" **.checksumMode = "computed" **.fcsMode = "computed" #*.visualizer.numDataLinkVisualizers = 2 #*.visualizer.dataLinkVisualizer[0].displayLinks = false #*.visualizer.dataLinkVisualizer[1].displayLinks = true #*.visualizer.dataLinkVisualizer[*].activityLevel = "protocol" #*.visualizer.dataLinkVisualizer[0].packetFilter = "stp* or BPDU or rstp*" #*.visualizer.dataLinkVisualizer[1].packetFilter = "not (stp* or BPDU or rstp*)" #*.visualizer.dataLinkVisualizer[1].lineColor = "blue" #*.visualizer.dataLinkVisualizer[1].labelFormat = "" # --------------------------------------------------------------- [Config Step1] description = "Broadcast loops without STP" network = LoopNetwork sim-time-limit = 20s # Fixed MAC addresses so we can set destAddress **.switch1.**.address = "AAAAAA000001" **.switch2.**.address = "AAAAAA000002" **.switch3.**.address = "AAAAAA000003" # host1 sends frames to host2 continuously **.host1.cli.destAddress = "host2" **.host1.cli.startTime = 0s **.host1.cli.sendInterval = 1s # --------------------------------------------------------------- [Config Step2] description = "Basic STP operation - root elected by MAC" network = StpSwitchNetwork sim-time-limit = 100s **.hasStp = true **.spanningTreeProtocol = "Stp" **.switch1.**.address = "AAAAAA000001" **.switch2.**.address = "AAAAAA000002" **.switch3.**.address = "AAAAAA000003" **.switch4.**.address = "AAAAAA000004" **.switch5.**.address = "AAAAAA000005" **.switch6.**.address = "AAAAAA000006" **.switch7.**.address = "AAAAAA000007" **.host2.cli.destAddress = "host1" **.host2.cli.startTime = 60s # --------------------------------------------------------------- [Config Step3] description = "Root bridge election by bridge priority" extends = Step2 # switch3 becomes root due to lower priority (default is 32768) **.switch3.**.bridgePriority = 1 # --------------------------------------------------------------- [Config Step4] description = "STP convergence time - observing port states" extends = Step2 sim-time-limit = 200s # Start traffic after STP has converged (~50s) **.host2.cli.startTime = 60s # --------------------------------------------------------------- [Config Step5] description = "Topology change with STP - switch failure and recovery" network = StpLargeNet sim-time-limit = 1000s **.hasStp = true **.spanningTreeProtocol = "Stp" **.hasStatus = true **.script = xmldoc("failure.xml") **.switch1.**.address = "AAAAAA000001" **.switch2.**.address = "AAAAAA000002" **.switch3.**.address = "AAAAAA000003" **.switch4.**.address = "AAAAAA000004" **.switch5.**.address = "AAAAAA000005" **.switch6.**.address = "AAAAAA000006" **.switch7.**.address = "AAAAAA000007" **.switch8.**.address = "AAAAAA000008" **.switch9.**.address = "AAAAAA000009" **.switch10.**.address = "AAAAAA00000A" **.switch11.**.address = "AAAAAA00000B" **.host2.cli.destAddress = "host1" **.host3.cli.destAddress = "host1" **.host4.cli.destAddress = "host6" **.host5.cli.destAddress = "host3" **.host6.cli.destAddress = "host3" **.host*.cli.startTime = 10ms # --------------------------------------------------------------- [Config Step6] description = "RSTP - faster convergence" network = RstpSwitchNetwork sim-time-limit = 30s **.hasStp = true **.spanningTreeProtocol = "Rstp" **.visualize = true **.switch1.**.address = "AAAAAA000001" **.switch2.**.address = "AAAAAA000002" **.switch3.**.address = "AAAAAA000003" **.switch4.**.address = "AAAAAA000004" **.switch5.**.address = "AAAAAA000005" **.switch6.**.address = "AAAAAA000006" **.switch7.**.address = "AAAAAA000007" **.host2.cli.destAddress = "host1" **.host2.cli.startTime = 15s # --------------------------------------------------------------- [Config Step7] description = "Topology change with RSTP - faster recovery" extends = Step5 network = RstpLargeNet **.spanningTreeProtocol = "Rstp" # --------------------------------------------------------------- [Config Step8] description = "Link reconnect with RSTP" extends = Step7 **.script = xmldoc("reconnect.xml") **.lifetimer.typename = "CarrierBasedLifeTimer"