Step 17c. Summary LSA¶
Goals¶
[explanation]
Configuration¶
This step uses the following network:
network OSPF_Summary_LSA
{
@display("bgb=1642.8824,629.9775");
types:
channel PppLink100M extends DatarateChannel
{
delay = 5us;
datarate = 100Mbps;
}
channel PppLink10M extends DatarateChannel
{
delay = 5us;
datarate = 10Mbps;
}
submodules:
configurator: Ipv4NetworkConfigurator {
@display("p=210.055,102.585");
}
visualizer: IntegratedCanvasVisualizer {
@display("p=473.845,102.585");
}
scenarioManager: ScenarioManager {
@display("p=744.96246,102.585");
}
R1: Router {
@display("p=564.0975,282.04874");
}
R2: Router {
@display("p=174.99374,282.04874");
}
R3: Router {
@display("p=1472.0062,282.04874");
}
R4: Router {
@display("p=1084.9613,282.04874");
}
R1A: Router {
@display("p=564.0975,516.7463");
}
R2A: Router {
@display("p=174.99374,516.7463");
}
R3A: Router {
@display("p=1472.0062,516.7463");
}
R4A: Router {
@display("p=1084.9613,516.7463");
}
connections:
R1.ethg++ <--> Eth100M <--> R2.ethg++;
R1.ethg++ <--> Eth100M <--> R4.ethg++;
R4.ethg++ <--> Eth100M <--> R3.ethg++;
R2A.ethg++ <--> Eth100M <--> R2.ethg++;
R1A.ethg++ <--> Eth100M <--> R1.ethg++;
R4A.ethg++ <--> Eth100M <--> R4.ethg++;
R3A.ethg++ <--> Eth100M <--> R3.ethg++;
}
The configuration in omnetpp.ini
is the following:
[Config Step17c]
description = "Summary LSA"
network = OSPF_Summary_LSA
# ABR expects summary LSAs from area 0 only.
# This means there should be at least one adjacency in FULL state built over area 0 interface.
# In case if ABR has such adjacency, it will ignore summary LSAs received over non-backbone areas.
# at time t=60 the link between R1 and R2 breaks. R2 will not have any full-adjacent neighbor.
# Thus it will consider all the summary routes and add them into its routing table.
*.configurator.config = xml("<config> \
<interface hosts='**' address='10.x.x.x' netmask='255.x.x.x'/> \
<route hosts='host*' destination='*' netmask='0.0.0.0' interface='eth0' /> \
</config>")
*.R*.ospf.ospfConfig = xmldoc("ASConfig_Summary.xml")
*.*.hasStatus = true
*.scenarioManager.script = xml("<scenario> \
<disconnect t='60' src-module='R1' dest-module='R2' /> \
</scenario>")
The OSPF configuration:
<?xml version="1.0"?>
<OSPFASConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="OSPF.xsd">
<!-- Areas -->
<Area id="0.0.0.0">
<AddressRange address="R2>R1" mask="R2>R1" />
<AddressRange address="R1>R2" mask="R1>R2" />
<AddressRange address="R4>R3" mask="R4>R3" />
<AddressRange address="R3>R4" mask="R3>R4" />
</Area>
<Area id="0.0.0.1">
<AddressRange address="R2>R2A" mask="R2>R2A" />
<AddressRange address="R2A>R2" mask="R2A>R2" />
</Area>
<Area id="0.0.0.2">
<AddressRange address="R1>R1A" mask="R1>R1A" />
<AddressRange address="R1A>R1" mask="R1A>R1" />
</Area>
<Area id="0.0.0.3">
<AddressRange address="R1>R4" mask="R1>R4" />
<AddressRange address="R4>R1" mask="R4>R1" />
</Area>
<Area id="0.0.0.4">
<AddressRange address="R4>R4A" mask="R4>R4A" />
<AddressRange address="R4A>R4" mask="R4A>R4" />
</Area>
<Area id="0.0.0.5">
<AddressRange address="R3>R3A" mask="R3>R3A" />
<AddressRange address="R3A>R3" mask="R3A>R3" />
</Area>
<!-- Routers -->
<Router name="R1" RFC1583Compatible="true">
<BroadcastInterface ifName="eth0" areaID="0.0.0.0" />
<BroadcastInterface ifName="eth1" areaID="0.0.0.3" />
<BroadcastInterface ifName="eth2" areaID="0.0.0.2" />
</Router>
<Router name="R2" RFC1583Compatible="true">
<BroadcastInterface ifName="eth0" areaID="0.0.0.0" />
<BroadcastInterface ifName="eth1" areaID="0.0.0.1" />
</Router>
<Router name="R3" RFC1583Compatible="true">
<BroadcastInterface ifName="eth1" areaID="0.0.0.5" />
<BroadcastInterface ifName="eth0" areaID="0.0.0.0" />
</Router>
<Router name="R4" RFC1583Compatible="true">
<BroadcastInterface ifName="eth0" areaID="0.0.0.3" />
<BroadcastInterface ifName="eth1" areaID="0.0.0.0" />
<BroadcastInterface ifName="eth2" areaID="0.0.0.4" />
</Router>
<Router name="R2A" RFC1583Compatible="true">
<BroadcastInterface ifName="eth0" areaID="0.0.0.1" />
</Router>
<Router name="R1A" RFC1583Compatible="true">
<BroadcastInterface ifName="eth0" areaID="0.0.0.2" />
</Router>
<Router name="R4A" RFC1583Compatible="true">
<BroadcastInterface ifName="eth0" areaID="0.0.0.4" />
</Router>
<Router name="R3A" RFC1583Compatible="true">
<BroadcastInterface ifName="eth0" areaID="0.0.0.5" />
</Router>
</OSPFASConfig>