[General]
sim-time-limit = 1000s
*.pcapRecorder.moduleNamePatterns = ".^"
**.checksumMode = "computed"
**.fcsMode = "computed"
# ip settings
**.ip.procDelay = 10us
# NIC configuration
**.eth[*].queue.typename = "EthernetQosQueue"
**.eth[*].queue.dataQueue.typename = "DropTailQueue"
# tcp settings
**.tcp.mss = 1024
**.tcp.advertisedWindow = 14336
#**.tcp.sendQueueClass = "TCPMsgBasedSendQueue"
#**.tcp.receiveQueueClass = "TCPMsgBasedRcvQueue"
**.tcp.tcpAlgorithmClass = "TcpReno"
*.R*.ipv4.routingTable.useAdminDist = true
*.configurator.config = xml(" \
\
\
")
*.configurator.addStaticRoutes = false
# Application parameters
*.host0.numApps = 1
*.host0.app[0].typename = "PingApp"
*.host0.app[0].destAddr = "host1"
*.host0.app[0].startTime = 100s
# Visualizer settings
*.visualizer.numRoutingTableVisualizers = 2
*.visualizer.interfaceTableVisualizer[0].displayInterfaceTables = true
#*.visualizer.interfaceTableVisualizer[0].displayWiredInterfacesAtConnections = false
*.visualizer.routingTableVisualizer[*].displayRoutingTables = true
#*.visualizer.routingTableVisualizer[*].displayRoutesIndividually = false
*.visualizer.routingTableVisualizer[0].destinationFilter = "host1"
*.visualizer.routingTableVisualizer[1].destinationFilter = "host0"
*.visualizer.routingTableVisualizer[0].lineColor = "blue"
*.visualizer.routingTableVisualizer[1].lineColor = "red"
*.visualizer.routingTableVisualizer[*].labelFormat = "%d/%m (%e) -> %g (%n)" # display metric
*.visualizer.routingTableVisualizer[*].lineStyle = "dashed"
# ---------------------------------------------------------------
[Config Step1]
description = "BGP Basic Topology"
network = BGP_Basic_Topology
*.routingTableRecorder.logfile = "step1.rt"
*.pcapRecorder.pcapFile = "step1.pcap"
# BGP configuration
*.R*.hasBgp = true
*.R*.bgp.bgpConfig = xmldoc("BGPConfig_Basic.xml")
*.visualizer.routingTableVisualizer[1].displayRoutingTables = false
*.visualizer.routingTableVisualizer[*].lineShift = 80
*.visualizer.routingTableVisualizer[*].destinationFilter = "*"
*.visualizer.routingTableVisualizer[*].lineColor = "black"
# ---------------------------------------------------------------
[Config Step2]
description = "BGP Scenario with E-BGP session only"
network = BGP_Topology_1
*.routingTableRecorder.logfile = "step2.rt"
*.pcapRecorder.pcapFile = "step2.pcap"
*.configurator.config = xml(" \
\
\
\
\
\
\
\
\
\
\
\
\
")
# OSPF configuration
*.R*.hasOspf = true
*.R*.ospf.ospfConfig = xmldoc("OSPFConfig_EBGP.xml")
*.RA4.ipv4.routingTable.routerId = "10.0.0.5"
*.RB1.ipv4.routingTable.routerId = "20.0.0.18"
# BGP configuration
*.RA4.hasBgp = true
*.RB1.hasBgp = true
*.R*.bgp.bgpConfig = xmldoc("BGPConfig_EBGP.xml")
# enable OSPF redistribution
*.RA4.bgp.redistributeOspf = "O IA"
*.RB1.bgp.redistributeOspf = "O IA"
# ---------------------------------------------------------------
[Config Step3]
description = "BGP Path Attributes"
network = BGP_Topology_1a
*.routingTableRecorder.logfile = "step3.rt"
*.pcapRecorder.pcapFile = "step3.pcap"
*.configurator.config = xml(" \
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
")
# OSPF configuration
*.R*.hasOspf = true
*.R*.ospf.ospfConfig = xmldoc("OSPFConfig_FullAS.xml")
*.RA4.ipv4.routingTable.routerId = "10.0.0.5"
*.RB1.ipv4.routingTable.routerId = "20.0.0.18"
*.RC2.ipv4.routingTable.routerId = "30.0.0.22"
*.RD3.ipv4.routingTable.routerId = "40.0.0.17"
# BGP configuration
*.RA4.hasBgp = true
*.RB1.hasBgp = true
*.RC2.hasBgp = true
*.RD3.hasBgp = true
*.R*.bgp.bgpConfig = xmldoc("BGPConfig_FullAS.xml")
# enable OSPF redistribution
*.RA4.bgp.redistributeOspf = "O IA"
*.RB1.bgp.redistributeOspf = "O IA"
*.RC2.bgp.redistributeOspf = "O IA"
*.RD3.bgp.redistributeOspf = "O IA"
# ---------------------------------------------------------------
[Config Step4]
description = "BGP Scenario with I-BGP over directly-connected BGP speakers"
network = BGP_Topology_2
*.routingTableRecorder.logfile = "step4.rt"
*.pcapRecorder.pcapFile = "step4.pcap"
# adding default routes in RA4 and RC1 and ask OSPF to distribute it within the AS
*.configurator.config = xml(" \
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
")
# OSPF configuration
*.RB{1,2}.hasOspf = false
*.R*.hasOspf = true
*.R*.ospf.ospfConfig = xmldoc("OSPFConfig_IBGP.xml")
*.RA4.ipv4.routingTable.routerId = "10.0.0.5"
*.RC1.ipv4.routingTable.routerId = "30.0.0.5"
# BGP configuration
*.RA4.hasBgp = true
*.RB1.hasBgp = true
*.RB2.hasBgp = true
*.RC1.hasBgp = true
*.R*.bgp.bgpConfig = xmldoc("BGPConfig_IBGP.xml")
# enable OSPF redistribution
*.RA4.bgp.redistributeOspf = "O IA"
*.RC1.bgp.redistributeOspf = "O IA"
# ---------------------------------------------------------------
[Config Step4a]
description = "Enable nextHopSelf on RB1 and RB2"
extends = Step4
*.routingTableRecorder.logfile = "step4a.rt"
*.pcapRecorder.pcapFile = "step4a.pcap"
# set nextHopSelf in both RB1 and RB2. They change next hop to
# themselfe before forwarding Update message to the other peer
*.R*.bgp.bgpConfig = xmldoc("BGPConfig_IBGP_NextHopSelf.xml")
# ---------------------------------------------------------------
[Config Step5]
description = "BGP Scenario with I-BGP over not directly-connected BGP speakers"
network = BGP_Topology_3
*.routingTableRecorder.logfile = "step5.rt"
*.pcapRecorder.pcapFile = "step5.pcap"
# adding default routes in RA4 and RC1 and ask OSPF to distribute it within the AS
*.configurator.config = xml(" \
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
")
# OSPF configuration
*.R*.hasOspf = true
*.R*.ospf.ospfConfig = xmldoc("OSPFConfig_Multi.xml")
*.RA4.ipv4.routingTable.routerId = "10.0.0.5"
*.RC1.ipv4.routingTable.routerId = "30.0.0.5"
*.RB1.ipv4.routingTable.routerId = "20.0.0.5"
*.RB2.ipv4.routingTable.routerId = "20.0.0.1"
# BGP configuration
*.RA4.hasBgp = true
*.RB1.hasBgp = true
*.RB2.hasBgp = true
*.RC1.hasBgp = true
*.R*.bgp.bgpConfig = xmldoc("BGPConfig_Multi.xml")
# enable OSPF redistribution
*.RA4.bgp.redistributeOspf = "O IA"
*.RC1.bgp.redistributeOspf = "O IA"
*.RB1.bgp.redistributeOspf = "O IA"
*.RB2.bgp.redistributeOspf = "O IA"
# ---------------------------------------------------------------
[Config Step5a]
description = "BGP internal distribution"
extends = Step5
*.routingTableRecorder.logfile = "step5a.rt"
*.pcapRecorder.pcapFile = "step5a.pcap"
# BGP routes are distributed internally within the AS
*.RB{1,2}.bgp.redistributeInternal = true
# ---------------------------------------------------------------
[Config Step5b]
description = "Enabling BGP on RB3"
extends = Step5
*.routingTableRecorder.logfile = "step5b.rt"
*.pcapRecorder.pcapFile = "step5b.pcap"
# enable BGP on RB3
*.RB3.hasBgp = true
*.R*.bgp.bgpConfig = xmldoc("BGPConfig_Multi_RB3.xml")
# ---------------------------------------------------------------
[Config Step6]
description = "BGP Scenario and using loopbacks"
network = BGP_Topology_4
*.routingTableRecorder.logfile = "step6.rt"
*.pcapRecorder.pcapFile = "step6.pcap"
# adding default routes in RA4 and RC1 and ask OSPF to distribute it within the AS
*.configurator.config = xml(" \
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
")
# OSPF configuration
*.R*.hasOspf = true
*.R*.ospf.ospfConfig = xmldoc("OSPFConfig.xml")
*.RA4.ipv4.routingTable.routerId = "10.0.0.5"
*.RC1.ipv4.routingTable.routerId = "30.0.0.5"
*.RB1.ipv4.routingTable.routerId = "20.0.0.18"
*.RB4.ipv4.routingTable.routerId = "20.0.0.14"
# BGP configuration
*.RA4.hasBgp = true
*.RB1.hasBgp = true
*.RB4.hasBgp = true
*.RC1.hasBgp = true
*.R*.bgp.bgpConfig = xmldoc("BGPConfig_Redist.xml")
*.R*.bgp.redistributeOspf = "O IA"
# BGP routes are distributed internally within the AS
#*.RB1.bgp.redistributeInternal = true
#*.RB4.bgp.redistributeInternal = true
# enable BGP on RB2 and RB3
*.RB2.hasBgp = true
*.RB3.hasBgp = true
# ---------------------------------------------------------------
[Config Step7]
description = "BGP with RIP redistribution"
network = BGP_Topology_4
*.routingTableRecorder.logfile = "step7.rt"
*.pcapRecorder.pcapFile = "step7.pcap"
*.configurator.config = xml(" \
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
")
# RIP configuration
*.R*.hasRip = true
*.R*.rip.ripConfig = xmldoc("RIPConfig.xml")
# BGP configuration
*.RA4.hasBgp = true
*.RB1.hasBgp = true
*.RB4.hasBgp = true
*.RC1.hasBgp = true
*.R*.bgp.bgpConfig = xmldoc("BGPConfig_Redist.xml")
*.R*.bgp.redistributeRip = true
# enable BGP on RB2 and RB3
*.RB2.hasBgp = true
*.RB3.hasBgp = true
# ---------------------------------------------------------------
[Config Step8]
description = "BGP with OSPF and RIP redistribution"
network = BGP_Topology_4
*.routingTableRecorder.logfile = "step8.rt"
*.pcapRecorder.pcapFile = "step8.pcap"
# adding default routes in RA4 and RC1. RIP and OSPF will distribute it within the AS
*.configurator.config = xml(" \
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
")
# RIP configuration
*.RA*.hasRip = true
*.RC*.hasRip = true
*.R*.rip.ripConfig = xmldoc("RIPConfig.xml")
# OSPF configuration
*.RB*.hasOspf = true
*.RB*.ospf.ospfConfig = xmldoc("OSPFConfig.xml")
# BGP configuration
*.RA4.hasBgp = true
*.RB1.hasBgp = true
*.RB4.hasBgp = true
*.RC1.hasBgp = true
*.R*.bgp.bgpConfig = xmldoc("BGPConfig_Redist.xml")
*.R*.bgp.redistributeRip = true
*.R*.bgp.redistributeOspf = "O IA"
# enable BGP on RB2 and RB3
*.RB2.hasBgp = true
*.RB3.hasBgp = true
# ---------------------------------------------------------------
[Config Step9]
description = "Using Network attribute to advertise specific networks"
network = BGP_Topology_4
*.routingTableRecorder.logfile = "step9.rt"
*.pcapRecorder.pcapFile = "step9.pcap"
# this example shows how to advertise selective networks in BGP using the 'Network' attribute
*.configurator.config = xml(" \
\
\
\
\
\
\
\
\
\
\
\
\
\
\
")
# OSPF configuration
*.R*.hasOspf = true
*.R*.ospf.ospfConfig = xmldoc("OSPFConfig.xml")
# BGP configuration
*.RA4.hasBgp = true
*.RB1.hasBgp = true
*.RB4.hasBgp = true
*.RC1.hasBgp = true
*.R*.bgp.bgpConfig = xmldoc("BGPConfig.xml")
# ---------------------------------------------------------------
[Config Step10]
description = "LOCAL_PREF Attribute"
network = BGP_LOCAL_PREF
*.routingTableRecorder.logfile = "step10.rt"
*.pcapRecorder.pcapFile = "step10.pcap"
*.configurator.config = xml(" \
\
\
\
\
\
\
\
\
\
\
")
# OSPF configuration
*.RB*.hasOspf = true
*.RB*.ospf.ospfConfig = xmldoc("OSPFConfig_LOCAL_PREF.xml")
*.R*.hasBgp = true
*.R*.bgp.bgpConfig = xmldoc("BGPConfig_LOCAL_PREF.xml")
*.visualizer.routingTableVisualizer[1].displayRoutingTables = false
#*.visualizer.routingTableVisualizer[*].lineShift = 80
*.visualizer.routingTableVisualizer[*].destinationFilter = "*"
*.visualizer.routingTableVisualizer[*].lineColor = "black"
# ---------------------------------------------------------------
[Config Step11]
description = "Multi-hop E-BGP"
network = Multihop_EBGP
*.routingTableRecorder.logfile = "step11.rt"
*.pcapRecorder.pcapFile = "step11.pcap"
*.configurator.config = xml(" \
\
\
\
\
\
\
")
*.RA.hasBgp = true
*.RB.hasBgp = true
*.R*.bgp.bgpConfig = xmldoc("BGPConfig_MultiHopEBGP.xml")
# ---------------------------------------------------------------